feat(dashboard): move ThemenWidget to full-width position
Some checks failed
CI / Unit & Component Tests (pull_request) Failing after 1m27s
CI / OCR Service Tests (pull_request) Successful in 21s
CI / Backend Unit Tests (pull_request) Successful in 4m5s
CI / fail2ban Regex (pull_request) Successful in 41s
CI / Semgrep Security Scan (pull_request) Successful in 19s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m1s
Some checks failed
CI / Unit & Component Tests (pull_request) Failing after 1m27s
CI / OCR Service Tests (pull_request) Successful in 21s
CI / Backend Unit Tests (pull_request) Successful in 4m5s
CI / fail2ban Regex (pull_request) Successful in 41s
CI / Semgrep Security Scan (pull_request) Successful in 19s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m1s
Editor view: lifted out of sidebar, now spans full width between DashboardResumeStrip and EnrichmentBlock. Reader view: already below ReaderPersonChips, no change. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -59,37 +59,40 @@ 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} />
|
|
||||||
|
|
||||||
<EnrichmentBlock
|
<ThemenWidget tags={data.tagTree ?? []} />
|
||||||
topDocs={data.incompleteDocs ?? []}
|
|
||||||
totalCount={data.incompleteTotal ?? 0}
|
|
||||||
bannerCount={bannerCount}
|
|
||||||
onBannerClose={() => (bannerCount = 0)}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<section aria-label={m.dashboard_mission_caption()}>
|
<div class="grid grid-cols-1 gap-5 lg:grid-cols-[1fr_320px] lg:items-start">
|
||||||
<h2 class="mb-3 font-sans text-xs font-bold tracking-widest text-ink-3 uppercase">
|
<div class="flex flex-col gap-5">
|
||||||
{m.dashboard_mission_caption()}
|
<EnrichmentBlock
|
||||||
</h2>
|
topDocs={data.incompleteDocs ?? []}
|
||||||
<MissionControlStrip
|
totalCount={data.incompleteTotal ?? 0}
|
||||||
segmentationDocs={data.segmentationDocs ?? []}
|
bannerCount={bannerCount}
|
||||||
transcriptionDocs={data.transcriptionDocs ?? []}
|
onBannerClose={() => (bannerCount = 0)}
|
||||||
readyDocs={data.readyDocs ?? []}
|
|
||||||
weeklyStats={data.weeklyStats ?? null}
|
|
||||||
/>
|
/>
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex flex-col gap-5 lg:sticky lg:top-[80px]">
|
<section aria-label={m.dashboard_mission_caption()}>
|
||||||
<DashboardFamilyPulse pulse={data.pulse ?? null} />
|
<h2 class="mb-3 font-sans text-xs font-bold tracking-widest text-ink-3 uppercase">
|
||||||
<ThemenWidget tags={data.tagTree ?? []} compact={true} />
|
{m.dashboard_mission_caption()}
|
||||||
<DashboardActivityFeed feed={data.activityFeed ?? []} />
|
</h2>
|
||||||
{#if data.canWrite}
|
<MissionControlStrip
|
||||||
<DropZone onUploadComplete={(count) => (bannerCount = count)} />
|
segmentationDocs={data.segmentationDocs ?? []}
|
||||||
{/if}
|
transcriptionDocs={data.transcriptionDocs ?? []}
|
||||||
|
readyDocs={data.readyDocs ?? []}
|
||||||
|
weeklyStats={data.weeklyStats ?? null}
|
||||||
|
/>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-col gap-5 lg:sticky lg:top-[80px]">
|
||||||
|
<DashboardFamilyPulse pulse={data.pulse ?? null} />
|
||||||
|
<DashboardActivityFeed feed={data.activityFeed ?? []} />
|
||||||
|
{#if data.canWrite}
|
||||||
|
<DropZone onUploadComplete={(count) => (bannerCount = count)} />
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
Reference in New Issue
Block a user