import { useEffect, useState } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { useStorage } from '@libs/storage/provider'; import { ArrowRightCircleIcon, CheckCircleIcon, LoaderIcon } from '@shared/icons'; import { useOnboarding } from '@stores/onboarding'; import { WidgetKinds } from '@stores/widgets'; const data = [ { hashtag: '#bitcoin' }, { hashtag: '#nostr' }, { hashtag: '#zap' }, { hashtag: '#LFG' }, { hashtag: '#zapchain' }, { hashtag: '#plebchain' }, { hashtag: '#nodes' }, { hashtag: '#hodl' }, { hashtag: '#stacksats' }, { hashtag: '#nokyc' }, { hashtag: '#anime' }, { hashtag: '#waifu' }, { hashtag: '#manga' }, { hashtag: '#nostriches' }, { hashtag: '#dev' }, ]; export function OnboardStep2Screen() { const navigate = useNavigate(); const setStep = useOnboarding((state) => state.setStep); const [loading, setLoading] = useState(false); const [tags, setTags] = useState(new Set()); const { db } = useStorage(); const toggleTag = (tag: string) => { if (tags.has(tag)) { setTags((prev) => { prev.delete(tag); return new Set(prev); }); } else { if (tags.size >= 3) return; setTags((prev) => new Set(prev.add(tag))); } }; const submit = async () => { try { setLoading(true); for (const tag of tags) { await db.createWidget(WidgetKinds.hashtag, tag, tag.replace('#', '')); } navigate('/auth/onboarding/step-3', { replace: true }); } catch { console.log('error'); } }; useEffect(() => { // save current step, if user close app and reopen it setStep('/auth/onboarding/step-2'); }, []); return (

Choose {tags.size}/3 your favorite tags

Customize your space which hashtag widget

{data.map((item: { hashtag: string }) => ( ))}
Skip, you can add later
); }