refactor(types): extract TranscriptionBlockData to shared types

Move duplicated type definition from TranscriptionEditView.svelte
and +page.svelte into $lib/types.ts for single source of truth.

Fixes @Felix: "Consider extracting the TranscriptionBlockData type"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-04-05 20:22:35 +02:00
parent 51c799e20e
commit b21778b3d1
3 changed files with 12 additions and 20 deletions

View File

@@ -2,16 +2,7 @@
import { m } from '$lib/paraglide/messages.js';
import { SvelteMap } from 'svelte/reactivity';
import TranscriptionBlock from './TranscriptionBlock.svelte';
type TranscriptionBlockData = {
id: string;
annotationId: string;
documentId: string;
text: string;
label: string | null;
sortOrder: number;
version: number;
};
import type { TranscriptionBlockData } from '$lib/types';
type SaveState = 'idle' | 'saving' | 'saved' | 'error';

View File

@@ -27,6 +27,16 @@ export type Comment = {
export type DocumentPanelTab = 'metadata' | 'transcription' | 'discussion' | 'history';
export type TranscriptionBlockData = {
id: string;
annotationId: string;
documentId: string;
text: string;
label: string | null;
sortOrder: number;
version: number;
};
export type Annotation = {
id: string;
documentId: string;

View File

@@ -5,6 +5,7 @@ import DocumentTopBar from '$lib/components/DocumentTopBar.svelte';
import DocumentViewer from '$lib/components/DocumentViewer.svelte';
import AnnotationSidePanel from '$lib/components/AnnotationSidePanel.svelte';
import TranscriptionEditView from '$lib/components/TranscriptionEditView.svelte';
import type { TranscriptionBlockData } from '$lib/types';
let { data } = $props();
@@ -65,16 +66,6 @@ let activeAnnotationPage = $state<number | null>(null);
// ── Transcription blocks ─────────────────────────────────────────────────────
type TranscriptionBlockData = {
id: string;
annotationId: string;
documentId: string;
text: string;
label: string | null;
sortOrder: number;
version: number;
};
let transcriptionBlocks = $state<TranscriptionBlockData[]>([]);
async function loadTranscriptionBlocks() {