move dialogs into their respective screens

This commit is contained in:
Hailey
2024-06-04 21:45:15 -07:00
parent f42326bec1
commit 4dac2822e5
3 changed files with 34 additions and 29 deletions
+18 -7
View File
@@ -5,6 +5,8 @@ import {GeneratorView} from '@atproto/api/dist/client/types/app/bsky/feed/defs'
import {List} from 'view/com/util/List'
import {useWizardState} from '#/screens/StarterPack/Wizard/State'
import {atoms as a} from '#/alf'
import {useDialogControl} from '#/components/Dialog'
import {WizardAddDialog} from '#/components/StarterPack/Wizard/WizardAddDialog'
import {WizardFeedCard} from '#/components/StarterPack/Wizard/WizardFeedCard'
import {WizardListEmpty} from '#/components/StarterPack/Wizard/WizardListEmpty'
@@ -14,18 +16,27 @@ function keyExtractor(item: GeneratorView) {
export function StepFeeds() {
const [state, dispatch] = useWizardState()
const control = useDialogControl()
const renderItem = ({item}: ListRenderItemInfo<GeneratorView>) => {
return <WizardFeedCard generator={item} state={state} dispatch={dispatch} />
}
return (
<List
data={state.feeds}
renderItem={renderItem}
keyExtractor={keyExtractor}
style={[a.flex_1]}
ListEmptyComponent={<WizardListEmpty type="feeds" />}
/>
<>
<List
data={state.feeds}
renderItem={renderItem}
keyExtractor={keyExtractor}
style={[a.flex_1]}
ListEmptyComponent={<WizardListEmpty type="feeds" />}
/>
<WizardAddDialog
control={control}
type="feeds"
state={state}
dispatch={dispatch}
/>
</>
)
}
+16 -10
View File
@@ -1,10 +1,11 @@
import React from 'react'
import {ListRenderItemInfo, View} from 'react-native'
import {ListRenderItemInfo} from 'react-native'
import {AppBskyActorDefs} from '@atproto/api'
import {List} from 'view/com/util/List'
import {useWizardState} from '#/screens/StarterPack/Wizard/State'
import {atoms as a} from '#/alf'
import {useDialogControl} from '#/components/Dialog'
import {WizardAddDialog} from '#/components/StarterPack/Wizard/WizardAddDialog'
import {WizardListEmpty} from '#/components/StarterPack/Wizard/WizardListEmpty'
import {WizardProfileCard} from '#/components/StarterPack/Wizard/WizardProfileCard'
@@ -14,6 +15,7 @@ function keyExtractor(item: AppBskyActorDefs.ProfileViewBasic) {
export function StepProfiles() {
const [state, dispatch] = useWizardState()
const control = useDialogControl()
const renderItem = ({
item,
@@ -25,14 +27,18 @@ export function StepProfiles() {
return (
<>
<View style={[a.flex_1]}>
<List
data={state.profiles}
renderItem={renderItem}
keyExtractor={keyExtractor}
ListEmptyComponent={<WizardListEmpty type="profiles" />}
/>
</View>
<List
data={state.profiles}
renderItem={renderItem}
keyExtractor={keyExtractor}
ListEmptyComponent={<WizardListEmpty type="profiles" />}
/>
<WizardAddDialog
control={control}
type="profiles"
state={state}
dispatch={dispatch}
/>
</>
)
}
-12
View File
@@ -18,8 +18,6 @@ import {StepFeeds} from '#/screens/StarterPack/Wizard/StepFeeds'
import {StepProfiles} from '#/screens/StarterPack/Wizard/StepProfiles'
import {atoms as a, useTheme} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
import {useDialogControl} from '#/components/Dialog'
import {WizardAddDialog} from '#/components/StarterPack/Wizard/WizardAddDialog'
import {Provider} from './State'
export function Wizard({
@@ -77,7 +75,6 @@ function WizardInner() {
did: currentAccount?.did,
staleTime: 0,
})
const searchDialogControl = useDialogControl()
React.useEffect(() => {
navigation.setOptions({
@@ -176,15 +173,6 @@ function WizardInner() {
<Container>
<StepView />
</Container>
{(state.currentStep === 'Profiles' || state.currentStep === 'Feeds') && (
<WizardAddDialog
control={searchDialogControl}
state={state}
dispatch={dispatch}
type={state.currentStep === 'Profiles' ? 'profiles' : 'feeds'}
/>
)}
</CenteredView>
)
}