Boban Blaskovic
1622ac3a18
Page: Sites — Volt with search/filter/sort/pagination + 5 Pest tests
...
- pages/sites/index Volt: search by domain (debounced), 4-segment
status filter (all/updates/warnings/critical), server + sort selects,
paginated table (15/page).
- 4 metric tiles from Site aggregates (online/updates/pagespeed/visitors).
- Site cell with favicon initial, ssl/cache info, server/wp/php pills,
visitors + response, status health label, row actions.
- routes/web.php: Volt::route for sites.index.
- CSS additions: clu-page-title/sub, clu-seg, clu-ghost-btn, clu-toolbar,
clu-pager, clu-row-actions.
- 5 Pest tests green (redirect, chrome, list+paginate, search, segment filter).
2026-05-31 22:50:03 +02:00
Boban Blaskovic
bb0e07ca47
Fix tailwind build + test-DB isolation
...
- app.css: CSS quote chars in .clu-quote-text::before/::after were
literal smart quotes which broke as terminating string delimiters in
the tailwind v4 parser. Use unicode escapes \201E and \201C.
- tests/TestCase.php: force DB_CONNECTION=sqlite + :memory: in setUp.
phpunit.xml env section was being ignored by pest 3 runner, so
RefreshDatabase truncated the real MySQL between turns.
- .env.testing for clarity (sqlite memory).
2026-05-31 22:47:34 +02:00
Boban Blaskovic
21c2f8a63a
Page: Dashboard + App-Layout + Sidebar component
...
- layouts/app.blade.php rewritten as Volt-compatible layout with
clu-bg-aurora body, clu-app-grid (236px sidebar + main).
- components/clu/sidebar.blade.php: brand, workspace switch (Acme Cluster),
6 nav items with route-based active state, plan box (PRO, 87/100).
- routes/web.php: Volt::route for dashboard, placeholder routes
for sites/servers/backups/security/team/settings (sidebar links resolve).
- placeholder.blade.php: holds spaceholder pages with shared chrome.
- CSS: app-grid, sidebar, ws-switch, nav, plan-box, topbar, search,
icon-btn, metric, card, table, site-cell, favicon, health, feed.
- pages/dashboard Volt: 4 metrics (Sites Online, Ø Response, Updates,
Blocked/24h) computed from DB, top-8 sites table, top-8 activity feed.
- Test: tests/Feature/Pages/DashboardPageTest.php (3 green)
redirect-guest, render-auth, sees seeded site.
2026-05-31 22:38:12 +02:00
Boban Blaskovic
78edcef3da
Page: Signup Glass — Volt + Pest tests + CSS additions
...
- pages/auth/register: full re-port of CluPilot Signup Glass.html
with 3-step stepper, SSO, name+email+workspace+password form,
live slug preview, password meter (4 rules), terms checkbox,
right-pane trial card + 4-benefit list + customer quote + logo strip.
- CSS additions: clu-stepper, clu-field-row, clu-input-suffix,
clu-slug-preview, clu-pw-meter, clu-pw-rules, clu-trial-*,
clu-benefit-*, clu-quote-*, clu-avatar, clu-logos.
- tests/Feature/Auth/SignupPageTest.php: 6 tests, all green
(renders chrome, slug preview, empty-form rejects, weak password,
creates user + logs in, duplicate email).
2026-05-31 22:22:32 +02:00
Boban Blaskovic
5287b0024d
Foundation + Login Glass page from template
...
- Tailwind theme tokens rewritten to match template light-glass design
(color-fg / muted / accent / glass / hairline + radii + animations).
- Component classes: clu-glass, clu-brand-mark, clu-status-chip, clu-sso-btn,
clu-input, clu-btn-primary, clu-alt-btn, clu-checkbox, clu-stat, clu-term-*,
clu-live-tag, clu-pill.
- layouts/login.blade.php: clu-bg-aurora body, @stack('scripts') for page JS.
- pages/auth/login: full re-port of templates/akutell/CluPilot Login Glass.html:
two-col grid, SSO buttons, e-mail+password with eye toggle (Alpine),
remember checkbox, magic-link/passkey alt buttons, footer with TLS info,
right-side live cluster panel with stat strip, animated terminal, live tags.
- Pest installed (pest, pest-plugin-laravel, pest-plugin-livewire).
- tests/Pest.php with RefreshDatabase binding.
- tests/Feature/Auth/LoginPageTest.php: 5 tests, all green
(renders chrome, mounts Volt, rejects empty, authenticates, rejects invalid).
- 12 design templates committed to templates/akutell/.
2026-05-31 22:18:51 +02:00
Boban Blaskovic
67598ab649
Portainer-ready compose stack + app changes
2026-05-31 17:04:03 +02:00
Boban Blaskovic
624b21fcb9
Initial CluPilot stack setup
...
Laravel 12 + Livewire v3 + Tailwind v4 + Reverb WebSocket
behind Nginx Proxy Manager (external SSL termination, HTTP-only internal).
MariaDB 11, Redis 7, Mailpit. Dark auth views.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 23:00:14 +02:00