import SwiftUI struct WelcomeScreen: View { @EnvironmentObject var clientsStore: ClientsStore @Environment(\.router) var router var body: some View { ZStack { // background Color.Material.Background.light .ignoresSafeArea() if clientsStore.listState == .allDisabled { VStack { HStack { Spacer() Image(systemName: "gear") .foregroundColor(.Material.Elements.active) .tappablePadding(.symmetric(10)) { router.showScreen(.push) { _ in SettingsScreen() .environment(\.settingsParent, .welcome) .navigationBarHidden(true) } } } .padding() Spacer() } } // content VStack(spacing: 32) { // icon Image.logo .resizable() .aspectRatio(contentMode: .fit) .frame(width: 120, height: 120) // texts VStack(spacing: 10) { Text(L10n.Global.name) .font(.head1r) .foregroundColor(.Material.Text.main) .fixedSize(horizontal: true, vertical: false) Text(L10n.Start.subtitle) .font(.body2) .foregroundColor(.Material.Text.sub) .fixedSize(horizontal: false, vertical: true) .multilineTextAlignment(.center) } // buttons VStack(spacing: 16) { Button { router.showScreen(.push) { _ in LoginScreen() .navigationBarBackButtonHidden(true) } } label: { Text(L10n.Start.Btn.login) } .buttonStyle(SecondaryButtonStyle()) Button { router.showScreen(.push) { _ in RegistrationScreen() .navigationBarBackButtonHidden(true) } } label: { Text(L10n.Start.Btn.register) } .buttonStyle(PrimaryButtonStyle()) } } .padding(.horizontal, 32) } } }