feat(llm-security): playground v7.7.1 — katalog som eneste levende overflate

Operatør-tilbakemelding etter v7.7.0: hjem-overflaten ledet fortsatt med
prosjekter (Re-onboard / Nytt prosjekt / Command-katalog) — katalog var
tredje kort, sekundært bak prosjekt-tracks. Brukeren ba om å fjerne
onboarding + prosjekter og beholde katalog ('Vi legger til funksjonalitet
senere').

Minimum-strip (gammel kode bevart, kun routing + topbar endret):

- renderActive(): tvinger alltid activeSurface til 'catalog'.
  Onboarding/home/project-render-funksjonene er bevart men ikke rutbare.
- Init-default endret fra 'home' til 'catalog' (også for migrerte states).
- Topbar: 'Hjem' og 'Re-onboard'-knappene fjernet. 'Katalog' beholdt
  sammen med Eksporter/Importer/tema-toggle.

Konsekvens: playgrounden lander direkte i Command-katalog (20 kommandoer
med list-view + builder-pane + copy-knapp fra sesjon 1). Project-state +
onboarding-state forblir i IndexedDB men ingen UI-vei dit. Når funksjon-
alitet legges til igjen kan routeren utvides og topbar-knapper restaureres.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-18 21:01:18 +02:00
commit 2a6f73f175

View file

@ -5779,9 +5779,10 @@
window.__store = store; window.__store = store;
window.__persistence = persistence; window.__persistence = persistence;
// Initial-surface heuristikk: førstegangsbesøk lander på home. // v7.7.1: Førstegangsbesøk + alle påfølgende besøk lander på catalog.
// Re-onboard er tilgjengelig via topbar når brukeren ønsker det. // Home/onboarding/project-overflatene er bevart i kildekoden men ikke
if (!store.state.activeSurface) store.state.activeSurface = 'home'; // rutbare før funksjonalitet legges til igjen.
store.state.activeSurface = 'catalog';
scheduleRender(); scheduleRender();
} }
@ -6543,12 +6544,14 @@
function renderActive() { function renderActive() {
if (!store) return; if (!store) return;
const active = store.state.activeSurface || 'home'; // v7.7.1: katalog er eneste levende overflate. Onboarding/home/project
showSurface(active); // er bevart i kildekoden, men routeren tvinger alltid til catalog inntil
if (active === 'onboarding') renderOnboardingSurface(); // funksjonalitet legges til igjen.
else if (active === 'home') renderHomeSurface(); if (store.state.activeSurface !== 'catalog') {
else if (active === 'project') renderProjectSurface(); store.state.activeSurface = 'catalog';
else if (active === 'catalog') renderCatalogSurface(); }
showSurface('catalog');
renderCatalogSurface();
} }
function navigate(surface) { function navigate(surface) {
@ -6582,9 +6585,7 @@
'<div class="app-header__spacer"></div>' + '<div class="app-header__spacer"></div>' +
'<div class="app-header__actions" role="group" aria-label="Hovednavigasjon">' + '<div class="app-header__actions" role="group" aria-label="Hovednavigasjon">' +
'<div class="app-header__nav-group" role="group" aria-label="Primær navigasjon">' + '<div class="app-header__nav-group" role="group" aria-label="Primær navigasjon">' +
'<button type="button" class="btn btn--ghost btn--sm" data-action="goto-home">Hjem</button>' +
'<button type="button" class="btn btn--ghost btn--sm" data-action="goto-catalog">Katalog</button>' + '<button type="button" class="btn btn--ghost btn--sm" data-action="goto-catalog">Katalog</button>' +
'<button type="button" class="btn btn--ghost btn--sm" data-action="goto-onboarding">Re-onboard</button>' +
'</div>' + '</div>' +
'<span class="app-header__nav-sep" aria-hidden="true"></span>' + '<span class="app-header__nav-sep" aria-hidden="true"></span>' +
'<div class="app-header__nav-group" role="group" aria-label="State og tema">' + '<div class="app-header__nav-group" role="group" aria-label="State og tema">' +