All 7 in-scope back navigation links converted to use history.back(). Admin panel mobile chevron converted inline (icon-only, different visual pattern). Cancel buttons left as static <a> links. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
93 lines
2.7 KiB
Svelte
93 lines
2.7 KiB
Svelte
<script lang="ts">
|
|
import { enhance } from '$app/forms';
|
|
import { m } from '$lib/paraglide/messages.js';
|
|
import { getConfirmService } from '$lib/services/confirm.svelte.js';
|
|
import BackButton from '$lib/components/BackButton.svelte';
|
|
import DocumentEditLayout from '$lib/components/document/DocumentEditLayout.svelte';
|
|
|
|
let { data, form } = $props();
|
|
|
|
const doc = $derived(data.document);
|
|
const { confirm } = getConfirmService();
|
|
|
|
async function handleDelete() {
|
|
const confirmed = await confirm({
|
|
title: m.doc_delete_confirm(),
|
|
destructive: true
|
|
});
|
|
if (confirmed) {
|
|
(document.getElementById('delete-form') as HTMLFormElement | null)?.requestSubmit();
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<svelte:head>
|
|
<title>{doc.title || doc.originalFilename || 'Dokument'} — {m.doc_edit_heading()}</title>
|
|
</svelte:head>
|
|
|
|
<DocumentEditLayout doc={doc} formId="update-form" formAction="?/update" formError={form?.error}>
|
|
{#snippet topbar()}
|
|
<BackButton />
|
|
|
|
<p class="max-w-sm truncate text-center font-serif text-sm font-medium text-ink">
|
|
{doc.title || doc.originalFilename}
|
|
</p>
|
|
|
|
<div class="w-40"></div>
|
|
{/snippet}
|
|
|
|
{#snippet actionbar()}
|
|
<button
|
|
type="button"
|
|
onclick={handleDelete}
|
|
class="flex items-center gap-1.5 rounded border border-red-300 px-4 py-1.5 font-sans text-xs font-bold text-red-600 transition-colors hover:border-red-600 hover:bg-red-50"
|
|
>
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
class="h-4 w-4"
|
|
viewBox="0 0 24 24"
|
|
fill="none"
|
|
stroke="currentColor"
|
|
stroke-width="2"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
aria-hidden="true"
|
|
>
|
|
<polyline points="3 6 5 6 21 6" />
|
|
<path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6" />
|
|
<path d="M10 11v6M14 11v6" />
|
|
<path d="M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2" />
|
|
</svg>
|
|
{m.btn_delete()}
|
|
</button>
|
|
|
|
<div class="flex items-center gap-3">
|
|
<a
|
|
href="/documents/{doc.id}"
|
|
class="font-sans text-sm font-medium text-ink-2 transition-colors hover:text-ink"
|
|
>
|
|
{m.btn_cancel()}
|
|
</a>
|
|
|
|
<button
|
|
type="submit"
|
|
form="mark-for-review-form"
|
|
class="rounded-sm border border-gray-300 px-5 py-2 font-sans text-xs font-bold tracking-widest text-gray-600 uppercase transition-colors hover:bg-gray-50"
|
|
>
|
|
{m.btn_mark_for_review()}
|
|
</button>
|
|
|
|
<button
|
|
type="submit"
|
|
form="update-form"
|
|
class="rounded-sm bg-primary px-5 py-2 font-sans text-xs font-bold tracking-widest text-primary-fg uppercase transition-colors hover:bg-primary/90"
|
|
>
|
|
{m.btn_save()}
|
|
</button>
|
|
</div>
|
|
{/snippet}
|
|
</DocumentEditLayout>
|
|
|
|
<form id="mark-for-review-form" method="POST" action="?/markForReview" use:enhance></form>
|
|
<form id="delete-form" method="POST" action="?/delete" use:enhance></form>
|