refactor: move shared utilities to lib/shared/ sub-packages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-05 14:35:15 +02:00
parent 7cb922e90f
commit d6db7a07bd
117 changed files with 97 additions and 97 deletions

View File

@@ -3,8 +3,8 @@ import { SvelteMap } from 'svelte/reactivity';
import { goto } from '$app/navigation';
import { onDestroy, onMount, untrack } from 'svelte';
import { m } from '$lib/paraglide/messages.js';
import { getConfirmService } from '$lib/services/confirm.svelte.js';
import type { ConfirmService } from '$lib/services/confirm.svelte.js';
import { getConfirmService } from '$lib/shared/services/confirm.svelte.js';
import type { ConfirmService } from '$lib/shared/services/confirm.svelte.js';
import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte';
import BulkDropZone from './BulkDropZone.svelte';
import FileSwitcherStrip from './FileSwitcherStrip.svelte';

View File

@@ -5,7 +5,7 @@ import { onMount, onDestroy, untrack } from 'svelte';
import type { Snippet } from 'svelte';
import { createFileLoader } from '$lib/document/viewer/useFileLoader.svelte';
import { m } from '$lib/paraglide/messages.js';
import { countRequiredFilled } from '$lib/utils/requiredFields';
import { countRequiredFilled } from '$lib/shared/utils/requiredFields';
import { validateFile } from '$lib/document/validateFile';
import DocumentViewer from '$lib/document/DocumentViewer.svelte';
import UploadZone from '$lib/document/UploadZone.svelte';

View File

@@ -1,8 +1,8 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import { formatDate } from '$lib/utils/date';
import { formatDate } from '$lib/shared/utils/date';
import { formatDocumentStatus } from '$lib/document/documentStatusLabel';
import { getInitials, personAvatarColor } from '$lib/utils/personFormat';
import { getInitials, personAvatarColor } from '$lib/person/personFormat';
import RelationshipPill from '$lib/person/RelationshipPill.svelte';
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };

View File

@@ -1,8 +1,8 @@
<script lang="ts">
import type { components } from '$lib/generated/api';
import { m } from '$lib/paraglide/messages.js';
import { clickOutside } from '$lib/actions/clickOutside';
import { formatDate } from '$lib/utils/date';
import { clickOutside } from '$lib/shared/actions/clickOutside';
import { formatDate } from '$lib/shared/utils/date';
type Document = components['schemas']['Document'];
type DocumentSearchItem = components['schemas']['DocumentSearchItem'];

View File

@@ -2,7 +2,7 @@
import { goto } from '$app/navigation';
import type { components } from '$lib/generated/api';
import { applyOffsets } from '$lib/document/search';
import { formatDate } from '$lib/utils/date';
import { formatDate } from '$lib/shared/utils/date';
import * as m from '$lib/paraglide/messages.js';
import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte';
import ProgressRing from '$lib/components/ProgressRing.svelte';

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import { statusDotClass, statusLabel } from '$lib/utils/personFormat';
import { statusDotClass, statusLabel } from '$lib/person/personFormat';
type DocumentStatus = 'PLACEHOLDER' | 'UPLOADED' | 'TRANSCRIBED' | 'REVIEWED' | 'ARCHIVED';

View File

@@ -1,8 +1,8 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import { slide } from 'svelte/transition';
import { formatDate } from '$lib/utils/date';
import { clickOutside } from '$lib/actions/clickOutside';
import { formatDate } from '$lib/shared/utils/date';
import { clickOutside } from '$lib/shared/actions/clickOutside';
import PersonChipRow from '$lib/person/PersonChipRow.svelte';
import OverflowPillButton from '$lib/components/OverflowPillButton.svelte';
import DocumentMetadataDrawer from './DocumentMetadataDrawer.svelte';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import * as m from '$lib/paraglide/messages.js';
import { getLocale } from '$lib/paraglide/runtime.js';
import { formatMCDate } from '$lib/utils/date.js';
import { formatMCDate } from '$lib/shared/utils/date.js';
import type { components } from '$lib/generated/api';
import ContributorStack from '$lib/components/ContributorStack.svelte';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import * as m from '$lib/paraglide/messages.js';
import { getLocale } from '$lib/paraglide/runtime.js';
import { formatMCDate } from '$lib/utils/date.js';
import { formatMCDate } from '$lib/shared/utils/date.js';
import type { components } from '$lib/generated/api';
import ContributorStack from '$lib/components/ContributorStack.svelte';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import ConversationThumbnail from '$lib/conversation/ConversationThumbnail.svelte';
import TagChipList from '$lib/tag/TagChipList.svelte';
import { formatDate } from '$lib/utils/date';
import { formatDate } from '$lib/shared/utils/date';
import * as m from '$lib/paraglide/messages.js';
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };

