import SwiftUI

struct ContentView: View {
    @Environment(SyncEngine.self) private var syncEngine

    @AppStorage(ProjectsNaming.storageKey) private var namingRaw = ProjectsNaming.projects.rawValue
    private var naming: ProjectsNaming { ProjectsNaming(rawValue: namingRaw) ?? .projects }

    var body: some View {
        if syncEngine.iCloudStatus == .unavailable {
            ICloudGateView()
        } else {
            TabView {
                Tab("Notes", systemImage: "square.and.pencil") {
                    NotesListView()
                }

                Tab(naming.plural, systemImage: "folder") {
                    ProjectsView()
                }

                Tab("Tags", systemImage: "tag") {
                    TagsView()
                }

                Tab("Settings", systemImage: "gearshape") {
                    SettingsView()
                }

                // role: .search renders as the separated magnifier tab at the
                // trailing edge of the tab bar on iOS 26.
                Tab("Search", systemImage: "magnifyingglass", role: .search) {
                    SearchView()
                }
            }
        }
    }
}
