Add show_media settings

This commit is contained in:
Jon Staab
2024-10-24 11:02:16 -07:00
parent 7ae0711905
commit 33c8142eda
7 changed files with 34 additions and 20 deletions
+4 -4
View File
@@ -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
}
-1
View File
@@ -29,7 +29,6 @@
getEditorOptions({submit, loading, getPubkeyHints, submitOnEnter: true, autofocus: true}),
)
console.log($editor, content)
$editor.commands.setContent(content)
})
</script>
+3 -3
View File
@@ -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)}
<ContentToken value={parsed.value} />
{:else if isLink(parsed)}
{#if isStartOrEnd(i) && !hideMedia}
{#if isStartOrEnd(i) && !hideMedia && $userSettingValues.show_media}
<ContentLinkBlock value={parsed.value} />
{:else}
<ContentLinkInline value={parsed.value} />
+4
View File
@@ -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