//
//  GetMoreRatingsScreen.swift
//  Sequoia
//
//  Created by Victor on 09/10/2024.
//

import SwiftUI

struct GetMoreRatingsScreen: View {
    @ObservedObject var viewModel: PromotionalScreenViewModel
    @State private var navigateToNext = false

    var body: some View {
        VStack(spacing: 16) {
            VStack(spacing: 32) {
                // Vous ne recevez pas assez de demandes car vous n’avez pas assez d’avis.
                SQText("Vous n’obtenez pas de réponses positives car vous n’avez pas assez d’avis.")
                    .sqSize(20)
                    .sqFont(.bold)
                    .multilineTextAlignment(.center)
                RatingStarsView()
                VStack {
                    SQText("À partir de")
                    SQText("4 avis")
                        .sqSize(32)
                        .sqFont(.bold)
                        .foregroundStyle(Color.sqGold())
                    SQText("les chances d’être sélectionné augmentent considérablement.")
                        .multilineTextAlignment(.center)
                }
                VStack {
                    SQText("Le saviez-vous ?")
                        .sqFont(.semiBold)
                    SQText("Vous pouvez recueillir des avis auprès de vos clients hors AlloVoisins pour faire décoller votre activité.")
                        .multilineTextAlignment(.center)
                }
                SQButton("Recueillir des avis") {
                    navigateToNext = true
                }
                .sqColorScheme(.gold)
            }
            .padding(16)
            .background(Color.sqGold(10))
            .cornerRadius(8)

            SQButton("J’ai compris, mais je souhaite résilier") {
                navigateToNext = true
            }
            .sqButtonType(.glass)
            .sqTextSize(13)
        }
        .navigationDestination(isPresented: $navigateToNext) {
            if let screen = viewModel.nextPromotionalScreen {
                viewModel.getPromotionalScreenNew(for: screen)
            } else {
                ResiliationConfirmationScreen()
            }
        }
        .sqNavigationBar(title: "Ne partez pas !")
        .padding()
    }
}

#Preview {
    GetMoreRatingsScreen(viewModel: PromotionalScreenViewModel())
}
