Skip to content

How to replace rootview with animation? #106

@kaitoshadow

Description

@kaitoshadow

When replace rootview, no animations.

This is my code example:

var body: some View {
        FlowStack($routes, withNavigation: true) {
            initialScreen()
                .flowDestination(for: Screen.self) { screen in
                    switch screen {
                    case .onboarding:
                        AICompanionOnboardingFlow(
                            finishOnboarding: handleOnboardingCompleted
                        )

                    case .chat:
                        AICompanionChatScreen()
                    }
                }
        }
        .environmentObject(state)
        .onReceive(state.$session) { value in
            isShowedAICompanionOnboarding = value?.onboarded
        }
        .animation(.default, value: isShowedAICompanionOnboarding)
        .navigationBarHidden(true)
    }

    // MARK: - Private Methods

    @ViewBuilder
    private func initialScreen() -> some View {
        switch isShowedAICompanionOnboarding {
        case false:
            AICompanionOnboardingFlow(
                finishOnboarding: handleOnboardingCompleted
            )

        case true:
            AICompanionChatScreen()

        default:
            AICompanionLoadingScreen()
        }
    }

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions