[APP-775] Add Welcome screen after account creation (#1038)
* add comments to step 1-3 * add onboarding screen * add analytics for onboarding tracking * fix useEffect * change text * change icon size * put onboarding into bottom sheet modal instead of react navigation * wip * Simplify the type validation * Fix: only trigger onboarding modal when account creation succeeds * Add the 'session-ready' event which fires when the new session is stable * Use the 'session-ready' event to trigger the onboarding modal * update copy * update copy --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
This commit is contained in:
parent
3517d9fa28
commit
30ac9259c7
14 changed files with 231 additions and 4 deletions
|
@ -66,6 +66,7 @@ import {SavedFeeds} from 'view/screens/SavedFeeds'
|
|||
import {getRoutingInstrumentation} from 'lib/sentry'
|
||||
import {bskyTitle} from 'lib/strings/headings'
|
||||
import {JSX} from 'react/jsx-runtime'
|
||||
import {timeout} from 'lib/async/timeout'
|
||||
|
||||
const navigationRef = createNavigationContainerRef<AllNavigatorParams>()
|
||||
|
||||
|
@ -478,7 +479,8 @@ function resetToTab(tabName: 'HomeTab' | 'SearchTab' | 'NotificationsTab') {
|
|||
}
|
||||
}
|
||||
|
||||
function reset() {
|
||||
// returns a promise that resolves after the state reset is complete
|
||||
function reset(): Promise<void> {
|
||||
if (navigationRef.isReady()) {
|
||||
navigationRef.dispatch(
|
||||
CommonActions.reset({
|
||||
|
@ -486,6 +488,18 @@ function reset() {
|
|||
routes: [{name: isNative ? 'HomeTab' : 'Home'}],
|
||||
}),
|
||||
)
|
||||
return Promise.race([
|
||||
timeout(1e3),
|
||||
new Promise<void>(resolve => {
|
||||
const handler = () => {
|
||||
resolve()
|
||||
navigationRef.removeListener('state', handler)
|
||||
}
|
||||
navigationRef.addListener('state', handler)
|
||||
}),
|
||||
])
|
||||
} else {
|
||||
return Promise.resolve()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue