import type { ColumnRouteSearch } from "@lume/types"; import { TOPICS, cn } from "@lume/utils"; import { createFileRoute, useRouter } from "@tanstack/react-router"; import { useState } from "react"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; export const Route = createFileRoute("/interests")({ validateSearch: (search: Record): ColumnRouteSearch => { return { account: search.account, label: search.label, name: search.name, }; }, component: Screen, }); function Screen() { const { t } = useTranslation(); const { label, name, redirect } = Route.useSearch(); const { ark } = Route.useRouteContext(); const [hashtags, setHashtags] = useState([]); const [isDone, setIsDone] = useState(false); const router = useRouter(); const toggleHashtag = (item: string) => { const arr = hashtags.includes(item) ? hashtags.filter((i) => i !== item) : [...hashtags, item]; setHashtags(arr); }; const toggleAll = (item: string[]) => { const sets = new Set([...hashtags, ...item]); setHashtags([...sets]); }; const submit = async () => { try { if (isDone) { return router.history.push(redirect); } const eventId = await ark.set_interest(undefined, undefined, hashtags); if (eventId) { setIsDone(true); toast.success("Interest has been updated successfully."); } } catch (e) { toast.error(String(e)); } }; return (

Interests

Pick things you'd like to see.

{TOPICS.map((topic) => (
{topic.title}

{topic.title}

{topic.content.map((hashtag) => ( ))}
))}
); }