about summary refs log tree commit diff
path: root/src/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/view')
-rw-r--r--src/view/screens/Storybook/Buttons.tsx89
-rw-r--r--src/view/screens/Storybook/Forms.tsx17
-rw-r--r--src/view/screens/Storybook/Links.tsx46
-rw-r--r--src/view/screens/Storybook/Typography.tsx11
-rw-r--r--src/view/shell/createNativeStackNavigatorWithAuth.tsx9
5 files changed, 155 insertions, 17 deletions
diff --git a/src/view/screens/Storybook/Buttons.tsx b/src/view/screens/Storybook/Buttons.tsx
index fbdc84eb4..320db13ff 100644
--- a/src/view/screens/Storybook/Buttons.tsx
+++ b/src/view/screens/Storybook/Buttons.tsx
@@ -11,6 +11,7 @@ import {
 } from '#/components/Button'
 import {H1} from '#/components/Typography'
 import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/ArrowTopRight'
+import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
 import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
 
 export function Buttons() {
@@ -91,14 +92,16 @@ export function Buttons() {
             )}
           </View>
         </View>
+      </View>
 
+      <View style={[a.flex_wrap, a.gap_md, a.align_start]}>
         <Button
           variant="gradient"
           color="gradient_sky"
           size="large"
           label="Link out">
           <ButtonText>Link out</ButtonText>
-          <ButtonIcon icon={ArrowTopRight} />
+          <ButtonIcon icon={ArrowTopRight} position="right" />
         </Button>
 
         <Button
