import { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useStorage } from '@libs/storage/provider'; import { ArrowRightCircleIcon, LoaderIcon } from '@shared/icons'; import { User } from '@shared/user'; import { useOnboarding } from '@stores/onboarding'; import { WidgetKinds } from '@stores/widgets'; import { useNostr } from '@utils/hooks/useNostr'; export function ImportStep3Screen() { const navigate = useNavigate(); const setStep = useOnboarding((state) => state.setStep); const { db } = useStorage(); const { fetchUserData } = useNostr(); const [loading, setLoading] = useState(false); const submit = async () => { try { // show loading indicator setLoading(true); // prefetch data const user = await fetchUserData(); // create default widget await db.createWidget(WidgetKinds.other.learnNostr, 'Learn Nostr', ''); // redirect to next step if (user.status === 'ok') { navigate('/auth/onboarding/step-2', { replace: true }); } else { setLoading(false); } } catch (e) { console.log('error: ', e); setLoading(false); } }; useEffect(() => { // save current step, if user close app and reopen it setStep('/auth/import/step-3'); }, []); return (