diff --git a/src/app/components/RoomEdit.svelte b/src/app/components/RoomEdit.svelte index 4f523de..11e940f 100644 --- a/src/app/components/RoomEdit.svelte +++ b/src/app/components/RoomEdit.svelte @@ -1,7 +1,7 @@ - + {#snippet header()} {#snippet title()} diff --git a/src/app/components/RoomForm.svelte b/src/app/components/RoomForm.svelte index ff228e3..29f1401 100644 --- a/src/app/components/RoomForm.svelte +++ b/src/app/components/RoomForm.svelte @@ -9,6 +9,7 @@ import {preventDefault, compressFile} from "@lib/html" import FieldInline from "@lib/components/FieldInline.svelte" import Icon from "@lib/components/Icon.svelte" + import ImageIcon from "@lib/components/ImageIcon.svelte" import IconPickerButton from "@lib/components/IconPickerButton.svelte" import {pushToast} from "@app/util/toast" import {uploadFile} from "@app/core/commands" @@ -113,10 +114,7 @@ {#if imagePreview} Selected: - + {:else if selectedIcon} @@ -148,7 +146,7 @@ {#snippet input()} {#if imagePreview} - + {:else if selectedIcon} {:else} diff --git a/src/app/components/RoomNameWithImage.svelte b/src/app/components/RoomNameWithImage.svelte index 5753d95..1718dfb 100644 --- a/src/app/components/RoomNameWithImage.svelte +++ b/src/app/components/RoomNameWithImage.svelte @@ -1,6 +1,7 @@ -{#if $room?.picture} +{#if $room.picture} {@const src = $room.picture} - {#if src.match("\.(png|svg)$") || src.match("image/(png|svg)")} - - {:else} - - {/if} + {:else} {/if} diff --git a/src/app/core/state.ts b/src/app/core/state.ts index c15a82a..6918b7b 100644 --- a/src/app/core/state.ts +++ b/src/app/core/state.ts @@ -98,6 +98,7 @@ import { RelayMode, verifyEvent, readRoomMeta, + makeRoomMeta, } from "@welshman/util" import type { TrustedEvent, @@ -612,7 +613,8 @@ export const { }, }) -export const deriveRoom = (url: string, h: string) => _deriveRoom(makeRoomId(url, h)) +export const deriveRoom = (url: string, h: string) => + derived(_deriveRoom(makeRoomId(url, h)), $meta => $meta || makeRoomMeta({h})) export const displayRoom = (url: string, h: string) => roomsById.get().get(makeRoomId(url, h))?.name || h diff --git a/src/lib/components/ImageIcon.svelte b/src/lib/components/ImageIcon.svelte new file mode 100644 index 0000000..4574d8b --- /dev/null +++ b/src/lib/components/ImageIcon.svelte @@ -0,0 +1,16 @@ + + +{#if src.includes("image/svg") || src.endsWith(".svg")} + +{:else} + +{/if} diff --git a/src/routes/spaces/[relay]/[h]/+page.svelte b/src/routes/spaces/[relay]/[h]/+page.svelte index d7f01b1..0465c79 100644 --- a/src/routes/spaces/[relay]/[h]/+page.svelte +++ b/src/routes/spaces/[relay]/[h]/+page.svelte @@ -386,11 +386,11 @@ - {#if $room?.isPrivate && $membershipStatus !== MembershipStatus.Granted} + {#if $room.isPrivate && $membershipStatus !== MembershipStatus.Granted} You aren't currently a member of this room. - {#if !$room?.isClosed} + {#if !$room.isClosed} {#if $membershipStatus === MembershipStatus.Pending} @@ -452,12 +452,12 @@ - {#if $room?.isPrivate && $membershipStatus !== MembershipStatus.Granted} + {#if $room.isPrivate && $membershipStatus !== MembershipStatus.Granted} - {:else if $room?.isRestricted && $membershipStatus !== MembershipStatus.Granted} + {:else if $room.isRestricted && $membershipStatus !== MembershipStatus.Granted} Only members are allowed to post to this room. - {#if !$room?.isClosed} + {#if !$room.isClosed} {#if $membershipStatus === MembershipStatus.Pending}
You aren't currently a member of this room.
Only members are allowed to post to this room.