Allow to post new discussions

This commit is contained in:
dtonon 2026-04-09 16:28:01 +01:00
parent 3fe32d8d24
commit b5b2f97d35
9 changed files with 673 additions and 0 deletions

View file

@ -6,6 +6,7 @@
import ChatSidebar from "$lib/components/ChatSidebar.svelte";
import LoginModal from "$lib/components/LoginModal.svelte";
import JoinModal from "$lib/components/JoinModal.svelte";
import NewDiscussionModal from "$lib/components/NewDiscussionModal.svelte";
import { page } from "$app/state";
import { onMount } from "svelte";
import { restoreSession } from "$lib/auth.svelte";
@ -50,3 +51,4 @@
<LoginModal />
<JoinModal />
<NewDiscussionModal />

View file

@ -10,9 +10,19 @@
type Author,
} from "$lib/components/ThreadItem.svelte";
import type { NostrUser } from "@nostr/gadgets/metadata";
import { auth, openLogin } from "$lib/auth.svelte";
import { openDraft } from "$lib/draft.svelte";
onMount(loadThreads);
function onNewTopic() {
if (!auth.user) {
openLogin();
return;
}
openDraft();
}
function relativeTime(ts: number): string {
const diff = Math.floor(Date.now() / 1000) - ts;
if (diff < 3600) return `${Math.floor(diff / 60)}m`;
@ -61,6 +71,7 @@
<div class="flex items-center justify-between py-2">
<h1 class="text-[1.65rem] text-brand">Discussions</h1>
<button
onclick={onNewTopic}
class="rounded bg-brand px-6 py-1.5 text-sm font-medium text-white hover:bg-brand-hover"
>
New Topic

View file

@ -4,8 +4,18 @@
type ThreadRow,
} from "$lib/components/ThreadItem.svelte";
import { page } from "$app/state";
import { auth, openLogin } from "$lib/auth.svelte";
import { openDraft } from "$lib/draft.svelte";
const slug = $derived(page.params.slug);
function onNewTopic() {
if (!auth.user) {
openLogin();
return;
}
openDraft();
}
const room = $derived(rooms.find((r) => r.slug === slug));
function mockToRow(t: Thread): ThreadRow {
@ -34,6 +44,7 @@
<div class="flex items-center justify-between pb-2">
<h1 class="text-[1.65rem] text-brand leading-7">{room?.name ?? slug}</h1>
<button
onclick={onNewTopic}
class="rounded bg-brand px-6 py-1.5 text-sm font-medium text-white hover:bg-brand-hover"
>
New Topic