diff options
| author | Fuwn <[email protected]> | 2025-02-28 03:33:21 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-28 03:33:21 -0800 |
| commit | e084ee2714c76f9081d4c57d07dec7ddd21783c2 (patch) | |
| tree | c0798a5d409bd320d89905952475298ee8bec79f /Sora/Views/GenericItemView.swift | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-e084ee2714c76f9081d4c57d07dec7ddd21783c2.tar.xz sora-testing-e084ee2714c76f9081d4c57d07dec7ddd21783c2.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Views/GenericItemView.swift')
| -rw-r--r-- | Sora/Views/GenericItemView.swift | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Sora/Views/GenericItemView.swift b/Sora/Views/GenericItemView.swift new file mode 100644 index 0000000..f2d70cb --- /dev/null +++ b/Sora/Views/GenericItemView.swift @@ -0,0 +1,40 @@ +import SwiftUI + +struct GenericItemView<T: ItemViewModel>: View { + @EnvironmentObject var settings: SettingsManager + let item: T + let removeAction: (UUID) -> Void + + var body: some View { +#if os(macOS) + HStack { + VStack(alignment: .leading) { + Text(item.tags.joined(separator: ", ").lowercased()) + + Spacer() + + Text("On \(item.date.formatted()) from \(item.provider.rawValue)") + .font(.caption) + .foregroundStyle(Color.secondary) + } + + Spacer() + + Button { + removeAction(item.id) + } label: { + Image(systemName: "trash") + } + } + .padding() +#else + VStack(alignment: .leading) { + Text(item.tags.joined(separator: ", ").lowercased()) + + Text("On \(item.date.formatted()) from \(item.provider.rawValue)") + .font(.caption) + .foregroundStyle(Color.secondary) + } +#endif + } +} |