From 0ed99b840d8de13465f010a6434dea50c72b3f62 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 3 Jul 2024 19:05:19 -0700 Subject: New user progress guides (#4716) * Add the animated checkmark svg * Add progress guide list and task components * Add ProgressGuide Toast component * Implement progress-guide controller * Add 7 follows to the progress guide * Wire up action captures * Wire up progress-guide persistence * Trigger progress guide on account creation * Clear the progress guide from storage on complete * Add progress guide interstitial, put behind gate * Fix: read progress guide state from prefs * Some defensive type checks * Create separate toast for completion * List tweaks * Only show on Discover * Spacing and progress tweaks * Completely hide when complete * Capture the progress guide in local state, and only render toasts while guide is active * Fix: ensure persisted hydrates into local state * Gate --------- Co-authored-by: Eric Bailey Co-authored-by: Dan Abramov --- src/components/ProgressGuide/List.tsx | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/components/ProgressGuide/List.tsx (limited to 'src/components/ProgressGuide/List.tsx') diff --git a/src/components/ProgressGuide/List.tsx b/src/components/ProgressGuide/List.tsx new file mode 100644 index 000000000..f68445d2b --- /dev/null +++ b/src/components/ProgressGuide/List.tsx @@ -0,0 +1,61 @@ +import React from 'react' +import {StyleProp, View, ViewStyle} from 'react-native' +import {msg, Trans} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import { + useProgressGuide, + useProgressGuideControls, +} from '#/state/shell/progress-guide' +import {atoms as a, useTheme} from '#/alf' +import {Button, ButtonIcon} from '#/components/Button' +import {TimesLarge_Stroke2_Corner0_Rounded as Times} from '#/components/icons/Times' +import {Text} from '#/components/Typography' +import {ProgressGuideTask} from './Task' + +export function ProgressGuideList({style}: {style?: StyleProp}) { + const t = useTheme() + const {_} = useLingui() + const guide = useProgressGuide('like-10-and-follow-7') + const {endProgressGuide} = useProgressGuideControls() + + if (guide) { + return ( + + + + Getting started + + + + + + + ) + } + return null +} -- cgit 1.4.1