feat: Themen-Inhaltsverzeichnis — Dashboard-Widget + dedizierte Seite /themen #664
@@ -59,10 +59,13 @@ const greetingText = $derived.by(() => {
|
|||||||
<h1 class="font-serif text-[2rem] text-ink">{greetingText}</h1>
|
<h1 class="font-serif text-[2rem] text-ink">{greetingText}</h1>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
<div class="grid grid-cols-1 gap-5 lg:grid-cols-[1fr_320px] lg:items-start">
|
|
||||||
<div class="flex flex-col gap-5">
|
<div class="flex flex-col gap-5">
|
||||||
<DashboardResumeStrip resumeDoc={data.resumeDoc ?? null} />
|
<DashboardResumeStrip resumeDoc={data.resumeDoc ?? null} />
|
||||||
|
|
||||||
|
<ThemenWidget tags={data.tagTree ?? []} />
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1 gap-5 lg:grid-cols-[1fr_320px] lg:items-start">
|
||||||
|
<div class="flex flex-col gap-5">
|
||||||
<EnrichmentBlock
|
<EnrichmentBlock
|
||||||
topDocs={data.incompleteDocs ?? []}
|
topDocs={data.incompleteDocs ?? []}
|
||||||
totalCount={data.incompleteTotal ?? 0}
|
totalCount={data.incompleteTotal ?? 0}
|
||||||
@@ -85,12 +88,12 @@ const greetingText = $derived.by(() => {
|
|||||||
|
|
||||||
<div class="flex flex-col gap-5 lg:sticky lg:top-[80px]">
|
<div class="flex flex-col gap-5 lg:sticky lg:top-[80px]">
|
||||||
<DashboardFamilyPulse pulse={data.pulse ?? null} />
|
<DashboardFamilyPulse pulse={data.pulse ?? null} />
|
||||||
<ThemenWidget tags={data.tagTree ?? []} compact={true} />
|
|
||||||
<DashboardActivityFeed feed={data.activityFeed ?? []} />
|
<DashboardActivityFeed feed={data.activityFeed ?? []} />
|
||||||
{#if data.canWrite}
|
{#if data.canWrite}
|
||||||
<DropZone onUploadComplete={(count) => (bannerCount = count)} />
|
<DropZone onUploadComplete={(count) => (bannerCount = count)} />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
Reference in New Issue
Block a user