import SwiftUI

@main
struct DitherCamApp: App {

    private let renderer = DitherRenderer()

    var body: some Scene {
        WindowGroup {
            if let renderer = renderer {
                ContentView(renderer: renderer)
            } else {
                UnsupportedView()
            }
        }
    }
}

struct UnsupportedView: View {
    var body: some View {
        ZStack {
            Color.black.ignoresSafeArea()
            VStack(spacing: 12) {
                Text("Renderer Unavailable")
                    .font(.system(size: 17, weight: .semibold, design: .monospaced))
                    .foregroundStyle(.white)
                Text("Metal could not be initialised, or DitherShaders.txt is missing from the Resources folder.")
                    .font(.system(size: 13, design: .monospaced))
                    .foregroundStyle(.white.opacity(0.7))
                    .multilineTextAlignment(.center)
            }
            .padding(32)
        }
    }
}
