feat(frontend): new strip components, suggestions dropdown, empty state
CorrespondenzPersonBar (Row 1), CorrespondenzFilterControls (Row 2 with live count + sort), CorrespondentSuggestionsDropdown (fetch-on-focus, keyboard nav), SinglePersonHintBar, CorrespondenzEmptyState (recent persons from localStorage). New i18n shim in messages-extra.ts until root-owned paraglide files can be regenerated. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
38
frontend/src/routes/korrespondenz/SinglePersonHintBar.svelte
Normal file
38
frontend/src/routes/korrespondenz/SinglePersonHintBar.svelte
Normal file
@@ -0,0 +1,38 @@
|
||||
<script lang="ts">
|
||||
import {
|
||||
conv_hint_single_person,
|
||||
conv_hint_single_person_filtered,
|
||||
conv_strip_sort_newest,
|
||||
conv_strip_sort_oldest
|
||||
} from '$lib/messages-extra';
|
||||
|
||||
interface Props {
|
||||
senderName: string;
|
||||
fromDate?: string;
|
||||
toDate?: string;
|
||||
sortDir?: string;
|
||||
}
|
||||
|
||||
let { senderName, fromDate = '', toDate = '', sortDir = 'DESC' }: Props = $props();
|
||||
|
||||
let hasDateFilter = $derived(!!(fromDate || toDate));
|
||||
|
||||
let sortLabel = $derived(sortDir === 'ASC' ? conv_strip_sort_oldest() : conv_strip_sort_newest());
|
||||
</script>
|
||||
|
||||
<div
|
||||
class="flex items-center gap-[5px] border-b border-[#FDBA74] bg-[#FFF7ED] px-[18px] py-[6px] text-xs text-[#92400E]"
|
||||
>
|
||||
<span class="text-sm" aria-hidden="true">📋</span>
|
||||
|
||||
{#if hasDateFilter}
|
||||
{conv_hint_single_person_filtered({
|
||||
name: senderName,
|
||||
from: fromDate ?? '',
|
||||
to: toDate ?? '',
|
||||
sortLabel
|
||||
})}
|
||||
{:else}
|
||||
{conv_hint_single_person({ name: senderName })}
|
||||
{/if}
|
||||
</div>
|
||||
Reference in New Issue
Block a user