refactor(search): extract ChipType to chip-types.ts; audit NL fixtures

Pre-implementation step for #743: ChipType union extracted from
InterpretationChipRow and +page.svelte into shared chip-types.ts;
resolvedTags/tagsApplied neutral defaults added to test fixtures.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-06 22:49:54 +02:00
committed by marcel
parent 5a09cd4cb4
commit 39ff63921d
5 changed files with 9 additions and 4 deletions

View File

@@ -13,8 +13,10 @@ const interpretation = {
dateFrom: '1914-01-01', dateFrom: '1914-01-01',
dateTo: '1918-12-31', dateTo: '1918-12-31',
keywords: ['krieg'], keywords: ['krieg'],
resolvedTags: [{ id: '33333333-3333-3333-3333-333333333333', name: 'Weltkrieg', color: 'sage' }],
rawQuery: 'Was hat Walter an Emma im Krieg geschrieben?', rawQuery: 'Was hat Walter an Emma im Krieg geschrieben?',
keywordsApplied: true keywordsApplied: true,
tagsApplied: true
}; };
const nlResponse = { const nlResponse = {

View File

@@ -10,6 +10,7 @@ import BulkSelectionBar from '$lib/document/BulkSelectionBar.svelte';
import TimelineDensityFilter from '$lib/document/TimelineDensityFilter.svelte'; import TimelineDensityFilter from '$lib/document/TimelineDensityFilter.svelte';
import SmartSearchStatus from '../search/SmartSearchStatus.svelte'; import SmartSearchStatus from '../search/SmartSearchStatus.svelte';
import InterpretationChipRow from '../search/InterpretationChipRow.svelte'; import InterpretationChipRow from '../search/InterpretationChipRow.svelte';
import type { ChipType } from '../search/chip-types.js';
import DisambiguationPicker from '../search/DisambiguationPicker.svelte'; import DisambiguationPicker from '../search/DisambiguationPicker.svelte';
import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte'; import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte';
import { getErrorMessage, parseBackendError } from '$lib/shared/errors'; import { getErrorMessage, parseBackendError } from '$lib/shared/errors';
@@ -269,8 +270,6 @@ function paramsFromInterpretation(interp: NlQueryInterpretation) {
}; };
} }
type ChipType = 'sender' | 'directional' | 'date' | 'keyword';
function removeChip(type: ChipType, value?: string) { function removeChip(type: ChipType, value?: string) {
if (!nlInterpretation) return; if (!nlInterpretation) return;
const p = paramsFromInterpretation(nlInterpretation); const p = paramsFromInterpretation(nlInterpretation);

View File

@@ -3,8 +3,9 @@ import { SvelteSet } from 'svelte/reactivity';
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 type { ChipType } from './chip-types.js';
type NlQueryInterpretation = components['schemas']['NlQueryInterpretation']; type NlQueryInterpretation = components['schemas']['NlQueryInterpretation'];
type ChipType = 'sender' | 'directional' | 'date' | 'keyword';
let { let {
interpretation, interpretation,

View File

@@ -17,8 +17,10 @@ const makeInterpretation = (
resolvedPersons: [], resolvedPersons: [],
ambiguousPersons: [], ambiguousPersons: [],
keywords: [], keywords: [],
resolvedTags: [],
rawQuery: 'test', rawQuery: 'test',
keywordsApplied: true, keywordsApplied: true,
tagsApplied: false,
...overrides ...overrides
}); });

View File

@@ -0,0 +1 @@
export type ChipType = 'sender' | 'directional' | 'date' | 'keyword' | 'theme';