refactor: move shared components 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:40:14 +02:00
parent d6db7a07bd
commit efcc347c00
84 changed files with 43 additions and 43 deletions

View File

@@ -5,8 +5,8 @@ import { applyOffsets } from '$lib/document/search';
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';
import ContributorStack from '$lib/components/ContributorStack.svelte';
import ProgressRing from '$lib/shared/primitives/ProgressRing.svelte';
import ContributorStack from '$lib/shared/primitives/ContributorStack.svelte';
import DocumentThumbnail from './DocumentThumbnail.svelte';
type DocumentSearchItem = components['schemas']['DocumentSearchItem'];

View File

@@ -4,9 +4,9 @@ import { slide } from 'svelte/transition';
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 OverflowPillButton from '$lib/shared/primitives/OverflowPillButton.svelte';
import DocumentMetadataDrawer from './DocumentMetadataDrawer.svelte';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };
type Tag = { id: string; name: string };

View File

@@ -3,7 +3,7 @@ import * as m from '$lib/paraglide/messages.js';
import { getLocale } from '$lib/paraglide/runtime.js';
import { formatMCDate } from '$lib/shared/utils/date.js';
import type { components } from '$lib/generated/api';
import ContributorStack from '$lib/components/ContributorStack.svelte';
import ContributorStack from '$lib/shared/primitives/ContributorStack.svelte';
type TranscriptionQueueItemDTO = components['schemas']['TranscriptionQueueItemDTO'];

View File

@@ -3,7 +3,7 @@ import * as m from '$lib/paraglide/messages.js';
import { getLocale } from '$lib/paraglide/runtime.js';
import { formatMCDate } from '$lib/shared/utils/date.js';
import type { components } from '$lib/generated/api';
import ContributorStack from '$lib/components/ContributorStack.svelte';
import ContributorStack from '$lib/shared/primitives/ContributorStack.svelte';
type TranscriptionQueueItemDTO = components['schemas']['TranscriptionQueueItemDTO'];

View File

@@ -1,8 +1,8 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.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 CommentThread from '$lib/shared/discussion/CommentThread.svelte';
import PersonMentionEditor from '$lib/shared/discussion/PersonMentionEditor.svelte';
import type { PersonMention } from '$lib/types';
const { confirm } = getConfirmService();

View File

@@ -3,7 +3,7 @@ import * as m from '$lib/paraglide/messages.js';
import { getLocale } from '$lib/paraglide/runtime.js';
import { formatMCDate } from '$lib/shared/utils/date.js';
import type { components } from '$lib/generated/api';
import ContributorStack from '$lib/components/ContributorStack.svelte';
import ContributorStack from '$lib/shared/primitives/ContributorStack.svelte';
type TranscriptionQueueItemDTO = components['schemas']['TranscriptionQueueItemDTO'];

View File

@@ -2,7 +2,7 @@
import { m } from '$lib/paraglide/messages.js';
import TranscriptionBlock from './TranscriptionBlock.svelte';
import OcrTrigger from '$lib/ocr/OcrTrigger.svelte';
import TranscribeCoachEmptyState from '$lib/components/TranscribeCoachEmptyState.svelte';
import TranscribeCoachEmptyState from '$lib/shared/help/TranscribeCoachEmptyState.svelte';
import type { PersonMention, TranscriptionBlockData } from '$lib/types';
import { createBlockAutoSave } from '$lib/document/transcription/useBlockAutoSave.svelte';
import { createBlockDragDrop } from '$lib/document/transcription/useBlockDragDrop.svelte';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import { getLocale } from '$lib/paraglide/runtime.js';
import HelpPopover from '$lib/components/HelpPopover.svelte';
import HelpPopover from '$lib/shared/help/HelpPopover.svelte';
type Props = {
mode: 'read' | 'edit';

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import PersonChip from './PersonChip.svelte';
import OverflowPillDisplay from '$lib/components/OverflowPillDisplay.svelte';
import OverflowPillDisplay from '$lib/shared/primitives/OverflowPillDisplay.svelte';
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };

View File