View File

@@ -3,7 +3,7 @@ import { onMount, untrack } from 'svelte';
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
import PersonMultiSelect from '$lib/person/PersonMultiSelect.svelte';
import FieldLabelBadge from './FieldLabelBadge.svelte';
import { isoToGerman, handleGermanDateInput } from '$lib/utils/date';
import { isoToGerman, handleGermanDateInput } from '$lib/shared/utils/date';
import { m } from '$lib/paraglide/messages.js';
import type { components } from '$lib/generated/api';

View File

@@ -1,4 +1,4 @@
import { isoToGerman } from '$lib/utils/date';
import { isoToGerman } from '$lib/shared/utils/date';
export interface FilenameParseResult {
/** ISO format: YYYY-MM-DD */

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import { getConfirmService } from '$lib/services/confirm.svelte.js';
import { getConfirmService } from '$lib/shared/services/confirm.svelte.js';
import CommentThread from '$lib/components/CommentThread.svelte';
import PersonMentionEditor from '$lib/components/PersonMentionEditor.svelte';
import type { PersonMention } from '$lib/types';

View File

@@ -2,7 +2,7 @@ import { describe, it, expect, vi, afterEach } from 'vitest';
import { cleanup, render } from 'vitest-browser-svelte';
import { page } from 'vitest/browser';
import TranscriptionBlockHost from './TranscriptionBlock.test-host.svelte';
import type { ConfirmService } from '$lib/services/confirm.svelte.js';
import type { ConfirmService } from '$lib/shared/services/confirm.svelte.js';
afterEach(cleanup);

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import { provideConfirmService, type ConfirmService } from '$lib/services/confirm.svelte.js';
import { provideConfirmService, type ConfirmService } from '$lib/shared/services/confirm.svelte.js';
import TranscriptionBlock from './TranscriptionBlock.svelte';
import type { PersonMention } from '$lib/types';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import * as m from '$lib/paraglide/messages.js';
import { getLocale } from '$lib/paraglide/runtime.js';
import { formatMCDate } from '$lib/utils/date.js';
import { formatMCDate } from '$lib/shared/utils/date.js';
import type { components } from '$lib/generated/api';
import ContributorStack from '$lib/components/ContributorStack.svelte';

View File

@@ -2,7 +2,7 @@ import { describe, it, expect, vi, afterEach } from 'vitest';
import { cleanup, render } from 'vitest-browser-svelte';
import { page } from 'vitest/browser';
import TranscriptionEditView from './TranscriptionEditView.svelte';
import { createConfirmService, CONFIRM_KEY } from '$lib/services/confirm.svelte.js';
import { createConfirmService, CONFIRM_KEY } from '$lib/shared/services/confirm.svelte.js';
afterEach(cleanup);

View File

@@ -6,10 +6,10 @@ import {
renderTranscriptionBody,
type SafeHtml,
PERSON_MENTION_SELECTOR
} from '$lib/utils/mention';
import { computeHoverCardPosition } from '$lib/utils/hoverCardPosition';
} from '$lib/shared/discussion/mention';
import { computeHoverCardPosition } from '$lib/shared/utils/hoverCardPosition';
import PersonHoverCard from '$lib/person/PersonHoverCard.svelte';
import type { HoverData, LoadState } from '$lib/types/personHoverCard';
import type { HoverData, LoadState } from '$lib/person/personHoverCard';
import { goto } from '$app/navigation';
import { SvelteMap, SvelteSet } from 'svelte/reactivity';