From 8adebe670231131cc247ce35585bffca43747a9d Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 27 Aug 2025 19:01:10 +0300 Subject: starter pack dialog tweaks (#8913) --- src/components/dialogs/StarterPackDialog.tsx | 46 +++++++++++++--------------- 1 file changed, 21 insertions(+), 25 deletions(-) (limited to 'src/components') diff --git a/src/components/dialogs/StarterPackDialog.tsx b/src/components/dialogs/StarterPackDialog.tsx index ec041d401..c4b8a72c4 100644 --- a/src/components/dialogs/StarterPackDialog.tsx +++ b/src/components/dialogs/StarterPackDialog.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import {useCallback, useState} from 'react' import {View} from 'react-native' import { type AppBskyGraphGetStarterPacksWithMembership, @@ -22,16 +22,16 @@ import { } from '#/state/queries/list-memberships' import * as Toast from '#/view/com/util/Toast' import {atoms as a, useTheme} from '#/alf' +import {AvatarStack} from '#/components/AvatarStack' import {Button, ButtonIcon, ButtonText} from '#/components/Button' import * as Dialog from '#/components/Dialog' import {Divider} from '#/components/Divider' +import {PlusLarge_Stroke2_Corner0_Rounded as PlusIcon} from '#/components/icons/Plus' +import {StarterPack} from '#/components/icons/StarterPack' +import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times' import {Loader} from '#/components/Loader' import {Text} from '#/components/Typography' import * as bsky from '#/types/bsky' -import {AvatarStack} from '../AvatarStack' -import {PlusLarge_Stroke2_Corner0_Rounded} from '../icons/Plus' -import {StarterPack} from '../icons/StarterPack' -import {TimesLarge_Stroke2_Corner0_Rounded} from '../icons/Times' type StarterPackWithMembership = AppBskyGraphGetStarterPacksWithMembership.StarterPackWithMembership @@ -51,7 +51,7 @@ export function StarterPackDialog({ const navigation = useNavigation() const requireEmailVerification = useRequireEmailVerification() - const navToWizard = React.useCallback(() => { + const navToWizard = useCallback(() => { control.close() navigation.navigate('StarterPackWizard', { fromDialog: true, @@ -91,7 +91,6 @@ function Empty({onStartWizard}: {onStartWizard: () => void}) { const {_} = useLingui() const t = useTheme() - isWeb return ( @@ -115,7 +114,7 @@ function Empty({onStartWizard}: {onStartWizard: () => void}) { Create - + @@ -134,7 +133,6 @@ function StarterPackList({ enabled?: boolean }) { const {_} = useLingui() - const t = useTheme() const { data, @@ -149,7 +147,7 @@ function StarterPackList({ const membershipItems = data?.pages.flatMap(page => page.starterPacksWithMembership) || [] - const _onRefresh = React.useCallback(async () => { + const _onRefresh = useCallback(async () => { try { await refetch() } catch (err) { @@ -157,7 +155,7 @@ function StarterPackList({ } }, [refetch]) - const _onEndReached = React.useCallback(async () => { + const _onEndReached = useCallback(async () => { if (isFetchingNextPage || !hasNextPage || isError) return try { await fetchNextPage() @@ -166,25 +164,17 @@ function StarterPackList({ } }, [isFetchingNextPage, hasNextPage, isError, fetchNextPage]) - const renderItem = React.useCallback( + const renderItem = useCallback( ({item}: {item: StarterPackWithMembership}) => ( ), [targetDid], ) - const onClose = React.useCallback(() => { + const onClose = useCallback(() => { control.close() }, [control]) - const XIcon = React.useMemo(() => { - return ( - - ) - }, [t]) - const listHeader = ( <> Add to starter packs - {membershipItems.length > 0 && ( @@ -217,7 +213,7 @@ function StarterPackList({ Create - + @@ -268,7 +264,7 @@ function StarterPackItem({ const starterPack = starterPackWithMembership.starterPack const isInPack = !!starterPackWithMembership.listItem - const [isPendingRefresh, setIsPendingRefresh] = React.useState(false) + const [isPendingRefresh, setIsPendingRefresh] = useState(false) const {mutate: addMembership} = useListMembershipAddMutation({ onSuccess: () => { -- cgit 1.4.1