Add chat quick link

This commit is contained in:
Jon Staab
2025-06-09 15:27:00 -07:00
parent df03fb1116
commit f877dc7fbe
2 changed files with 43 additions and 24 deletions

View File

@@ -1,5 +1,9 @@
# Changelog # Changelog
# 1.1.1
* Add chat quick link
# 1.1.0 # 1.1.0
* Add better theming support * Add better theming support

View File

@@ -6,7 +6,7 @@
import Button from "@lib/components/Button.svelte" import Button from "@lib/components/Button.svelte"
import RoomCreate from "@app/components/RoomCreate.svelte" import RoomCreate from "@app/components/RoomCreate.svelte"
import ChannelName from "@app/components/ChannelName.svelte" import ChannelName from "@app/components/ChannelName.svelte"
import {makeThreadPath, makeCalendarPath, makeRoomPath} from "@app/routes" import {makeThreadPath, makeCalendarPath, makeRoomPath, makeSpacePath} from "@app/routes"
import { import {
hasNip29, hasNip29,
deriveUserRooms, deriveUserRooms,
@@ -25,6 +25,7 @@
const relay = deriveRelay(url) const relay = deriveRelay(url)
const userRooms = deriveUserRooms(url) const userRooms = deriveUserRooms(url)
const otherRooms = deriveOtherRooms(url) const otherRooms = deriveOtherRooms(url)
const chatPath = makeSpacePath(url, "chat")
const threadsPath = makeThreadPath(url) const threadsPath = makeThreadPath(url)
const calendarPath = makeCalendarPath(url) const calendarPath = makeCalendarPath(url)
@@ -76,6 +77,7 @@
{/if} {/if}
</div> </div>
</Link> </Link>
{#if hasNip29($relay)}
{#if $userRooms.length + $otherRooms.length > 10} {#if $userRooms.length + $otherRooms.length > 10}
<label class="input input-sm input-bordered flex flex-grow items-center gap-2"> <label class="input input-sm input-bordered flex flex-grow items-center gap-2">
<Icon icon="magnifer" size={4} /> <Icon icon="magnifer" size={4} />
@@ -95,15 +97,28 @@
<ChannelName {url} {room} /> <ChannelName {url} {room} />
</div> </div>
{#if $notifications.has(roomPath)} {#if $notifications.has(roomPath)}
<div class="absolute right-1 top-1 h-2 w-2 rounded-full bg-primary" transition:fade></div> <div class="absolute right-1 top-1 h-2 w-2 rounded-full bg-primary" transition:fade>
</div>
{/if} {/if}
</Link> </Link>
{/each} {/each}
{#if hasNip29($relay)}
<Button onclick={addRoom} class="btn btn-neutral btn-sm w-full justify-start"> <Button onclick={addRoom} class="btn btn-neutral btn-sm w-full justify-start">
<Icon icon="add-circle" /> <Icon icon="add-circle" />
Create Room Create Room
</Button> </Button>
{:else}
<Link href={chatPath} class="btn btn-neutral w-full justify-start">
<div class="relative flex items-center gap-2">
<Icon icon="chat-round" />
Chat
{#if $notifications.has(chatPath)}
<div
class="absolute -right-3 -top-1 h-2 w-2 rounded-full bg-primary-content"
transition:fade>
</div>
{/if}
</div>
</Link>
{/if} {/if}
</div> </div>
</div> </div>