secubox-openwrt/secubox-tools/webui/docs/ui-kit.md
CyberMind-FR 0d6aaa1111 feat(webui): add Project Hub workspace and remove Command Center glow effects
- Add complete Project Hub & Workspace Interface implementation
  - New data models: Project, ModuleKit, Workspace
  - 3 fixture projects (cybermind.fr, cybermood.eu, secubox-c3)
  - 4 module kits (Security, Network, Automation, Media)
  - Workspace routes with project switching and kit installation
  - 4 workspace tabs: Overview, Module Kits, Devices, Composer
  - New navigation item: Workspace (7th section)

- Remove all glowing effects from UI
  - Remove Command Center widget glow and backdrop blur
  - Remove device status indicator glow
  - Remove toggle button glow effects

- Extend DataStore with 13 new methods for workspace management
- Add 270+ lines of workspace-specific CSS with responsive layouts
- Create workspace templates and result partials

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-03 08:10:22 +01:00

112 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SecuBox WebUI UI Kit
Concept for a responsive, emoji-forward card interface covering AppStore, Modules, Components, Profiles, Templates, and Settings views. This spec guides the implementation phase.
## 1. Layout & Breakpoints
| Breakpoint | Width | Grid Columns | Notes |
|------------|------------------|--------------|------------------------------------------|
| XL | ≥ 1200 px | 4 columns | Default desktop, persistent nav sidebar |
| LG | 992 1199 px | 3 columns | Collapsed sidebar, dense cards |
| MD | 768 991 px | 2 columns | Bottom nav strip, drawers slide over |
| SM | ≤ 767 px | 1 column | Stacked cards, actions move to menus |
CSS Grid template example:
```css
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--space-lg);
}
```
## 2. Card Anatomy
Structure shared across sections (AppStore, Modules, etc.):
1. **Header Row:** emoji badge + title + version/status pill.
2. **Body:** summary paragraph, tags, dependency indicators.
3. **Footer:** primary action button, secondary action, metadata chips.
States: default, hover (elevation + shadow), active (pressed), disabled (reduced opacity), warning/error (border + icon).
## 3. Emoji/Icon Mapping
| Category | Emoji | Color Token | Example |
|---------------|-------|-----------------|---------|
| Security | 🛡️ | `--accent-green`| `secubox-core`, `auth-guardian` |
| Networking | 🛰️ | `--accent-blue` | `network-modes` |
| Monitoring | 📡 | `--accent-purple` | `netdata-dashboard` |
| Automation | 🤖 | `--accent-orange` | `system-hub` |
| Storage | 💾 | `--accent-cyan` | `nextcloud` |
| Templates | 🧬 | `--accent-pink` | profile/template cards |
Store mapping in `app/ui/emoji_map.py` (future) or JSON for reuse.
## 4. Palette & Typography
- Base fonts: `Inter`, `SF Pro`, fallback `system-ui`.
- Font scale: `1.25rem` headings, `1rem` body, `0.85rem` tags.
- Light theme tokens:
- `--bg`: `#f5f6fb`
- `--panel`: `#ffffff`
- `--text`: `#1f2333`
- `--border`: `rgba(31,35,51,0.12)`
- `--accent`: `#4b6bfb`
- Dark theme tokens mirror existing `theme-luci` palette.
## 5. Components
### Filter Chips
- Rounded pill, emoji optional (`#RPC` / `#Beta`).
- Click toggles active state (accent background + bold text).
- Emits filter event via HTMX `hx-get="/?tags=..."`.
### Action Buttons
- Primary: solid accent, ripple effect.
- Secondary: ghost style with border.
- Include icon/emoji prefix when contextually relevant.
### Status Pills
- Variants: `Stable`, `Beta`, `Warning`, `Critical`.
- Colors: green, amber, orange, red respectively.
- Show optional emoji (✅, 🧪, ⚠️, 🟥).
### Drawers / Modals
- Side drawer for module detail (`max-width: 420px`).
- Full-screen modal on mobile.
- Contains tabbed content (Overview, Logs, Dependencies, Actions).
## 6. Interactions
- **Hover:** slight translation (`transform: translateY(-2px)`), drop shadow.
- **Drag-and-drop:** used in Profiles view to assign module cards to profiles; utilize accessible drag handles.
- **Filtering:** clicking tags/filters triggers animated fade/filter via CSS or JS.
- **Quick Actions:** card footers show inline icons (▶️ Run, 🔍 Inspect, 🔄 Update).
- **Feedback:** success toast with emoji (`✅ Module simulated`), warnings with orange banner.
## 7. Section-specific Notes
- **AppStore:** hero carousel with featured cards, grid for categories, install buttons with progress badges.
- **Modules:** include uptime bar, log badges, context menu (⋮) for advanced actions.
- **Components:** embed mini network diagram card showing dependencies; highlight on hover.
- **Profiles:** stacked module badges, timeline indicator for provisioning.
- **Templates:** preview thumbnails (image or code snippet), CTA `🧪 Preview`.
- **Settings:** grouped cards per domain, switches and sliders embedded.
## 8. Accessibility
- Ensure color contrast ≥ 4.5:1.
- Provide aria-labels for emoji-only buttons.
- Keyboard navigation: tab order respects card grid; Enter activates primary action, Space toggles filter chips.
## 9. Implementation Checklist
1. Build SCSS/Tailwind layer reflecting tokens and breakpoints.
2. Implement base card component (`<Card>`), variants for each view.
3. Develop reusable chip, pill, badge components.
4. Wire HTMX or React events for filters, drawers, drag-drop.
5. QA across breakpoints + theme toggles.
This document is the reference for implementing the reactive card UI across SecuBox WebUI sections.