import SwiftUI struct SettingsSectionThumbnailsView: View { @EnvironmentObject var settings: SettingsManager @State private var isShowingContentFiltering = false var body: some View { Form { Section(header: Text("Thumbnail Quality")) { Picker("Thumbnail Quality", selection: $settings.thumbnailQuality) { ForEach(BooruPostFileType.allCases, id: \.self) { type in Text(type.rawValue.capitalized).tag(type) } } } Section(header: Text("Grid Layout")) { #if os(macOS) Picker("Thumbnail Grid Columns", selection: $settings.thumbnailGridColumns) { ForEach(1...10, id: \.self) { columns in Text("\(columns)") } } #else Stepper( "Thumbnail Grid Columns: \(settings.thumbnailGridColumns)", value: $settings.thumbnailGridColumns, in: 1...10 ) #endif Toggle("Uniform Thumbnail Size", isOn: $settings.uniformThumbnailGrid) Toggle("Lazy Thumbnail Loading", isOn: $settings.alternativeThumbnailGrid) } Section(header: Text("Content Filtering")) { #if os(macOS) Button("Content Filtering") { isShowingContentFiltering.toggle() } .sheet(isPresented: $isShowingContentFiltering) { SettingsSectionContentRatingsView() .frame(minHeight: 250) } .trailingFrame() #else NavigationLink(destination: SettingsSectionContentRatingsView()) { Text("Content Filtering") } #endif } } #if os(macOS) .formStyle(.grouped) #endif .navigationTitle("Thumbnails") #if !os(macOS) .navigationBarTitleDisplayMode(.large) #endif } } #Preview { NavigationStack { SettingsSectionThumbnailsView() .environmentObject(SettingsManager()) } }