Add protected tag

This commit is contained in:
Jon Staab
2024-12-09 11:59:42 -08:00
parent 1e0cb93183
commit e17cda1eff
10 changed files with 23 additions and 18 deletions

View File

@@ -20,7 +20,7 @@
import ChannelMessageEmojiButton from "@app/components/ChannelMessageEmojiButton.svelte"
import ChannelMessageMenuButton from "@app/components/ChannelMessageMenuButton.svelte"
import ChannelMessageMenuMobile from "@app/components/ChannelMessageMenuMobile.svelte"
import {colors, tagRoom, pubkeyLink} from "@app/state"
import {colors, tagRoom, pubkeyLink, PROTECTED} from "@app/state"
import {publishDelete, publishReaction} from "@app/commands"
import {pushModal} from "@app/modal"
@@ -49,7 +49,7 @@
event,
content,
relays: [url],
tags: [tagRoom(room, url)],
tags: [tagRoom(room, url), PROTECTED],
})
}
}

View File

@@ -2,7 +2,7 @@
import type {NativeEmoji} from "emoji-picker-element/shared"
import EmojiButton from "@lib/components/EmojiButton.svelte"
import Icon from "@lib/components/Icon.svelte"
import {tagRoom} from "@app/state"
import {tagRoom, PROTECTED} from "@app/state"
import {publishReaction} from "@app/commands"
export let url, room, event
@@ -12,7 +12,7 @@
event,
relays: [url],
content: emoji.unicode,
tags: [tagRoom(room, url)],
tags: [tagRoom(room, url), PROTECTED],
})
</script>

View File

@@ -8,7 +8,7 @@
import ConfirmDelete from "@app/components/ConfirmDelete.svelte"
import {publishReaction} from "@app/commands"
import {pushModal} from "@app/modal"
import {tagRoom} from "@app/state"
import {tagRoom, PROTECTED} from "@app/state"
export let url
export let room
@@ -20,7 +20,7 @@
event,
relays: [url],
content: emoji.unicode,
tags: [tagRoom(room, url)],
tags: [tagRoom(room, url), PROTECTED],
})
}

View File

@@ -11,6 +11,7 @@
import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalFooter from "@lib/components/ModalFooter.svelte"
import DateTimeInput from "@lib/components/DateTimeInput.svelte"
import {PROTECTED} from "@app/state"
import {getPubkeyHints} from "@app/commands"
import {getEditorOptions, getEditorTags} from "@lib/editor"
import {pushToast} from "@app/toast"
@@ -46,6 +47,7 @@
["start", dateToSeconds(start).toString()],
["end", dateToSeconds(end).toString()],
...getEditorTags($editor),
PROTECTED,
],
})

View File

@@ -8,6 +8,7 @@
import NoteCard from "@app/components/NoteCard.svelte"
import ReactionSummary from "@app/components/ReactionSummary.svelte"
import {publishDelete, publishReaction} from "@app/commands"
import {PROTECTED} from "@app/state"
export let url
export let event
@@ -18,12 +19,12 @@
if (reaction) {
publishDelete({relays: [url], event: reaction})
} else {
publishReaction({event, content, relays: [url]})
publishReaction({event, content, tags: [PROTECTED], relays: [url]})
}
}
const onEmoji = (emoji: NativeEmoji) =>
publishReaction({event, relays: [url], content: emoji.unicode})
publishReaction({event, content: emoji.unicode, tags: [PROTECTED], relays: [url]})
</script>
<NoteCard {event} class="card2 bg-alt">

View File

@@ -16,7 +16,7 @@
import {publishDelete, publishReaction} from "@app/commands"
import {deriveNotification} from "@app/notifications"
import {makeSpacePath} from "@app/routes"
import {COMMENT} from "@app/state"
import {COMMENT, PROTECTED} from "@app/state"
export let url
export let event
@@ -39,12 +39,12 @@
if (reaction) {
publishDelete({relays: [url], event: reaction})
} else {
publishReaction({event, content, relays: [url]})
publishReaction({event, content, tags: [PROTECTED], relays: [url]})
}
}
const onEmoji = (emoji: NativeEmoji) =>
publishReaction({event, relays: [url], content: emoji.unicode})
publishReaction({event, content: emoji.unicode, tags: [PROTECTED], relays: [url]})
let popover: Instance

View File

@@ -11,7 +11,7 @@
import ModalHeader from "@lib/components/ModalHeader.svelte"
import ModalFooter from "@lib/components/ModalFooter.svelte"
import {pushToast} from "@app/toast"
import {THREAD, GENERAL, tagRoom} from "@app/state"
import {THREAD, GENERAL, tagRoom, PROTECTED} from "@app/state"
import {getPubkeyHints} from "@app/commands"
import {getEditorOptions, getEditorTags} from "@lib/editor"
@@ -38,7 +38,7 @@
})
}
const tags = [["title", title], tagRoom(GENERAL, url), ...getEditorTags($editor)]
const tags = [["title", title], tagRoom(GENERAL, url), ...getEditorTags($editor), PROTECTED]
publishThunk({
relays: [url],

View File

@@ -2,7 +2,6 @@
import {onMount} from "svelte"
import type {Readable} from "svelte/store"
import {createEditor, type Editor, EditorContent} from "svelte-tiptap"
import {append} from "@welshman/lib"
import {isMobile} from "@lib/html"
import {fly, slideAndFade} from "@lib/transition"
import Icon from "@lib/components/Icon.svelte"
@@ -10,7 +9,7 @@
import ModalFooter from "@lib/components/ModalFooter.svelte"
import {getEditorOptions, getEditorTags} from "@lib/editor"
import {getPubkeyHints, publishComment} from "@app/commands"
import {tagRoom, GENERAL} from "@app/state"
import {tagRoom, GENERAL, PROTECTED} from "@app/state"
import {pushToast} from "@app/toast"
export let url
@@ -22,7 +21,7 @@
if ($loading) return
const content = $editor.getText({blockSeparator: "\n"})
const tags = append(tagRoom(GENERAL, url), getEditorTags($editor))
const tags = [...getEditorTags($editor), tagRoom(GENERAL, url), [PROTECTED]]
if (!content.trim()) {
return pushToast({

View File

@@ -65,6 +65,8 @@ export const ROOM = "h"
export const GENERAL = "_"
export const PROTECTED = ["-"]
export const MESSAGE = 9
export const THREAD = 11

View File

@@ -13,7 +13,7 @@
import type {Readable} from "svelte/store"
import type {Editor} from "svelte-tiptap"
import {page} from "$app/stores"
import {sleep, append, now, ctx} from "@welshman/lib"
import {sleep, now, ctx} from "@welshman/lib"
import type {TrustedEvent, EventContent} from "@welshman/util"
import {createEvent, DELETE} from "@welshman/util"
import {formatTimestampAsDate, publishThunk} from "@welshman/app"
@@ -41,6 +41,7 @@
} from "@app/state"
import {setChecked} from "@app/notifications"
import {addRoomMembership, removeRoomMembership, subscribePersistent} from "@app/commands"
import {PROTECTED} from "@app/state"
import {popKey} from "@app/implicit"
const {room = GENERAL} = $page.params
@@ -62,7 +63,7 @@
const onSubmit = ({content, tags}: EventContent) =>
publishThunk({
relays: [url],
event: createEvent(MESSAGE, {content, tags: append(tagRoom(room, url), tags)}),
event: createEvent(MESSAGE, {content, tags: [...tags, tagRoom(room, url), PROTECTED]}),
delay: $userSettingValues.send_delay,
})