import { message } from '@tauri-apps/api/dialog'; 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: '#nostrdesign' }, { hashtag: '#zap' }, { hashtag: '#LFG' }, { hashtag: '#zapchain' }, { hashtag: '#plebchain' }, { hashtag: '#nodes' }, { hashtag: '#hodl' }, { hashtag: '#stacksats' }, { hashtag: '#nokyc' }, { hashtag: '#meme' }, { hashtag: '#memes' }, { hashtag: '#memestr' }, { hashtag: '#penisbutter' }, { 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.global.hashtag, tag, tag.replace('#', '')); } navigate('/auth/onboarding/step-3', { replace: true }); } catch (e) { await message(e, { title: 'Lume', type: 'error' }); } }; useEffect(() => { // save current step, if user close app and reopen it setStep('/auth/onboarding/step-2'); }, []); return (

Choose {tags.size}/3 your favorite hashtags

Hashtags are an easy way to discover more content. By adding a hashtag, Lume will show all related posts. You can always add more later.

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