diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-11-12 20:44:13 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-12 20:44:13 +0000 |
commit | f2916ce528ed55136299e4fc39c37eb1565c3d08 (patch) | |
tree | 08249e48b03df543ef0d61ed90e9ebb671346a51 | |
parent | 427f3a8bd7f21f14aef32af2f7ccf1f4b2731c29 (diff) | |
download | voidsky-f2916ce528ed55136299e4fc39c37eb1565c3d08.tar.zst |
Slightly reduce rerenders in drawer (#6270)
* slightly reduce renders in drawer * fix missing hook
-rw-r--r-- | src/view/shell/Drawer.tsx | 69 |
1 files changed, 38 insertions, 31 deletions
diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx index 257506dd0..3dc2b076c 100644 --- a/src/view/shell/Drawer.tsx +++ b/src/view/shell/Drawer.tsx @@ -122,9 +122,8 @@ let DrawerProfileCard = ({ DrawerProfileCard = React.memo(DrawerProfileCard) export {DrawerProfileCard} -let DrawerContent = ({}: {}): React.ReactNode => { +let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => { const t = useTheme() - const {_} = useLingui() const insets = useSafeAreaInsets() const setDrawerOpen = useSetDrawerOpen() const navigation = useNavigation<NavigationProp>() @@ -137,7 +136,6 @@ let DrawerContent = ({}: {}): React.ReactNode => { isAtMessages, } = useNavigationTabState() const {hasSession, currentAccount} = useSession() - const kawaii = useKawaiiMode() // events // = @@ -277,34 +275,7 @@ let DrawerContent = ({}: {}): React.ReactNode => { <View style={[a.px_xl]}> <Divider style={[a.mb_xl, a.mt_sm]} /> - - <View style={[a.flex_col, a.gap_md, a.flex_wrap]}> - <InlineLinkText - style={[a.text_md]} - label={_(msg`Terms of Service`)} - to="https://bsky.social/about/support/tos"> - <Trans>Terms of Service</Trans> - </InlineLinkText> - <InlineLinkText - style={[a.text_md]} - to="https://bsky.social/about/support/privacy-policy" - label={_(msg`Privacy Policy`)}> - <Trans>Privacy Policy</Trans> - </InlineLinkText> - {kawaii && ( - <Text style={t.atoms.text_contrast_medium}> - <Trans> - Logo by{' '} - <InlineLinkText - style={[a.text_md]} - to="/profile/sawaratsuki.bsky.social" - label="@sawaratsuki.bsky.social"> - @sawaratsuki.bsky.social - </InlineLinkText> - </Trans> - </Text> - )} - </View> + <ExtraLinks /> </View> </ScrollView> @@ -633,3 +604,39 @@ function MenuItem({icon, label, count, bold, onPress}: MenuItemProps) { </Button> ) } + +function ExtraLinks() { + const {_} = useLingui() + const t = useTheme() + const kawaii = useKawaiiMode() + + return ( + <View style={[a.flex_col, a.gap_md, a.flex_wrap]}> + <InlineLinkText + style={[a.text_md]} + label={_(msg`Terms of Service`)} + to="https://bsky.social/about/support/tos"> + <Trans>Terms of Service</Trans> + </InlineLinkText> + <InlineLinkText + style={[a.text_md]} + to="https://bsky.social/about/support/privacy-policy" + label={_(msg`Privacy Policy`)}> + <Trans>Privacy Policy</Trans> + </InlineLinkText> + {kawaii && ( + <Text style={t.atoms.text_contrast_medium}> + <Trans> + Logo by{' '} + <InlineLinkText + style={[a.text_md]} + to="/profile/sawaratsuki.bsky.social" + label="@sawaratsuki.bsky.social"> + @sawaratsuki.bsky.social + </InlineLinkText> + </Trans> + </Text> + )} + </View> + ) +} |