diff --git a/apps/desktop2/src/routes/create-group.tsx b/apps/desktop2/src/routes/create-group.tsx index 811789fa..c03927c3 100644 --- a/apps/desktop2/src/routes/create-group.tsx +++ b/apps/desktop2/src/routes/create-group.tsx @@ -1,6 +1,6 @@ import { CheckCircleIcon } from "@lume/icons"; import { ColumnRouteSearch } from "@lume/types"; -import { Column, User } from "@lume/ui"; +import { Column, Spinner, User } from "@lume/ui"; import { createFileRoute, useRouter } from "@tanstack/react-router"; import { useState } from "react"; import { toast } from "sonner"; @@ -30,6 +30,7 @@ function Screen() { const [title, setTitle] = useState("Just a new group"); const [users, setUsers] = useState>([]); + const [loading, setLoading] = useState(false); const [isDone, setIsDone] = useState(false); const toggleUser = (pubkey: string) => { @@ -43,13 +44,22 @@ function Screen() { try { if (isDone) return router.history.push(redirect); + // start loading + setLoading(true); + const groups = await ark.set_nstore( `lume_group_${label}`, JSON.stringify(users), ); - if (groups) setIsDone(true); + if (groups) { + toast.success("Group has been created successfully."); + // start loading + setIsDone(true); + setLoading(false); + } } catch (e) { + setLoading(false); toast.error(e); } }; @@ -101,14 +111,14 @@ function Screen() { -
+
diff --git a/apps/desktop2/src/routes/foryou.tsx b/apps/desktop2/src/routes/foryou.tsx index 42e6538c..c57abb96 100644 --- a/apps/desktop2/src/routes/foryou.tsx +++ b/apps/desktop2/src/routes/foryou.tsx @@ -18,6 +18,7 @@ export const Route = createFileRoute("/foryou")({ beforeLoad: async ({ search, context }) => { const ark = context.ark; const interests = await ark.get_interest(); + const settings = await ark.get_settings(); if (!interests) { throw redirect({ @@ -31,6 +32,7 @@ export const Route = createFileRoute("/foryou")({ return { interests, + settings, }; }, component: Screen, @@ -48,7 +50,6 @@ export function Screen() { interests.hashtags, 20, pageParam, - true, ); return events; }, @@ -87,13 +88,12 @@ export function Screen() { {data.map((item) => renderItem(item))} )} - {data?.length && hasNextPage ? (