diff --git a/src/app/shared/EventDate.svelte b/src/app/shared/EventDate.svelte index b6164701..9766c3a9 100644 --- a/src/app/shared/EventDate.svelte +++ b/src/app/shared/EventDate.svelte @@ -4,9 +4,10 @@ export let event - const date = secondsToDate(Tags.fromEvent(event).get("start")?.value()) const monthFmt = new Intl.DateTimeFormat(getLocale(), {month: "short"}) const dayFmt = new Intl.DateTimeFormat(getLocale(), {day: "numeric"}) + + $: date = secondsToDate(Tags.fromEvent(event).get("start")?.value())
diff --git a/src/app/shared/EventInfo.svelte b/src/app/shared/EventInfo.svelte index bb48a109..a9504bf8 100644 --- a/src/app/shared/EventInfo.svelte +++ b/src/app/shared/EventInfo.svelte @@ -10,29 +10,30 @@ import EventActions from "src/app/shared/EventActions.svelte" import NoteContentKind1 from "src/app/shared/NoteContentKind1.svelte" import {router} from "src/app/util/router" - import {deriveIsDeleted, getSetting, pubkey} from "src/engine" + import {deriveIsDeletedByAddress, getSetting, pubkey} from "src/engine" export let event export let showDate = false export let actionsInline = false + const address = getAddress(event) const timeFmt = new Intl.DateTimeFormat(getLocale(), {timeStyle: "short"}) const datetimeFmt = new Intl.DateTimeFormat(getLocale(), {dateStyle: "short", timeStyle: "short"}) - const tags = Tags.fromEvent(event) - const groupAddrs = tags.context().values().valueOf() - const {name, title, location} = fromPairs(event.tags) - const end = parseInt(tags.get("end")?.value()) - const start = parseInt(tags.get("start")?.value()) - const startDate = secondsToDate(start) - const endDate = secondsToDate(end) - const startDateDisplay = formatTimestampAsDate(start) - const endDateDisplay = formatTimestampAsDate(end) - const isSingleDay = startDateDisplay === endDateDisplay - const address = getAddress(event) const detailPath = router.at("events").of(address).toString() const editLink = router.at("events").of(address).at("edit").toString() const deleteLink = router.at("events").of(address).at("delete").toString() - const deleted = deriveIsDeleted(event) + const deleted = deriveIsDeletedByAddress(event) + + $: tags = Tags.fromEvent(event) + $: groupAddrs = tags.context().values().valueOf() + $: ({name, title, location} = fromPairs(event.tags)) + $: end = parseInt(tags.get("end")?.value()) + $: start = parseInt(tags.get("start")?.value()) + $: startDate = secondsToDate(start) + $: endDate = secondsToDate(end) + $: startDateDisplay = formatTimestampAsDate(start) + $: endDateDisplay = formatTimestampAsDate(end) + $: isSingleDay = startDateDisplay === endDateDisplay
diff --git a/src/app/shared/NoteContentKind30402.svelte b/src/app/shared/NoteContentKind30402.svelte index 8663e77e..60c3a66f 100644 --- a/src/app/shared/NoteContentKind30402.svelte +++ b/src/app/shared/NoteContentKind30402.svelte @@ -11,7 +11,7 @@ import NoteContentTopics from "src/app/shared/NoteContentTopics.svelte" import NoteContentKind1 from "src/app/shared/NoteContentKind1.svelte" import {router} from "src/app/util/router" - import {hints, pubkey, deriveIsDeleted} from "src/engine" + import {hints, pubkey, deriveIsDeletedByAddress} from "src/engine" export let note export let showMedia = false @@ -24,7 +24,7 @@ const address = Address.fromEvent(note, hints.Event(note).redundancy(3).getUrls()) const editLink = router.at("listings").of(address.toString()).at("edit").toString() const deleteLink = router.at("listings").of(address.toString()).at("delete").toString() - const deleted = deriveIsDeleted(note) + const deleted = deriveIsDeletedByAddress(note) const sendMessage = () => { const naddr = address.toNaddr() diff --git a/src/app/views/EventDetail.svelte b/src/app/views/EventDetail.svelte index cad32b74..91099113 100644 --- a/src/app/views/EventDetail.svelte +++ b/src/app/views/EventDetail.svelte @@ -1,6 +1,6 @@ {#if loading} -{:else if event} +{:else if $event}
- - + +
- - + +
{:else} diff --git a/src/engine/repository.ts b/src/engine/repository.ts index 233fc101..c1992e0d 100644 --- a/src/engine/repository.ts +++ b/src/engine/repository.ts @@ -121,11 +121,11 @@ export const deriveEvents = (opts: {filters: Filter[]; includeDeleted?: boolean} export const deriveEvent = (idOrAddress: string) => derived(deriveEvents({filters: getIdFilters([idOrAddress]), includeDeleted: true}), first) -export const deriveIsDeleted = (event: TrustedEvent) => +export const deriveIsDeletedByAddress = (event: TrustedEvent) => custom(setter => { - setter(repository.isDeleted(event)) + setter(repository.isDeletedByAddress(event)) - const onUpdate = batch(300, () => setter(repository.isDeleted(event))) + const onUpdate = batch(300, () => setter(repository.isDeletedByAddress(event))) repository.on("update", onUpdate)