diff options
author | Shav Kinderlehrer <[email protected]> | 2024-01-13 02:20:20 -0500 |
---|---|---|
committer | Shav Kinderlehrer <[email protected]> | 2024-01-13 02:20:20 -0500 |
commit | 4c98eef1201c42100597d0093988db60b03b0e32 (patch) | |
tree | 137c8d612bbbfa2d79f60276801f94b1f0eb568a /Jel/Views/Item/Person/ItemPersonDetailView.swift | |
parent | 6b8d3372d21149ed0efb4d43bf0cab44bd24f9a4 (diff) | |
download | jel-4c98eef1201c42100597d0093988db60b03b0e32.tar.gz jel-4c98eef1201c42100597d0093988db60b03b0e32.zip |
Start implementing ItemPersonView
Diffstat (limited to 'Jel/Views/Item/Person/ItemPersonDetailView.swift')
-rw-r--r-- | Jel/Views/Item/Person/ItemPersonDetailView.swift | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Jel/Views/Item/Person/ItemPersonDetailView.swift b/Jel/Views/Item/Person/ItemPersonDetailView.swift new file mode 100644 index 0000000..5e0bddf --- /dev/null +++ b/Jel/Views/Item/Person/ItemPersonDetailView.swift @@ -0,0 +1,47 @@ +// +// ItemPersonDetailView.swift +// Jel +// +// Created by zerocool on 1/13/24. +// + +import SwiftUI +import JellyfinKit + +struct ItemPersonDetailView: View { + @StateObject var authState: AuthStateController = AuthStateController.shared + @EnvironmentObject var jellyfinClient: JellyfinClientController + + var person: BaseItemPerson + + @State var personItem: BaseItemDto? + @State var loading: Bool = true + + var body: some View { + VStack { + if loading { + ProgressView() + .progressViewStyle(.circular) + } + + if let personItem = personItem { + ItemView(item: personItem) + } + } + .onAppear { + Task { + let request = Paths.getItem(userID: authState.userId ?? "", itemID: person.id ?? "") + + do { + let res = try await jellyfinClient.send(request) + personItem = res.value + loading = false + } catch {} + } + } + } +} + +//#Preview { +// ItemPersonDetailView() +//} |