diff --git a/src/app/commands.ts b/src/app/commands.ts index 16dd492..726e209 100644 --- a/src/app/commands.ts +++ b/src/app/commands.ts @@ -147,7 +147,7 @@ export const broadcastUserData = async (relays: string[]) => { export const addSpaceMembership = async (url: string) => { const list = get(userMembership) || makeList({kind: MEMBERSHIPS}) const event = await addToListPublicly(list, ["r", url]).reconcile(nip44EncryptToSelf) - const relays = [...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)] + const relays = uniq([...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)]) return publishThunk({event, relays}).result } @@ -156,7 +156,7 @@ export const removeSpaceMembership = async (url: string) => { const list = get(userMembership) || makeList({kind: MEMBERSHIPS}) const pred = (t: string[]) => t[t[0] === "r" ? 1 : 2] === url const event = await removeFromListByPredicate(list, pred).reconcile(nip44EncryptToSelf) - const relays = [...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)] + const relays = uniq([...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)]) return publishThunk({event, relays}).result } @@ -164,7 +164,7 @@ export const removeSpaceMembership = async (url: string) => { export const addRoomMembership = async (url: string, room: string) => { const list = get(userMembership) || makeList({kind: MEMBERSHIPS}) const event = await addToListPublicly(list, tagRoom(room, url)).reconcile(nip44EncryptToSelf) - const relays = [...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)] + const relays = uniq([...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)]) return publishThunk({event, relays}).result } @@ -173,7 +173,7 @@ export const removeRoomMembership = async (url: string, room: string) => { const list = get(userMembership) || makeList({kind: MEMBERSHIPS}) const pred = (t: string[]) => equals(tagRoom(room, url), t) const event = await removeFromListByPredicate(list, pred).reconcile(nip44EncryptToSelf) - const relays = [...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)] + const relays = uniq([...ctx.app.router.WriteRelays().getUrls(), ...getRelayTagValues(event.tags)]) return publishThunk({event, relays}).result } diff --git a/src/app/components/ChannelCompose.svelte b/src/app/components/ChannelCompose.svelte index f572bd9..f0b3a53 100644 --- a/src/app/components/ChannelCompose.svelte +++ b/src/app/components/ChannelCompose.svelte @@ -29,7 +29,6 @@ getEditorOptions({submit, loading, getPubkeyHints, submitOnEnter: true, autofocus: true}), ) - console.log($editor, content) $editor.commands.setContent(content) }) diff --git a/src/app/components/Content.svelte b/src/app/components/Content.svelte index 2b7012b..9a60031 100644 --- a/src/app/components/Content.svelte +++ b/src/app/components/Content.svelte @@ -28,7 +28,7 @@ import ContentQuote from "@app/components/ContentQuote.svelte" import ContentTopic from "@app/components/ContentTopic.svelte" import ContentMention from "@app/components/ContentMention.svelte" - import {entityLink, userSettings} from "@app/state" + import {entityLink, userSettingValues} from "@app/state" export let event export let minLength = 500 @@ -70,7 +70,7 @@ } let warning = - $userSettings?.values.hide_sensitive && event.tags.find(nthEq(0, "content-warning"))?.[1] + $userSettingValues.hide_sensitive && event.tags.find(nthEq(0, "content-warning"))?.[1] $: shortContent = showEntire ? fullContent @@ -106,7 +106,7 @@ {:else if isCashu(parsed) || isInvoice(parsed)} {:else if isLink(parsed)} - {#if isStartOrEnd(i) && !hideMedia} + {#if isStartOrEnd(i) && !hideMedia && $userSettingValues.show_media} {:else} diff --git a/src/app/state.ts b/src/app/state.ts index 81a3070..3450a1b 100644 --- a/src/app/state.ts +++ b/src/app/state.ts @@ -256,11 +256,13 @@ export const SETTINGS = 38489 export type Settings = { event: TrustedEvent values: { + show_media: boolean hide_sensitive: boolean } } export const defaultSettings = { + show_media: true, hide_sensitive: true, } @@ -499,6 +501,8 @@ export const userSettings = withGetter( }), ) +export const userSettingValues = derived(userSettings, $s => $s?.values || defaultSettings) + export const userMembership = withGetter( derived([pubkey, membershipByPubkey], ([$pubkey, $membershipByPubkey]) => { if (!$pubkey) return undefined diff --git a/src/lib/components/FieldInline.svelte b/src/lib/components/FieldInline.svelte index 4dae4a1..7f72b64 100644 --- a/src/lib/components/FieldInline.svelte +++ b/src/lib/components/FieldInline.svelte @@ -1,12 +1,12 @@ -
+
-
+
{#if $$slots.info} -

+

{/if} diff --git a/src/routes/discover/+layout.svelte b/src/routes/discover/+layout.svelte deleted file mode 100644 index e69de29..0000000 diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte index 6d92e08..b66a068 100644 --- a/src/routes/settings/+page.svelte +++ b/src/routes/settings/+page.svelte @@ -7,12 +7,11 @@ import Button from "@lib/components/Button.svelte" import ProfileMultiSelect from "@app/components/ProfileMultiSelect.svelte" import {pushToast} from "@app/toast" - import {SETTINGS, PLATFORM_NAME, userSettings} from "@app/state" - - const settings = {...$userSettings?.values} + import {SETTINGS, PLATFORM_NAME, userSettingValues} from "@app/state" const reset = () => { mutedPubkeys = getPubkeyTagValues(getListTags($userMutes)) + settings = {...$userSettingValues} } const onSubmit = async () => { @@ -31,17 +30,12 @@ pushToast({message: "Your settings have been saved!"}) } + let settings = {...$userSettingValues} let mutedPubkeys = getPubkeyTagValues(getListTags($userMutes))
- -

Muted Accounts

-
- -
-

Hide sensitive content?

+ +

Show media?

+ +

+ Use this to disable link previews and image rendering. +

+
+ +

Muted Accounts

+
+ +
+