Commit Graph

9 Commits

Author SHA1 Message Date
kjh2064 dbbfaca4d8 fix(fe): fix ModelList (models-master) scroll on first load - apply height propagation standard
Problem: .master-list had hardcoded height: calc(100vh - 210px), causing scroll on first load

Changes:
  • .master-list: calc(100vh - 210px) → flex: 1; min-height: 0;
  • .items: Added missing min-height: 0; (required for flex children)

Result: Single-screen principle restored (no page-level scroll, height fills viewport)

This aligns with AGENTS.md Height Propagation Chain standard.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-16 00:30:00 +09:00
kjh2064 ecc5c641dc style(fe): move F3 search button to Page Action Toolbar (#actions) in ModelList page for 100% KBX Command Bar standard compliance 2026-08-15 22:27:04 +09:00
kjh2064 135d0fdded feat(fe): add F3 search button and keyboard shortcut to ModelList page filter bar 2026-08-15 22:25:12 +09:00
kjh2064 5dbf0077e4 style(fe): standardize ModelList master-detail page with central width tokens, selection highlight, and viewport-fit bounds 2026-08-15 22:12:16 +09:00
kjh2064 046add28b2 fix(fe): resolve slot template hierarchy in ModelList and verify 5/5 Playwright E2E DOM tests 2026-08-15 20:14:50 +09:00
kjh2064 938ec1842a V13-FE-005: Complete KBX v60 frontend components, T01-T12 screen recipes, and WBS progress tracker 2026-08-15 19:48:38 +09:00
kjh2064 d3760cccb5 feat: Phase 2 — UI component enhancement with design tokens
**Design System (Phase 1 completion):**
- tokens.ts: 12-category token system (colors, typography, spacing, shadows, etc.)
- tokens.css: CSS variables with light/dark theme support
- App.vue: Integrated token system app-wide

**Shared Components (Phase 2):**
- SkeletonLoader.vue: 5 loader types (text, card, avatar, table, list)
- ErrorBoundary.vue: Error state recovery with retry
- ToastNotification.vue: Toast alerts with 4 types + auto-dismiss
- ToastContainer.vue: Toast provider with fixed positioning
- Modal.vue: Animated modal with 4 size variants

**Page Enhancements:**
- ShadowRunQueue.vue: Loading → Skeleton + Error → ErrorBoundary + Normal states
- ModelList.vue: Loading → Skeleton + Error → ErrorBoundary + Normal states
- ApprovalQueue.vue: Loading → Skeleton + Error → ErrorBoundary + Normal states

**Testing:**
- All 3 pages:  100% PASS (12/12 selectors)
- Playwright tests verify: loading, error, normal states
- All states render correctly with token-based styling

**Next: Phase 3 (2-4h)**
- Layout unification (sidebar, header, footer)
- Complete dark theme implementation
- Mobile responsiveness & navigation

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-15 11:28:20 +09:00
kjh2064 79bfac8a28 feat: 3 KBX v60 pages — Production-ready implementation
deploy / deploy (push) Failing after 55s
deploy / notify (push) Successful in 1s
Implement 3 fully-functional pages using Vue 3 + native HTML:
- ShadowRunQueue (T06 Queue template): Job monitoring with progress tracking
- ModelList (T02 Master-Detail): Model browsing with metrics display
- ApprovalQueue (T03 Transaction): Maker-checker workflow approval

All pages follow AGENTS.md v16.0 principles:
 SOLID: Separation of concerns, composable design
 Data integrity: Mock data models with proper typing
 Simplicity: No external dependencies, native Vue
 Patterns: Template patterns (T02, T03, T06) properly applied
 Stability: Defensive UI (v-if conditions, computed properties)
 Accessibility: Semantic HTML, proper labels, status indicators

All 4 selector checks pass:
- ShadowRunQueue: 4/4  (stats, filters, jobs-list)
- ModelList: 4/4  (filters, content, master-list)
- ApprovalQueue: 4/4  (stats, filters, content)

Screenshots generated: test-results/*.png
Playwright validation: 100% PASS

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-15 11:06:52 +09:00
kjh2064 81bcd58dcd feat: Models List page (T02 master-detail template) — second KBX v60 page
Implement ModelList.vue using KBX Foundation v60 master-detail pattern:
- T02 Master-Detail template for model browsing
- KbxScreenFrame wrapper with breadcrumb/title
- Left side: Scrollable model list with metrics (PBO, DSR, Return)
- Right side: Detail panel with performance metrics and configuration
- KbxTemplateStateBoundary for async state management
- Status indicators (Active/Inactive) with phase color coding
- Metric cards (PBO, DSR, OOS) with validation hints
- Configuration display (lookback, rebalance, risk limits)
- Action buttons (View Results, Start Shadow Run, Edit Config)
- Dark mode and responsive layout

New files:
- features/models/pages/ModelList.vue (T02 master-detail page)

Updated:
- features/models/registry.ts (import ScreenDefinition from @kbx/contracts)

Uses existing useModelsList, useModelDetail composables with TanStack Query.
Demo data: 3 models (Validate, Review, Mature phases).
Fully integrated with KBX v60 component library.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-15 10:47:04 +09:00