Creates docs/ directory with secubox-deb style documentation: - README.md: Project overview and quick links - SCREENSHOTS.md: Module screenshot gallery (pending captures) - UI-GUIDE.md: CRT P31 theme design guide - MODULES.md: Complete package catalog (75+ modules) - API.md: RPCD/ubus API reference Screenshot directory structure: - docs/screenshots/router/ for OpenWrt router captures - docs/wiki/ for multilingual documentation Documentation follows secubox-deb format with: - Organized module categories - Status indicators (✅ Captured / ⏳ Pending) - Theme color palette reference - API method tables Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.4 KiB
4.4 KiB
SecuBox UI Design Guide
CRT P31 Phosphor Green Theme
The SecuBox OpenWrt interface uses a retro CRT terminal aesthetic inspired by the P31 phosphor used in classic green-screen monitors.
Color Palette
| Variable | Hex | Usage |
|---|---|---|
--p31-peak |
#33ff66 |
Maximum brightness - headers, active elements |
--p31-hot |
#66ffaa |
High brightness - hover states |
--p31-mid |
#22cc44 |
Medium brightness - body text |
--p31-dim |
#0f8822 |
Low brightness - secondary text, borders |
--p31-ghost |
#052210 |
Ghosting/afterglow - subtle backgrounds |
--p31-decay |
#ffb347 |
Phosphor decay amber - warnings |
--tube-black |
#050803 |
Deep CRT black - main background |
--tube-deep |
#080d05 |
Card backgrounds |
--tube-bezel |
#0d1208 |
Panel borders |
Typography
font-family: 'Courier Prime', 'IBM Plex Mono', 'Fira Code',
'Courier New', 'Lucida Console', monospace;
font-size: 14px;
line-height: 1.5;
letter-spacing: 0.02em;
Glow Effects
/* Text glow */
--bloom-text: 0 0 2px var(--p31-peak),
0 0 6px var(--p31-peak),
0 0 14px rgba(51,255,102,0.5);
/* Box glow */
--bloom-box: 0 0 8px rgba(51,255,102,0.3),
inset 0 0 4px rgba(51,255,102,0.1);
Theme Files
luci-theme-secubox/
├── htdocs/luci-static/secubox/
│ ├── cascade.css # Main theme CSS
│ ├── mobile.css # Mobile responsive styles
│ ├── crt-engine.js # Scanline & boot animation
│ └── crt-components.js # Reusable UI components
├── htdocs/luci-static/resources/secubox-theme/
│ └── themes/
│ ├── crt-p31.css # P31 variant
│ ├── dark.css # Dark variant
│ ├── cyberpunk.css # Cyberpunk variant
│ └── ...
└── ucode/luci/template/themes/secubox/
├── header.ut # Header template
└── footer.ut # Footer template
CRT Engine Features
Scanlines Overlay
// Automatically applied via crt-engine.js
// Creates CSS pseudo-element with horizontal lines
Boot Sequence Animation
On first visit, displays a terminal-style boot sequence:
[SECUBOX] Initializing mesh daemon...
[SECUBOX] Loading P31 phosphor display...
[SECUBOX] System ready.
Phosphor Glow
Text and interactive elements have subtle green glow effects that intensify on hover/focus.
KISS Theme Integration
SecuBox modules use a shared KISS (Keep It Simple & Styled) theme helper:
// In LuCI views
'require secubox-theme/kiss';
// Render header chip
E('div', { 'class': 'sh-page-header' }, [
renderHeaderChip('🛡️', 'Security Status', 'Active', 'success')
]);
// Stats card
E('div', { 'class': 'sh-stat-card' }, [
E('div', { 'class': 'sh-stat-value' }, '42'),
E('div', { 'class': 'sh-stat-label' }, 'Active Threats')
]);
Component Classes
Cards
<div class="sh-card">
<div class="sh-card-header">Title</div>
<div class="sh-card-body">Content</div>
</div>
Status Badges
<span class="sh-badge sh-badge-success">Running</span>
<span class="sh-badge sh-badge-warning">Warning</span>
<span class="sh-badge sh-badge-danger">Stopped</span>
Progress Bars
<div class="sh-progress">
<div class="sh-progress-bar" style="width: 75%"></div>
</div>
Tables
<table class="sh-table">
<thead>
<tr><th>Column</th></tr>
</thead>
<tbody>
<tr><td>Data</td></tr>
</tbody>
</table>
Responsive Design
The theme includes mobile-optimized styles via mobile.css:
- Collapsible navigation menu
- Stacked card layouts
- Touch-friendly button sizes
- Readable font sizes on small screens
Theme Switching
Users can switch themes via UCI or the Settings page:
# Set theme via UCI
uci set luci.main.mediaurlbase='/luci-static/secubox'
uci commit luci
# Or use the themes section
uci set luci.themes.SecuBox='/luci-static/secubox'
Dark Mode
The CRT P31 theme is inherently dark. The data-darkmode attribute is ignored as the phosphor green aesthetic requires a dark background for proper contrast.
Accessibility
- High contrast phosphor green on black
- Keyboard navigation support
- Focus indicators with glow effects
- Screen reader compatible semantic HTML
SecuBox UI Guide v1.0 | CRT P31 Phosphor Theme