refactor: move person domain components and utils to lib/person/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@ import { m } from '$lib/paraglide/messages.js';
|
|||||||
import { formatDate } from '$lib/utils/date';
|
import { formatDate } from '$lib/utils/date';
|
||||||
import { formatDocumentStatus } from '$lib/document/documentStatusLabel';
|
import { formatDocumentStatus } from '$lib/document/documentStatusLabel';
|
||||||
import { getInitials, personAvatarColor } from '$lib/utils/personFormat';
|
import { getInitials, personAvatarColor } from '$lib/utils/personFormat';
|
||||||
import RelationshipPill from '$lib/components/RelationshipPill.svelte';
|
import RelationshipPill from '$lib/person/RelationshipPill.svelte';
|
||||||
|
|
||||||
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };
|
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };
|
||||||
type Tag = { id: string; name: string };
|
type Tag = { id: string; name: string };
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { m } from '$lib/paraglide/messages.js';
|
|||||||
import { slide } from 'svelte/transition';
|
import { slide } from 'svelte/transition';
|
||||||
import { formatDate } from '$lib/utils/date';
|
import { formatDate } from '$lib/utils/date';
|
||||||
import { clickOutside } from '$lib/actions/clickOutside';
|
import { clickOutside } from '$lib/actions/clickOutside';
|
||||||
import PersonChipRow from '$lib/components/PersonChipRow.svelte';
|
import PersonChipRow from '$lib/person/PersonChipRow.svelte';
|
||||||
import OverflowPillButton from '$lib/components/OverflowPillButton.svelte';
|
import OverflowPillButton from '$lib/components/OverflowPillButton.svelte';
|
||||||
import DocumentMetadataDrawer from './DocumentMetadataDrawer.svelte';
|
import DocumentMetadataDrawer from './DocumentMetadataDrawer.svelte';
|
||||||
import BackButton from '$lib/components/BackButton.svelte';
|
import BackButton from '$lib/components/BackButton.svelte';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { onMount, untrack } from 'svelte';
|
import { onMount, untrack } from 'svelte';
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import PersonMultiSelect from '$lib/components/PersonMultiSelect.svelte';
|
import PersonMultiSelect from '$lib/person/PersonMultiSelect.svelte';
|
||||||
import FieldLabelBadge from './FieldLabelBadge.svelte';
|
import FieldLabelBadge from './FieldLabelBadge.svelte';
|
||||||
import { isoToGerman, handleGermanDateInput } from '$lib/utils/date';
|
import { isoToGerman, handleGermanDateInput } from '$lib/utils/date';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
PERSON_MENTION_SELECTOR
|
PERSON_MENTION_SELECTOR
|
||||||
} from '$lib/utils/mention';
|
} from '$lib/utils/mention';
|
||||||
import { computeHoverCardPosition } from '$lib/utils/hoverCardPosition';
|
import { computeHoverCardPosition } from '$lib/utils/hoverCardPosition';
|
||||||
import PersonHoverCard from '$lib/components/PersonHoverCard.svelte';
|
import PersonHoverCard from '$lib/person/PersonHoverCard.svelte';
|
||||||
import type { HoverData, LoadState } from '$lib/types/personHoverCard';
|
import type { HoverData, LoadState } from '$lib/types/personHoverCard';
|
||||||
import { goto } from '$app/navigation';
|
import { goto } from '$app/navigation';
|
||||||
import { SvelteMap, SvelteSet } from 'svelte/reactivity';
|
import { SvelteMap, SvelteSet } from 'svelte/reactivity';
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { Editor } from '@tiptap/core';
|
|||||||
import StarterKit from '@tiptap/starter-kit';
|
import StarterKit from '@tiptap/starter-kit';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import type { components } from '$lib/generated/api';
|
import type { components } from '$lib/generated/api';
|
||||||
import PersonMultiSelect from '$lib/components/PersonMultiSelect.svelte';
|
import PersonMultiSelect from '$lib/person/PersonMultiSelect.svelte';
|
||||||
import DocumentMultiSelect from '$lib/document/DocumentMultiSelect.svelte';
|
import DocumentMultiSelect from '$lib/document/DocumentMultiSelect.svelte';
|
||||||
|
|
||||||
type Geschichte = components['schemas']['Geschichte'];
|
type Geschichte = components['schemas']['Geschichte'];
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { enhance } from '$app/forms';
|
import { enhance } from '$app/forms';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import type { components } from '$lib/generated/api';
|
import type { components } from '$lib/generated/api';
|
||||||
|
|
||||||
type RelationshipDTO = components['schemas']['RelationshipDTO'];
|
type RelationshipDTO = components['schemas']['RelationshipDTO'];
|
||||||
@@ -4,7 +4,7 @@ import { page } from 'vitest/browser';
|
|||||||
import AddRelationshipForm from './AddRelationshipForm.svelte';
|
import AddRelationshipForm from './AddRelationshipForm.svelte';
|
||||||
|
|
||||||
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
||||||
vi.mock('$lib/components/PersonTypeahead.svelte', () => ({ default: () => null }));
|
vi.mock('$lib/person/PersonTypeahead.svelte', () => ({ default: () => null }));
|
||||||
|
|
||||||
afterEach(cleanup);
|
afterEach(cleanup);
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import PersonChip from './PersonChip.svelte';
|
import PersonChip from './PersonChip.svelte';
|
||||||
import OverflowPillDisplay from './OverflowPillDisplay.svelte';
|
import OverflowPillDisplay from '$lib/components/OverflowPillDisplay.svelte';
|
||||||
|
|
||||||
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };
|
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { formatLifeDateRange } from '$lib/utils/personLifeDates';
|
import { formatLifeDateRange } from '$lib/utils/personLifeDates';
|
||||||
import { chipLabel, otherName } from '$lib/relationshipLabels';
|
import { chipLabel, otherName } from '$lib/person/relationshipLabels';
|
||||||
import type { components } from '$lib/generated/api';
|
import type { components } from '$lib/generated/api';
|
||||||
import type { LoadState } from '$lib/types/personHoverCard';
|
import type { LoadState } from '$lib/types/personHoverCard';
|
||||||
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
import { untrack } from 'svelte';
|
import { untrack } from 'svelte';
|
||||||
import { radioGroupNav } from '$lib/actions/radioGroupNav';
|
import { radioGroupNav } from '$lib/actions/radioGroupNav';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { PERSON_TYPES as TYPES, type PersonType } from '$lib/person-validation';
|
import { PERSON_TYPES as TYPES, type PersonType } from '$lib/person/person-validation';
|
||||||
|
|
||||||
let {
|
let {
|
||||||
value = 'PERSON',
|
value = 'PERSON',
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { enhance } from '$app/forms';
|
import { enhance } from '$app/forms';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import RelationshipChip from '$lib/components/RelationshipChip.svelte';
|
import RelationshipChip from '$lib/person/RelationshipChip.svelte';
|
||||||
import AddRelationshipForm from '$lib/components/AddRelationshipForm.svelte';
|
import AddRelationshipForm from '$lib/person/AddRelationshipForm.svelte';
|
||||||
import { chipLabel, otherName, inferredRelationshipLabel } from '$lib/relationshipLabels';
|
import { chipLabel, otherName, inferredRelationshipLabel } from '$lib/person/relationshipLabels';
|
||||||
import type { components } from '$lib/generated/api';
|
import type { components } from '$lib/generated/api';
|
||||||
|
|
||||||
type RelationshipDTO = components['schemas']['RelationshipDTO'];
|
type RelationshipDTO = components['schemas']['RelationshipDTO'];
|
||||||
@@ -4,8 +4,8 @@ import { page } from 'vitest/browser';
|
|||||||
import StammbaumCard from './StammbaumCard.svelte';
|
import StammbaumCard from './StammbaumCard.svelte';
|
||||||
|
|
||||||
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
||||||
vi.mock('$lib/components/RelationshipChip.svelte', () => ({ default: () => null }));
|
vi.mock('$lib/person/RelationshipChip.svelte', () => ({ default: () => null }));
|
||||||
vi.mock('$lib/components/AddRelationshipForm.svelte', () => ({ default: () => null }));
|
vi.mock('$lib/person/AddRelationshipForm.svelte', () => ({ default: () => null }));
|
||||||
|
|
||||||
afterEach(cleanup);
|
afterEach(cleanup);
|
||||||
|
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
import { invalidateAll } from '$app/navigation';
|
import { invalidateAll } from '$app/navigation';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { chipLabel, otherName, inferredRelationshipLabel } from '$lib/relationshipLabels';
|
import { chipLabel, otherName, inferredRelationshipLabel } from '$lib/person/relationshipLabels';
|
||||||
import AddRelationshipForm from '$lib/components/AddRelationshipForm.svelte';
|
import AddRelationshipForm from '$lib/person/AddRelationshipForm.svelte';
|
||||||
import type { RelFormData } from '$lib/components/AddRelationshipForm.svelte';
|
import type { RelFormData } from '$lib/person/AddRelationshipForm.svelte';
|
||||||
import type { components } from '$lib/generated/api';
|
import type { components } from '$lib/generated/api';
|
||||||
|
|
||||||
type PersonNodeDTO = components['schemas']['PersonNodeDTO'];
|
type PersonNodeDTO = components['schemas']['PersonNodeDTO'];
|
||||||
@@ -5,7 +5,7 @@ import StammbaumSidePanel from './StammbaumSidePanel.svelte';
|
|||||||
|
|
||||||
vi.mock('$app/navigation', () => ({ invalidateAll: vi.fn() }));
|
vi.mock('$app/navigation', () => ({ invalidateAll: vi.fn() }));
|
||||||
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
||||||
vi.mock('$lib/components/PersonTypeahead.svelte', () => ({ default: () => null }));
|
vi.mock('$lib/person/PersonTypeahead.svelte', () => ({ default: () => null }));
|
||||||
|
|
||||||
const makeNode = () => ({
|
const makeNode = () => ({
|
||||||
id: 'person-1',
|
id: 'person-1',
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import TagInput from '$lib/components/TagInput.svelte';
|
import TagInput from '$lib/components/TagInput.svelte';
|
||||||
import DateInput from '$lib/components/DateInput.svelte';
|
import DateInput from '$lib/components/DateInput.svelte';
|
||||||
import SortDropdown from '$lib/components/SortDropdown.svelte';
|
import SortDropdown from '$lib/components/SortDropdown.svelte';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
|
|
||||||
let {
|
let {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { onMount, tick } from 'svelte';
|
import { onMount, tick } from 'svelte';
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
|
|
||||||
interface RecentPerson {
|
interface RecentPerson {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import CorrespondentSuggestionsDropdown from './CorrespondentSuggestionsDropdown.svelte';
|
import CorrespondentSuggestionsDropdown from './CorrespondentSuggestionsDropdown.svelte';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { error, redirect } from '@sveltejs/kit';
|
import { error, redirect } from '@sveltejs/kit';
|
||||||
import { createApiClient } from '$lib/api.server';
|
import { createApiClient } from '$lib/api.server';
|
||||||
import { getErrorMessage } from '$lib/errors';
|
import { getErrorMessage } from '$lib/errors';
|
||||||
import { inferredRelationshipLabel } from '$lib/relationshipLabels';
|
import { inferredRelationshipLabel } from '$lib/person/relationshipLabels';
|
||||||
|
|
||||||
export async function load({ params, fetch }) {
|
export async function load({ params, fetch }) {
|
||||||
const { id } = params;
|
const { id } = params;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { goto } from '$app/navigation';
|
|||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { plainExcerpt } from '$lib/utils/extractText';
|
import { plainExcerpt } from '$lib/utils/extractText';
|
||||||
import { formatDate } from '$lib/utils/date';
|
import { formatDate } from '$lib/utils/date';
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import type { PageData } from './$types';
|
import type { PageData } from './$types';
|
||||||
|
|
||||||
let { data }: { data: PageData } = $props();
|
let { data }: { data: PageData } = $props();
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { goto } from '$app/navigation';
|
|||||||
import { untrack } from 'svelte';
|
import { untrack } from 'svelte';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { formatLifeDateRange } from '$lib/utils/personLifeDates';
|
import { formatLifeDateRange } from '$lib/utils/personLifeDates';
|
||||||
import PersonTypeBadge from '$lib/components/PersonTypeBadge.svelte';
|
import PersonTypeBadge from '$lib/person/PersonTypeBadge.svelte';
|
||||||
import PersonsStatsBar from './PersonsStatsBar.svelte';
|
import PersonsStatsBar from './PersonsStatsBar.svelte';
|
||||||
import PersonsEmptyState from './PersonsEmptyState.svelte';
|
import PersonsEmptyState from './PersonsEmptyState.svelte';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { formatLifeDateRange } from '$lib/utils/personLifeDates';
|
import { formatLifeDateRange } from '$lib/utils/personLifeDates';
|
||||||
import PersonTypeBadge from '$lib/components/PersonTypeBadge.svelte';
|
import PersonTypeBadge from '$lib/person/PersonTypeBadge.svelte';
|
||||||
|
|
||||||
let {
|
let {
|
||||||
person,
|
person,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { enhance } from '$app/forms';
|
import { enhance } from '$app/forms';
|
||||||
import PersonTypeahead from '$lib/components/PersonTypeahead.svelte';
|
import PersonTypeahead from '$lib/person/PersonTypeahead.svelte';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
|
|
||||||
let {
|
let {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { page } from 'vitest/browser';
|
|||||||
import PersonMergePanel from './PersonMergePanel.svelte';
|
import PersonMergePanel from './PersonMergePanel.svelte';
|
||||||
|
|
||||||
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
vi.mock('$app/forms', () => ({ enhance: () => () => {} }));
|
||||||
vi.mock('$lib/components/PersonTypeahead.svelte', () => ({
|
vi.mock('$lib/person/PersonTypeahead.svelte', () => ({
|
||||||
default: () => null
|
default: () => null
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { chipLabel, otherName, inferredRelationshipLabel } from '$lib/relationshipLabels';
|
import { chipLabel, otherName, inferredRelationshipLabel } from '$lib/person/relationshipLabels';
|
||||||
import type { components } from '$lib/generated/api';
|
import type { components } from '$lib/generated/api';
|
||||||
|
|
||||||
type RelationshipDTO = components['schemas']['RelationshipDTO'];
|
type RelationshipDTO = components['schemas']['RelationshipDTO'];
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
normalizePersonType,
|
normalizePersonType,
|
||||||
validatePersonFields,
|
validatePersonFields,
|
||||||
resolveValidationMessage
|
resolveValidationMessage
|
||||||
} from '$lib/person-validation';
|
} from '$lib/person/person-validation';
|
||||||
|
|
||||||
export async function load({ params, fetch, locals }) {
|
export async function load({ params, fetch, locals }) {
|
||||||
const canWrite =
|
const canWrite =
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import PersonEditForm from './PersonEditForm.svelte';
|
|||||||
import PersonEditSaveBar from './PersonEditSaveBar.svelte';
|
import PersonEditSaveBar from './PersonEditSaveBar.svelte';
|
||||||
import NameHistoryEditCard from './NameHistoryEditCard.svelte';
|
import NameHistoryEditCard from './NameHistoryEditCard.svelte';
|
||||||
import PersonMergePanel from '../PersonMergePanel.svelte';
|
import PersonMergePanel from '../PersonMergePanel.svelte';
|
||||||
import StammbaumCard from '$lib/components/StammbaumCard.svelte';
|
import StammbaumCard from '$lib/person/StammbaumCard.svelte';
|
||||||
|
|
||||||
let { data, form } = $props();
|
let { data, form } = $props();
|
||||||
const person = $derived(data.person);
|
const person = $derived(data.person);
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { untrack } from 'svelte';
|
import { untrack } from 'svelte';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import PersonTypeSelector from '$lib/components/PersonTypeSelector.svelte';
|
import PersonTypeSelector from '$lib/person/PersonTypeSelector.svelte';
|
||||||
import {
|
import {
|
||||||
PERSON_TYPES as TYPES,
|
PERSON_TYPES as TYPES,
|
||||||
type PersonType,
|
type PersonType,
|
||||||
type PersonFormData
|
type PersonFormData
|
||||||
} from '$lib/person-validation';
|
} from '$lib/person/person-validation';
|
||||||
|
|
||||||
let { person }: { person: PersonFormData } = $props();
|
let { person }: { person: PersonFormData } = $props();
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { describe, it, expect } from 'vitest';
|
import { describe, it, expect } from 'vitest';
|
||||||
import { normalizePersonType } from '$lib/person-validation';
|
import { normalizePersonType } from '$lib/person/person-validation';
|
||||||
|
|
||||||
describe('edit load — SKIP → UNKNOWN normalization', () => {
|
describe('edit load — SKIP → UNKNOWN normalization', () => {
|
||||||
it('maps SKIP to UNKNOWN', () => {
|
it('maps SKIP to UNKNOWN', () => {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
normalizePersonType,
|
normalizePersonType,
|
||||||
validatePersonFields,
|
validatePersonFields,
|
||||||
resolveValidationMessage
|
resolveValidationMessage
|
||||||
} from '$lib/person-validation';
|
} from '$lib/person/person-validation';
|
||||||
|
|
||||||
export async function load({ locals }: { locals: App.Locals }) {
|
export async function load({ locals }: { locals: App.Locals }) {
|
||||||
const canWrite =
|
const canWrite =
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
import { untrack } from 'svelte';
|
import { untrack } from 'svelte';
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import BackButton from '$lib/components/BackButton.svelte';
|
import BackButton from '$lib/components/BackButton.svelte';
|
||||||
import PersonTypeSelector from '$lib/components/PersonTypeSelector.svelte';
|
import PersonTypeSelector from '$lib/person/PersonTypeSelector.svelte';
|
||||||
import { PERSON_TYPES as TYPES, type PersonType } from '$lib/person-validation';
|
import { PERSON_TYPES as TYPES, type PersonType } from '$lib/person/person-validation';
|
||||||
|
|
||||||
let { form } = $props();
|
let { form } = $props();
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { m } from '$lib/paraglide/messages.js';
|
import { m } from '$lib/paraglide/messages.js';
|
||||||
import { page } from '$app/state';
|
import { page } from '$app/state';
|
||||||
import StammbaumTree from '$lib/components/StammbaumTree.svelte';
|
import StammbaumTree from '$lib/person/StammbaumTree.svelte';
|
||||||
import StammbaumSidePanel from '$lib/components/StammbaumSidePanel.svelte';
|
import StammbaumSidePanel from '$lib/person/StammbaumSidePanel.svelte';
|
||||||
import type { components } from '$lib/generated/api';
|
import type { components } from '$lib/generated/api';
|
||||||
|
|
||||||
type PersonNodeDTO = components['schemas']['PersonNodeDTO'];
|
type PersonNodeDTO = components['schemas']['PersonNodeDTO'];
|
||||||
|
|||||||
Reference in New Issue
Block a user