import ComponentLibrary
import ComposableArchitecture
import FeatureOnboardingModels
import Localization
import SwiftUI

struct MadlibsNameEntryScreen: View {
    @Bindable var store: StoreOf<NameEntry>

    init(store: StoreOf<NameEntry>) {
        self.store = store
    }

    var body: some View {
        MadlibsStyledTextField(
            title: L10n.FeatureOnboarding.madlibsNameQuestion,
            subtitle: L10n.FeatureOnboarding.nameSubtitle,
            placeholder: L10n.FeatureOnboarding.nameEntryPlaceholder,
            autofillContentType: .name,
            value: $store.value,
            focused: $store.isFocused.sending(\.setFocus),
            isLoading: store.isWorking,
            onClear: { store.send(.clearText) },
            errorMessage: store.errorMessage
        )
        .alert($store.scope(state: \.alert, action: \.alert))
    }
}
