Terminal scrollIntoView was scrolling the entire page instead of just
the terminal panel. Replaced with container.scrollTop for scoped scroll.
Snippet cards in dark mode were invisible (surface-container-low ≈
background). Added border, background, and shadow to differentiate them.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Top bar: Logo + DBAL dot | centered nav | EN + bell + avatar
- Removed DBAL label and theme toggle from top bar (moved to avatar menu)
- User avatar circle with initials, click for dropdown
- Dropdown: user info, Profile, Settings, Sign out (red)
- Alert bell with notification dot
- Language selector pill (EN)
- Dashboard: proper user avatar with initials in welcome card
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
loadFromDirectory() was missing the tenantId field auto-add logic that
loadFromFile() already had, causing "Unknown field: tenantId" on all
entities using the shorthand `"tenantId": true` convention.
Also corrected ComponentNode schema to match the C++ struct fields
(pageId, parentId, childIds, order) instead of the wrong Redux shape.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Without seed data the Settings endpoint returns 404, causing the
frontend to fall back to hardcoded defaults on every page load.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove CCard (was causing anchors.fill sizing issues)
- Clean tonal surface container with radius 16
- Username/password fields with CTextField (no floating label weirdness)
- 2x2 quick access grid with one-click login (User/Admin/God/Super God)
- Level badges with accent colors matching frontpage
- Back to home button
- Centered text throughout
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The DBAL sync client referenced these 4 entities but no JSON schema files
existed, causing 422 Unprocessable Entity on CodeForge page load.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The storybook Docker build failed because @chromatic-com/playwright depended
on storybook@~8.5.8, causing npm to hoist storybook@8.6.18 to root while
@storybook/* addons were at 10.2.19. This version mismatch caused missing
export errors (STORY_HOT_UPDATED, Tag). Added top-level storybook override
to force 10.2.19 everywhere and included package-lock.json in Dockerfile COPY.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
App.qml: theme toggle, level nav, login/logout all use CButton now
FrontPage.qml: hero buttons use CButton with proper variants (primary/ghost/lg)
No more hand-rolled Rectangle + MouseArea + CText button patterns.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- CText: use ProportionalHeight for all variants (FixedHeight with 1.0 = 1px, clips text)
- FrontPage: 8px top spacer, hero height 400px, content offset +16px for breathing room
- Text centered in badge circles no longer cut off
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CText: scale MD3 type sizes for desktop (h1: 32px not 57px, body1: 14px not 16px)
- Remove body1 letterSpacing 0.5 (caused word gaps everywhere)
- Default wrapMode: NoWrap (callers opt in to wrapping)
- Headings get Bold/DemiBold instead of Normal weight
- lineHeight only on body1
FrontPage: responsive GridLayout for level cards and tech stack
- columns adapt: Math.floor(width / 220) for levels, /260 for tech
- Fixed 190px card height (no more random heights)
- 3+2 wrap on medium windows, 2+2+1 on narrow, 5 on wide
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
auth-store.ts directly imported fetch-session, login, and register
which transitively pulled next/headers and server-only into the client
bundle, causing the Next.js 16 build to fail.
Replaced direct imports with fetch() calls to new API route handlers
at /api/auth/{login,register,session,logout}.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CBadge: rename 'color' prop to 'badgeColor' (avoids Rectangle.color conflict)
CChip: rename 'color' prop to 'chipColor' (same issue)
Update all callers in WorkflowEditor and UserManagement.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
constants.ts re-exported STATUS from routing/index.ts, which pulled
server-only modules (next/headers, server-only) into client bundles
via the webpack module graph, breaking the Docker frontend-app build.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
libgl1-mesa-glx, libegl1-mesa, and libgles2-mesa were removed in
Noble — use their non-transitional replacements.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace CButton-based top bar with MD3-style elements:
- Compact 52px height, tighter spacing
- L-number level pill with tonal indigo background
- DBAL status dot inline with monospace label
- Moon/sun theme toggle in surfaceContainer pill
- Segmented pill buttons for level navigation with hover states
- Filled pill Login button, outlined Logout
- Username shown without parenthetical role
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Light theme text #111118, textSecondary #333345 (was too faint)
- FrontPage opacity values scale with isDark (0.45→0.65, 0.3→0.5, etc.)
- All secondary text now readable on gray backgrounds in both modes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Light mode background #d8d8e0, paper #c8c8d2, surface #bfbfc9.
Enough contrast to read, not enough to need sunglasses.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Change default primary from green (#10a37f) to indigo (#6366f1/#4f46e5)
- Light theme: soft off-white (#f0f0f3) background instead of blinding #ffffff
- CAppBar now uses Theme.paper background instead of native ToolBar styling
- App.qml calls Theme.setTheme() on startup + on currentTheme change
- FrontPage uses isDark flag for all surface/border colors (works both modes)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Complete visual overhaul matching old/ reference design:
- Gradient hero section with "Build Anything, Visually" headline
- Platform stats bar (users, packages, workflows, backends)
- Five Levels of Power grid with colored badges, descriptions, feature chips
- Universal Platform tech stack grid (6 technologies)
- Platform Status with live service indicators
- About section with philosophy tagline
- Quick Access credential cards with one-click login
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- AppShell with level-based auth gating (Guest through SuperGod)
- Sidebar with static core items + dynamic DBAL package navigation
- God Panel with 10 tabs: schemas, workflows, packages, users, DB, etc.
- Super God Panel with multi-tenant control
- Admin panel with entity browser
- JSON-driven config (sidebar-config.json, god-panel-config.json)
- DBAL health banner and graceful offline fallbacks
- Workflow editor integration via existing WorkflowBuilder component
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New workflow commands: list, get, run, create, status
New package commands: install, uninstall, info, search
All backed by DBAL REST API with formatted table/JSON output.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wire up DBALProvider across all Qt6 views for live CRUD operations,
add PackageLoader, MediaServicePanel, NotificationsPanel, SettingsView,
and JSON-driven CMake config. Fix deployment helpers.py str|None syntax
for Python 3.9 compatibility via __future__ annotations.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a Bash entry to .claude/settings.local.json that runs a find under frontends/qt6 to locate markdown, CLAUDE.md, README.md, and roadmap files (improves document discovery). Also adjusts list punctuation to include the new entry.
Ignore the .act-env file to prevent committing local 'act' environment settings and other developer-specific artifacts. Keeps local environment configuration out of version control.