@@ -2,8 +2,8 @@
import { onMount, untrack } from 'svelte';
import { m } from '$lib/paraglide/messages.js';
import type { Comment, FlatMessage, MentionDTO } from '$lib/types';
import MentionEditor from '$lib/components/MentionEditor.svelte';
import CommentMessage from '$lib/components/CommentMessage.svelte';
import MentionEditor from '$lib/shared/discussion/MentionEditor.svelte';
import CommentMessage from '$lib/shared/discussion/CommentMessage.svelte';
import { extractContent } from '$lib/shared/discussion/mention';
type Props = {
documentId: string;

View File

@@ -1,6 +1,6 @@
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
const { createTypeahead } = await import('../useTypeahead.svelte');
const { createTypeahead } = await import('./useTypeahead.svelte');
describe('createTypeahead', () => {
beforeEach(() => {

View File

@@ -14,7 +14,7 @@ vi.mock('$app/navigation', () => ({
goto: mockGoto
}));
const { createUnsavedWarning } = await import('../useUnsavedWarning.svelte');
const { createUnsavedWarning } = await import('./useUnsavedWarning.svelte');
function simulateNavigate(href: string | null = '/somewhere') {
const cancel = vi.fn();

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { provideConfirmService, type ConfirmService } from './confirm.svelte.js';
import ConfirmDialog from '$lib/components/ConfirmDialog.svelte';
import ConfirmDialog from '$lib/shared/primitives/ConfirmDialog.svelte';
let { onReady }: { onReady: (service: ConfirmService) => void } = $props();

View File

@@ -3,12 +3,12 @@ import './layout.css';
import { page } from '$app/state';
import { onMount, untrack } from 'svelte';
import * as m from '$lib/paraglide/messages.js';
import LanguageSwitcher from '$lib/components/LanguageSwitcher.svelte';
import ThemeToggle from '$lib/components/ThemeToggle.svelte';
import LanguageSwitcher from '$lib/shared/primitives/LanguageSwitcher.svelte';
import ThemeToggle from '$lib/shared/primitives/ThemeToggle.svelte';
import NotificationBell from '$lib/notification/NotificationBell.svelte';
import AppNav from './AppNav.svelte';
import UserMenu from './UserMenu.svelte';
import ConfirmDialog from '$lib/components/ConfirmDialog.svelte';
import ConfirmDialog from '$lib/shared/primitives/ConfirmDialog.svelte';
import { provideConfirmService } from '$lib/shared/services/confirm.svelte.js';
import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte';

View File

@@ -1,8 +1,8 @@
<script lang="ts">
import DropZone from './DropZone.svelte';
import DashboardResumeStrip from '$lib/components/DashboardResumeStrip.svelte';
import MissionControlStrip from '$lib/components/MissionControlStrip.svelte';
import DashboardFamilyPulse from '$lib/components/DashboardFamilyPulse.svelte';
import DashboardResumeStrip from '$lib/shared/dashboard/DashboardResumeStrip.svelte';
import MissionControlStrip from '$lib/shared/dashboard/MissionControlStrip.svelte';
import DashboardFamilyPulse from '$lib/shared/dashboard/DashboardFamilyPulse.svelte';
import DashboardActivityFeed from '$lib/activity/DashboardActivityFeed.svelte';
import EnrichmentBlock from '$lib/document/EnrichmentBlock.svelte';
import { m } from '$lib/paraglide/messages.js';

View File

@@ -2,7 +2,7 @@
import { page } from '$app/state';
import { untrack } from 'svelte';
import { m } from '$lib/paraglide/messages.js';
import LanguageSwitcher from '$lib/components/LanguageSwitcher.svelte';
import LanguageSwitcher from '$lib/shared/primitives/LanguageSwitcher.svelte';
let { isAdmin = false }: { isAdmin?: boolean } = $props();

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import LanguageSwitcher from '$lib/components/LanguageSwitcher.svelte';
import LanguageSwitcher from '$lib/shared/primitives/LanguageSwitcher.svelte';
</script>
<header class="bg-header">

View File

@@ -1,8 +1,8 @@
<script lang="ts">
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
import TagInput from '$lib/tag/TagInput.svelte';
import DateInput from '$lib/components/DateInput.svelte';
import SortDropdown from '$lib/components/SortDropdown.svelte';
import DateInput from '$lib/shared/primitives/DateInput.svelte';
import SortDropdown from '$lib/shared/primitives/SortDropdown.svelte';
import { slide } from 'svelte/transition';
import { m } from '$lib/paraglide/messages.js';

View File

@@ -3,7 +3,7 @@ import { enhance } from '$app/forms';
import { m } from '$lib/paraglide/messages.js';
import { getConfirmService } from '$lib/shared/services/confirm.svelte.js';
import { createUnsavedWarning } from '$lib/shared/hooks/useUnsavedWarning.svelte';
import UnsavedWarningBanner from '$lib/components/UnsavedWarningBanner.svelte';
import UnsavedWarningBanner from '$lib/shared/primitives/UnsavedWarningBanner.svelte';
let { data, form } = $props();

View File

@@ -4,7 +4,7 @@ import { replaceState } from '$app/navigation';
import { page } from '$app/stores';
import { m } from '$lib/paraglide/messages.js';
import { createUnsavedWarning } from '$lib/shared/hooks/useUnsavedWarning.svelte';
import UnsavedWarningBanner from '$lib/components/UnsavedWarningBanner.svelte';
import UnsavedWarningBanner from '$lib/shared/primitives/UnsavedWarningBanner.svelte';
import TagParentPicker from '$lib/tag/TagParentPicker.svelte';
import TagAncestry from './TagAncestry.svelte';
import TagChildrenPreview from './TagChildrenPreview.svelte';

View File

@@ -6,7 +6,7 @@ import UserProfileSection from '$lib/user/UserProfileSection.svelte';
import UserGroupsSection from '$lib/user/UserGroupsSection.svelte';
import UserPasswordSection from '$lib/user/UserPasswordSection.svelte';
import { createUnsavedWarning } from '$lib/shared/hooks/useUnsavedWarning.svelte';
import UnsavedWarningBanner from '$lib/components/UnsavedWarningBanner.svelte';
import UnsavedWarningBanner from '$lib/shared/primitives/UnsavedWarningBanner.svelte';
let { data, form } = $props();

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import DistributionBar from '$lib/components/DistributionBar.svelte';
import DistributionBar from '$lib/shared/primitives/DistributionBar.svelte';
import ThumbnailRow from '$lib/document/ThumbnailRow.svelte';
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { slide } from 'svelte/transition';
import { m } from '$lib/paraglide/messages.js';
import DateInput from '$lib/components/DateInput.svelte';
import DateInput from '$lib/shared/primitives/DateInput.svelte';
interface Props {
fromDate?: string;

View File

@@ -5,7 +5,7 @@ import { untrack } from 'svelte';
import { SvelteURLSearchParams } from 'svelte/reactivity';
import SearchFilterBar from '../SearchFilterBar.svelte';
import DocumentList from '../DocumentList.svelte';
import Pagination from '$lib/components/Pagination.svelte';
import Pagination from '$lib/shared/primitives/Pagination.svelte';
import BulkSelectionBar from '$lib/document/BulkSelectionBar.svelte';
import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte';
import { getErrorMessage, parseBackendError } from '$lib/errors';

View File

@@ -2,7 +2,7 @@
import { enhance } from '$app/forms';
import { m } from '$lib/paraglide/messages.js';
import { getConfirmService } from '$lib/shared/services/confirm.svelte.js';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import DocumentEditLayout from '$lib/document/DocumentEditLayout.svelte';
let { data, form } = $props();

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import BulkSelectionBar from '$lib/document/BulkSelectionBar.svelte';
import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { enhance } from '$app/forms';
import { m } from '$lib/paraglide/messages.js';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import DocumentEditLayout from '$lib/document/DocumentEditLayout.svelte';
let { data, form } = $props();

View File

@@ -4,7 +4,7 @@ import { m } from '$lib/paraglide/messages.js';
import { safeHtml } from '$lib/shared/utils/sanitize';
import { formatDate } from '$lib/shared/utils/date';
import { getConfirmService } from '$lib/shared/services/confirm.svelte';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import type { PageData } from './$types';
let { data }: { data: PageData } = $props();

View File

@@ -2,7 +2,7 @@
import { goto } from '$app/navigation';
import { m } from '$lib/paraglide/messages.js';
import GeschichteEditor from '$lib/geschichte/GeschichteEditor.svelte';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import { getErrorMessage } from '$lib/errors';
import type { PageData } from './$types';

View File

@@ -2,7 +2,7 @@
import { goto } from '$app/navigation';
import { m } from '$lib/paraglide/messages.js';
import GeschichteEditor from '$lib/geschichte/GeschichteEditor.svelte';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import { getErrorMessage } from '$lib/errors';
import type { PageData } from './$types';

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import RichtlinienRuleCard from '$lib/components/RichtlinienRuleCard.svelte';
import RichtlinienRuleCard from '$lib/shared/primitives/RichtlinienRuleCard.svelte';
const rules = [
{

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import { SvelteMap } from 'svelte/reactivity';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import PersonCard from './PersonCard.svelte';
import NameHistoryCard from './NameHistoryCard.svelte';
import CoCorrespondentsList from './CoCorrespondentsList.svelte';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { m } from '$lib/paraglide/messages.js';
import { enhance } from '$app/forms';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import PersonEditForm from './PersonEditForm.svelte';
import PersonEditSaveBar from './PersonEditSaveBar.svelte';
import NameHistoryEditCard from './NameHistoryEditCard.svelte';

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import { untrack } from 'svelte';
import { m } from '$lib/paraglide/messages.js';
import BackButton from '$lib/components/BackButton.svelte';
import BackButton from '$lib/shared/primitives/BackButton.svelte';
import PersonTypeSelector from '$lib/person/PersonTypeSelector.svelte';
import { PERSON_TYPES as TYPES, type PersonType } from '$lib/person/person-validation';