Three-column grid (sidebar / main / right rail) with Cradle aesthetic: blackflame accent on Cinzel display headings + Cormorant Garamond body in cards, system UI for chrome. Hash-based router covers all entity routes plus search, inbox, sacred-valley. api.js stores OWNER_TOKEN in localStorage and prompts via a modal on 401. dom.js provides safe el() + mount() builders so no component ever assigns innerHTML from API data (the only exception is an explicit, scary-named html: opt-in for sanitizer output, used later by the markdown editor). state.js is a tiny event bus for shared chrome state (pending count). Components and views are loaded as ES modules — sidebar / topbar / rightrail + 9 view stubs that the later Phase E tasks fill in. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
13 lines
371 B
JavaScript
13 lines
371 B
JavaScript
// T17 stub — full implementation lands in T18.
|
|
// For now: brand only, so the shell renders without errors.
|
|
import { el, mount } from '../dom.js';
|
|
|
|
export function renderSidebar(root) {
|
|
mount(root,
|
|
el('div', { class: 'sb-section' },
|
|
el('div', { class: 'sb-title' }, 'Void'),
|
|
el('div', { class: 'sb-item muted' }, 'Sidebar loads in T18')
|
|
)
|
|
);
|
|
}
|