@@ -107,7 +110,15 @@ export function Buttons() {
           size="small"
           label="Link out">
           <ButtonText>Link out</ButtonText>
-          <ButtonIcon icon={ArrowTopRight} />
+          <ButtonIcon icon={ArrowTopRight} position="right" />
+        </Button>
+
+        <Button
+          variant="gradient"
+          color="gradient_sky"
+          size="small"
+          label="Link out">
+          <ButtonText>Link xxxxxx</ButtonText>
         </Button>
 
         <Button
@@ -115,8 +126,78 @@ export function Buttons() {
           color="gradient_sky"
           size="small"
           label="Link out">
-          <ButtonIcon icon={Globe} />
-          <ButtonText>See the world</ButtonText>
+          <ButtonIcon icon={Globe} position="left" />
+          <ButtonText>Link out</ButtonText>
+        </Button>
+      </View>
+
+      <View style={[a.flex_row, a.gap_md, a.align_start]}>
+        <Button
+          variant="solid"
+          color="primary"
+          size="large"
+          shape="round"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
+        </Button>
+        <Button
+          variant="gradient"
+          color="gradient_sunset"
+          size="small"
+          shape="round"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
+        </Button>
+        <Button
+          variant="outline"
+          color="primary"
+          size="large"
+          shape="round"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
+        </Button>
+        <Button
+          variant="ghost"
+          color="primary"
+          size="small"
+          shape="round"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
+        </Button>
+      </View>
+
+      <View style={[a.flex_row, a.gap_md, a.align_start]}>
+        <Button
+          variant="solid"
+          color="primary"
+          size="large"
+          shape="square"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
+        </Button>
+        <Button
+          variant="gradient"
+          color="gradient_sunset"
+          size="small"
+          shape="square"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
+        </Button>
+        <Button
+          variant="outline"
+          color="primary"
+          size="large"
+          shape="square"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
+        </Button>
+        <Button
+          variant="ghost"
+          color="primary"
+          size="small"
+          shape="square"
+          label="Link out">
+          <ButtonIcon icon={ChevronLeft} />
         </Button>
       </View>
     </View>
diff --git a/src/view/screens/Storybook/Forms.tsx b/src/view/screens/Storybook/Forms.tsx
index 9396cca67..2d5495d70 100644
--- a/src/view/screens/Storybook/Forms.tsx
+++ b/src/view/screens/Storybook/Forms.tsx
@@ -209,6 +209,23 @@ export function Forms() {
             Show
           </ToggleButton.Button>
         </ToggleButton.Group>
+
+        <View>
+          <ToggleButton.Group
+            label="Preferences"
+            values={toggleGroupDValues}
+            onChange={setToggleGroupDValues}>
+            <ToggleButton.Button name="hide" label="Hide">
+              Hide
+            </ToggleButton.Button>
+            <ToggleButton.Button name="warn" label="Warn">
+              Warn
+            </ToggleButton.Button>
+            <ToggleButton.Button name="show" label="Show">
+              Show
+            </ToggleButton.Button>
+          </ToggleButton.Group>
+        </View>
       </View>
     </View>
   )
diff --git a/src/view/screens/Storybook/Links.tsx b/src/view/screens/Storybook/Links.tsx
index c3b1c0e0f..245a61a05 100644
--- a/src/view/screens/Storybook/Links.tsx
+++ b/src/view/screens/Storybook/Links.tsx
@@ -1,38 +1,39 @@
 import React from 'react'
 import {View} from 'react-native'
 
-import {atoms as a} from '#/alf'
+import {useTheme, atoms as a} from '#/alf'
 import {ButtonText} from '#/components/Button'
-import {Link} from '#/components/Link'
-import {H1, H3} from '#/components/Typography'
+import {InlineLink, Link} from '#/components/Link'
+import {H1, H3, Text} from '#/components/Typography'
 
 export function Links() {
+  const t = useTheme()
   return (
     <View style={[a.gap_md, a.align_start]}>
       <H1>Links</H1>
 
       <View style={[a.gap_md, a.align_start]}>
-        <Link
+        <InlineLink
           to="https://blueskyweb.xyz"
           warnOnMismatchingTextChild
           style={[a.text_md]}>
           External
-        </Link>
-        <Link to="https://blueskyweb.xyz" style={[a.text_md]}>
+        </InlineLink>
+        <InlineLink to="https://blueskyweb.xyz" style={[a.text_md]}>
           <H3>External with custom children</H3>
-        </Link>
-        <Link
+        </InlineLink>
+        <InlineLink
           to="https://blueskyweb.xyz"
           warnOnMismatchingTextChild
           style={[a.text_lg]}>
           https://blueskyweb.xyz
-        </Link>
-        <Link
+        </InlineLink>
+        <InlineLink
           to="https://bsky.app/profile/bsky.app"
           warnOnMismatchingTextChild
           style={[a.text_md]}>
           Internal
-        </Link>
+        </InlineLink>
 
         <Link
           variant="solid"
@@ -42,6 +43,29 @@ export function Links() {
           to="https://bsky.app/profile/bsky.app">
           <ButtonText>Link as a button</ButtonText>
         </Link>
+
+        <Link
+          label="View @bsky.app's profile"
+          to="https://bsky.app/profile/bsky.app">
+          <View
+            style={[
+              a.flex_row,
+              a.align_center,
+              a.gap_md,
+              a.rounded_md,
+              a.p_md,
+              t.atoms.bg_contrast_25,
+            ]}>
+            <View
+              style={[
+                {width: 32, height: 32},
+                a.rounded_full,
+                t.atoms.bg_contrast_200,
+              ]}
+            />
+            <Text>View @bsky.app's profile</Text>
+          </View>
+        </Link>
       </View>
     </View>
   )
diff --git a/src/view/screens/Storybook/Typography.tsx b/src/view/screens/Storybook/Typography.tsx
index 2e1f04a66..ecd6ec888 100644
--- a/src/view/screens/Storybook/Typography.tsx
+++ b/src/view/screens/Storybook/Typography.tsx
@@ -3,6 +3,7 @@ import {View} from 'react-native'
 
 import {atoms as a} from '#/alf'
 import {Text, H1, H2, H3, H4, H5, H6, P} from '#/components/Typography'
+import {RichText} from '#/components/RichText'
 
 export function Typography() {
   return (
@@ -25,6 +26,16 @@ export function Typography() {
       <Text style={[a.text_sm]}>atoms.text_sm</Text>
       <Text style={[a.text_xs]}>atoms.text_xs</Text>
       <Text style={[a.text_2xs]}>atoms.text_2xs</Text>
+
+      <RichText
+        resolveFacets
+        value={`This is rich text. It can have mentions like @bsky.app or links like https://blueskyweb.xyz`}
+      />
+      <RichText
+        resolveFacets
+        value={`This is rich text. It can have mentions like @bsky.app or links like https://blueskyweb.xyz`}
+        style={[a.text_xl]}
+      />
     </View>
   )
 }
diff --git a/src/view/shell/createNativeStackNavigatorWithAuth.tsx b/src/view/shell/createNativeStackNavigatorWithAuth.tsx
index 7e275502b..0f240ea00 100644
--- a/src/view/shell/createNativeStackNavigatorWithAuth.tsx
+++ b/src/view/shell/createNativeStackNavigatorWithAuth.tsx
@@ -1,6 +1,6 @@
 import * as React from 'react'
 import {View} from 'react-native'
-import {PWI_ENABLED} from '#/lib/build-flags'
+import {PWI_ENABLED, NEW_ONBOARDING_ENABLED} from '#/lib/build-flags'
 
 // Based on @react-navigation/native-stack/src/createNativeStackNavigator.ts
 // MIT License
@@ -38,6 +38,7 @@ import {isWeb} from 'platform/detection'
 import {Deactivated} from '#/screens/Deactivated'
 import {LoggedOut} from '../com/auth/LoggedOut'
 import {Onboarding} from '../com/auth/Onboarding'
+import {Onboarding as NewOnboarding} from '#/screens/Onboarding'
 
 type NativeStackNavigationOptionsWithAuth = NativeStackNavigationOptions & {
   requireAuth?: boolean
@@ -111,7 +112,11 @@ function NativeStackNavigator({
     return <LoggedOut onDismiss={() => setShowLoggedOut(false)} />
   }
   if (onboardingState.isActive) {
-    return <Onboarding />
+    if (NEW_ONBOARDING_ENABLED) {
+      return <NewOnboarding />
+    } else {
+      return <Onboarding />
+    }
   }
   const newDescriptors: typeof descriptors = {}
   for (let key in descriptors) {