import SwiftUI struct GenericItemView: View { @EnvironmentObject var settings: SettingsManager let item: T let removeAction: (UUID) -> Void @ViewBuilder private func itemContent(includeSpacer: Bool = false) -> some View { Text(item.tags.joined(separator: ", ").lowercased()) if includeSpacer { Spacer() } Text("On \(item.date.formatted()) from \(item.provider.rawValue)") .font(.caption) .foregroundStyle(Color.secondary) if let folder = item.folder, let folderName = settings.folderName(forID: folder) { Text("In \(folderName)") .font(.caption) .foregroundStyle(Color.secondary) } if includeSpacer { Spacer() } } var body: some View { #if os(macOS) HStack { VStack(alignment: .leading) { itemContent(includeSpacer: true) } } #else VStack(alignment: .leading) { itemContent() } #endif } }