diff options
author | Paul Frazee <pfrazee@gmail.com> | 2024-07-02 21:25:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-02 21:25:19 -0700 |
commit | a3d4fb652b888ba81aecbf0e81a954968ea65d39 (patch) | |
tree | e78df8bf670baee080fa77b198db30058a012589 /src/view/screens/Home.tsx | |
parent | 6694a33603544511441474819216d51482d19827 (diff) | |
download | voidsky-a3d4fb652b888ba81aecbf0e81a954968ea65d39.tar.zst |
Guided tour for new users (#4690)
* Add home guided tour (WIP) * Add web handling of the tour * Switch to our fork of rn-tourguide * Bump guided-tour * Fix alignment on android * Implement home page tour trigger after account creation * Add new_user_guided_tour gate * Add a title line to the tour tooltips * A11y improvements: proper labels, focus capture, scroll capture * Silence type error * Native a11y * Use FocusScope * Switch to useWebBodyScrollLock() --------- Co-authored-by: Eric Bailey <git@esb.lol>
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r-- | src/view/screens/Home.tsx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index 98694219a..f7cecd872 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -28,6 +28,7 @@ import {CustomFeedEmptyState} from 'view/com/posts/CustomFeedEmptyState' import {FollowingEmptyState} from 'view/com/posts/FollowingEmptyState' import {FollowingEndOfFeed} from 'view/com/posts/FollowingEndOfFeed' import {NoFeedsPinned} from '#/screens/Home/NoFeedsPinned' +import {TOURS, useTriggerTourIfQueued} from '#/tours' import {HomeHeader} from '../com/home/HomeHeader' type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home' | 'Start'> @@ -86,6 +87,7 @@ function HomeScreenReady({ const selectedIndex = Math.max(0, maybeFoundIndex) const selectedFeed = allFeeds[selectedIndex] const requestNotificationsPermission = useRequestNotificationsPermission() + const triggerTourIfQueued = useTriggerTourIfQueued(TOURS.HOME) useSetTitle(pinnedFeedInfos[selectedIndex]?.displayName) useOTAUpdates() @@ -113,10 +115,16 @@ function HomeScreenReady({ React.useCallback(() => { setMinimalShellMode(false) setDrawerSwipeDisabled(selectedIndex > 0) + triggerTourIfQueued() return () => { setDrawerSwipeDisabled(false) } - }, [setDrawerSwipeDisabled, selectedIndex, setMinimalShellMode]), + }, [ + setDrawerSwipeDisabled, + selectedIndex, + setMinimalShellMode, + triggerTourIfQueued, + ]), ) useFocusEffect( |