import SwiftUI

struct NeedUpdateView: View {
    let title: String
    let message: String
    let onUpdate: () -> Void

    var body: some View {
        ZStack {
            LinearGradient(
                colors: [Color(.systemBackground), Color(.systemGray6)],
                startPoint: .top,
                endPoint: .bottom
            )
            .ignoresSafeArea()

            VStack(spacing: 24) {
                Spacer()

                Image(systemName: "exclamationmark.triangle.fill")
                    .font(.system(size: 56, weight: .bold))
                    .foregroundColor(.orange)
                    .accessibilityHidden(true)

                VStack(spacing: 12) {
                    Text(title)
                        .font(.title2.weight(.semibold))
                        .multilineTextAlignment(.center)

                    Text(message)
                        .font(.body)
                        .multilineTextAlignment(.center)
                        .foregroundColor(.secondary)
                }

                Button(action: onUpdate) {
                    Text(NSLocalizedString("Обновить приложение", comment: ""))
                        .font(.headline)
                        .frame(maxWidth: .infinity)
                        .padding()
                        .background(Color.accentColor)
                        .foregroundColor(.white)
                        .cornerRadius(14)
                }

                Spacer()
            }
            .padding(32)
            .frame(maxWidth: 480)
        }
        .frame(maxWidth: .infinity, maxHeight: .infinity)
        .accessibilityElement(children: .contain)
    }
}

struct NeedUpdateView_Previews: PreviewProvider {
    static var previews: some View {
        NeedUpdateView(title: "Требуется обновление",
                        message: "Эта версия приложения устарела и больше не поддерживается.",
                        onUpdate: {})
    }
}
