feature/23-voice-room/poc #93

Merged
hodlbod merged 68 commits from feature/23-voice-room/poc into dev 2026-03-16 20:38:06 +00:00
Showing only changes of commit c518926c2b - Show all commits
+5 -2
View File
@@ -1,4 +1,5 @@
<script lang="ts">
import {ifLet} from "@welshman/lib"
import {displayRelayUrl} from "@welshman/util"
import Microphone from "@assets/icons/microphone.svg?dataurl"
import MicrophoneOff from "@assets/icons/microphone-off.svg?dataurl"
@@ -8,6 +9,7 @@
import Button from "@lib/components/Button.svelte"
import {displayRoom} from "@app/core/state"
import RoomDetail from "@app/components/RoomDetail.svelte"
import type {VoiceSession} from "@app/voice"
import {currentVoiceSession, leaveVoiceRoom, toggleMute} from "@app/voice"
import {pushModal} from "@app/util/modal"
@@ -17,8 +19,9 @@
const spaceName = $derived($currentVoiceSession ? displayRelayUrl($currentVoiceSession.url) : "")
const showRoomDetail = () => {
hodlbod marked this conversation as resolved Outdated
Outdated
Review

Don't do indirection like this, just call the actual function

Don't do indirection like this, just call the actual function
Outdated
Review

A stupid way to do this that I like would be ifLet($currentVoiceSession, ({url, h}) => pushModal(RoomDetail, {url, h})) but you don't have to do that

A stupid way to do this that I like would be `ifLet($currentVoiceSession, ({url, h}) => pushModal(RoomDetail, {url, h}))` but you don't have to do that
Outdated
Review

It is harder to read at first glance but ifLet brings warm feelings from better programming languages so it's done.

It is harder to read at first glance but `ifLet` brings warm feelings from better programming languages so it's done.
const session = $currentVoiceSession
if (session) pushModal(RoomDetail, {url: session.url, h: session.h})
ifLet($currentVoiceSession, (session: VoiceSession) =>
pushModal(RoomDetail, {url: session.url, h: session.h}),
)
hodlbod marked this conversation as resolved Outdated
Outdated
Review

$currentVoiceSession is better than get

$currentVoiceSession is better than `get`
}
</script>
3