add copy public report button
This commit is contained in:
@ -6,6 +6,7 @@
|
|||||||
import TeamSearch from '@components/admin/search/TeamSearch.svelte';
|
import TeamSearch from '@components/admin/search/TeamSearch.svelte';
|
||||||
import { editReportStatus, getReportStatus } from '@app/admin/reports/reports.ts';
|
import { editReportStatus, getReportStatus } from '@app/admin/reports/reports.ts';
|
||||||
import { confirmPopupState } from '@components/popup/ConfirmPopup.ts';
|
import { confirmPopupState } from '@components/popup/ConfirmPopup.ts';
|
||||||
|
import Icon from "@iconify/svelte";
|
||||||
|
|
||||||
// html bindings
|
// html bindings
|
||||||
let previewDialogElem: HTMLDialogElement;
|
let previewDialogElem: HTMLDialogElement;
|
||||||
@ -76,13 +77,27 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onCopyPublicLink(urlHash: string) {
|
||||||
|
navigator.clipboard.writeText(`${document.baseURI}report/${urlHash}`);
|
||||||
|
document.activeElement?.blur();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="absolute bottom-2 bg-base-200 rounded-lg w-[calc(100%-1rem)] mx-2 flex px-6 py-4 gap-2"
|
class="absolute bottom-2 bg-base-200 rounded-lg w-[calc(100%-1rem)] mx-2 flex px-6 py-4 gap-2"
|
||||||
hidden={report === null}
|
hidden={report === null}
|
||||||
>
|
>
|
||||||
<button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2" onclick={() => (report = null)}>✕</button>
|
<div class="absolute right-2 top-2">
|
||||||
|
<div class="dropdown dropdown-end">
|
||||||
|
<div tabindex="0" role="button" class="btn btn-sm btn-circle btn-ghost"><Icon icon="heroicons:share" /></div>
|
||||||
|
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
|
||||||
|
<ul tabindex="0" class="menu dropdown-content bg-base-100 rounded-box z-1 p-2 shadow-sm w-max">
|
||||||
|
<li><button onclick={() => onCopyPublicLink(report?.urlHash)}>Öffentlichen Report Link kopieren</button></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-sm btn-circle btn-ghost" onclick={() => (report = null)}>✕</button>
|
||||||
|
</div>
|
||||||
<div class="w-[34rem]">
|
<div class="w-[34rem]">
|
||||||
<TeamSearch value={report?.reporter.name} label="Report Team" readonly mustMatch />
|
<TeamSearch value={report?.reporter.name} label="Report Team" readonly mustMatch />
|
||||||
<TeamSearch value={report?.reported?.name} label="Reportetes Team" onSubmit={(team) => (reportedTeam = team)} />
|
<TeamSearch value={report?.reported?.name} label="Reportetes Team" onSubmit={(team) => (reportedTeam = team)} />
|
||||||
|
@ -113,6 +113,7 @@ export async function getReports(db: Database, values: GetReportsReq) {
|
|||||||
id: report.id,
|
id: report.id,
|
||||||
reason: report.reason,
|
reason: report.reason,
|
||||||
body: report.body,
|
body: report.body,
|
||||||
|
urlHash: report.urlHash,
|
||||||
createdAt: report.createdAt,
|
createdAt: report.createdAt,
|
||||||
reporter: {
|
reporter: {
|
||||||
id: reporterTeam.id,
|
id: reporterTeam.id,
|
||||||
|
Reference in New Issue
Block a user