diff --git a/src/app/components/EventMenu.svelte b/src/app/components/EventMenu.svelte index f944d3ba..174a28b5 100644 --- a/src/app/components/EventMenu.svelte +++ b/src/app/components/EventMenu.svelte @@ -14,7 +14,7 @@ import Confirm from "@lib/components/Confirm.svelte" import Icon from "@lib/components/Icon.svelte" import EventInfo from "@app/components/EventInfo.svelte" - import EventReport from "@app/components/EventReport.svelte" + import Report from "@app/components/Report.svelte" import EventShare from "@app/components/EventShare.svelte" import EventDeleteConfirm from "@app/components/EventDeleteConfirm.svelte" import {hasNip29, deriveUserIsSpaceAdmin} from "@app/core/state" @@ -35,7 +35,7 @@ const isRoot = event.kind !== COMMENT const userIsAdmin = deriveUserIsSpaceAdmin(url) - const report = () => pushModal(EventReport, {url, event}) + const report = () => pushModal(Report, {url, event}) const showInfo = () => pushModal(EventInfo, {url, event}) diff --git a/src/app/components/EventReportDetails.svelte b/src/app/components/EventReportDetails.svelte deleted file mode 100644 index 1a6b26df..00000000 --- a/src/app/components/EventReportDetails.svelte +++ /dev/null @@ -1,60 +0,0 @@ - - -
- - {#snippet title()} -
Report Details
- {/snippet} - {#snippet info()} -
All reports for this event are shown below.
- {/snippet} -
- {#each $reports as report (report.id)} - {@const reason = getReason(report.tags)} - {@const remove = () => deleteReport(report)} -
-
-
- - Reported this event as "{reason}" -
- {#if report.pubkey === $pubkey} - - {/if} -
- {#if report.content} -

"{report.content}"

- {/if} -
- {/each} - -
diff --git a/src/app/components/NoteCard.svelte b/src/app/components/NoteCard.svelte index 0539d357..f04f0382 100644 --- a/src/app/components/NoteCard.svelte +++ b/src/app/components/NoteCard.svelte @@ -1,19 +1,16 @@ + +
+ + {#snippet title()} +
Report Details
+ {/snippet} + {#snippet info()} +
All reports for this event are shown below.
+ {/snippet} +
+ {#each $reports as report (report.id)} +
+ +
+ {/each} + +
diff --git a/src/app/components/ReportItem.svelte b/src/app/components/ReportItem.svelte new file mode 100644 index 00000000..8101797f --- /dev/null +++ b/src/app/components/ReportItem.svelte @@ -0,0 +1,93 @@ + + +
+
+
+ + + Reported this event + {#if reason} + as "{reason}" + {/if} + +
+ {#if event.pubkey === $pubkey} + + {:else} + + {/if} +
+ {#if event.content} +
+ +
+ {/if} +
+ {#if etag} + {#await load({relays: [url, LOCAL_RELAY_URL], filters: getIdFilters([etag[1]])})} +

Loading

+ {:then reportedEvents} + {#if reportedEvents.length === 0} +

Unable to find reported note.

+ {:else} + {@const event = reportedEvents[0]} + + {/if} + {/await} + {:else if ptag} + + {/if} +
+
diff --git a/src/app/components/ReportMenu.svelte b/src/app/components/ReportMenu.svelte new file mode 100644 index 00000000..e3cc81df --- /dev/null +++ b/src/app/components/ReportMenu.svelte @@ -0,0 +1,132 @@ + + +
+ + {#if isOpen} + + + + {/if} +
diff --git a/src/app/components/RoomItemMenu.svelte b/src/app/components/RoomItemMenu.svelte index d2470e90..e03e47c8 100644 --- a/src/app/components/RoomItemMenu.svelte +++ b/src/app/components/RoomItemMenu.svelte @@ -9,7 +9,7 @@ import Icon from "@lib/components/Icon.svelte" import Confirm from "@lib/components/Confirm.svelte" import EventInfo from "@app/components/EventInfo.svelte" - import EventReport from "@app/components/EventReport.svelte" + import Report from "@app/components/Report.svelte" import EventDeleteConfirm from "@app/components/EventDeleteConfirm.svelte" import {pushModal} from "@app/util/modal" import {pushToast} from "@app/util/toast" @@ -27,7 +27,7 @@ const report = () => { onClick() - pushModal(EventReport, {url, event}) + pushModal(Report, {url, event}) } const showInfo = () => { diff --git a/src/app/components/RoomMembers.svelte b/src/app/components/RoomMembers.svelte index 40500749..e4c8b15a 100644 --- a/src/app/components/RoomMembers.svelte +++ b/src/app/components/RoomMembers.svelte @@ -31,11 +31,11 @@ const back = () => history.back() const toggleMenu = (pubkey: string) => { - menuPubkey = menuPubkey === pubkey ? null : pubkey + menuPubkey = menuPubkey === pubkey ? undefined : pubkey } const closeMenu = () => { - menuPubkey = null + menuPubkey = undefined } const addMember = () => pushModal(RoomMembersAdd, {url, h}) @@ -56,7 +56,7 @@ }, }) - let menuPubkey = $state(null) + let menuPubkey = $state()
diff --git a/src/app/components/SpaceMembers.svelte b/src/app/components/SpaceMembers.svelte index f34b93c5..a55d11cc 100644 --- a/src/app/components/SpaceMembers.svelte +++ b/src/app/components/SpaceMembers.svelte @@ -1,6 +1,6 @@
diff --git a/src/app/components/SpaceMembersBanned.svelte b/src/app/components/SpaceMembersBanned.svelte index 3ba22899..cfd88ac1 100644 --- a/src/app/components/SpaceMembersBanned.svelte +++ b/src/app/components/SpaceMembersBanned.svelte @@ -25,11 +25,11 @@ const back = () => history.back() const toggleMenu = (pubkey: string) => { - menuPubkey = menuPubkey === pubkey ? null : pubkey + menuPubkey = menuPubkey === pubkey ? undefined : pubkey } const closeMenu = () => { - menuPubkey = null + menuPubkey = undefined } const restoreMember = async (pubkey: string) => { @@ -46,7 +46,7 @@ } } - let menuPubkey = $state(null) + let menuPubkey = $state()
diff --git a/src/app/components/SpaceMenu.svelte b/src/app/components/SpaceMenu.svelte index 6162f37e..55910f8f 100644 --- a/src/app/components/SpaceMenu.svelte +++ b/src/app/components/SpaceMenu.svelte @@ -1,12 +1,13 @@ + +
+
+

Reports

+

on {displayRelayUrl(url)}

+
+ {#each $reports as event (event.id)} + + {/each} + + + +
diff --git a/src/lib/indexeddb.ts b/src/lib/indexeddb.ts index 55a03838..5c7b139e 100644 --- a/src/lib/indexeddb.ts +++ b/src/lib/indexeddb.ts @@ -34,7 +34,7 @@ export class IDB { async init(adapters: IDBAdapters) { if (this.idbp) { - await this.close() + throw new Error("Unable to initialize a database that isn't yet closed") } this.status = IDBStatus.Opening diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index f61b91e7..f3adba9f 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -111,7 +111,9 @@ ]) // Wait until data storage is initialized before syncing other stuff - await db.init(storage.adapters) + if (!db.idbp) { + await db.init(storage.adapters) + } // Add our extra policies now that we're set up defaultSocketPolicies.push(...policies)