Boban Blaskovic
|
4d4e2cbc33
|
Site Details: exact template rebuild + xterm.js logs + fileContents tree
User-requested rebuild + browser-verified:
1. **Full template port** (templates/akutell/Site Details.html + sitedetails.js):
- All 6 tabs match template structure verbatim (Übersicht, WordPress,
PHP / ini, Datei-Manager, Cronjobs, Logs).
- Tab bar uses clu-dtabs glass button group instead of generic seg.
- Site hero (favicon + domain + server/wp/php/ssl meta) + Besuchen +
WP-Admin buttons in topbar.
2. **Filemanager tab** (template's clu-fm grid):
- File tree rendered recursively from PHP-mirrored sitedetails.js
'tree' array. Folder rows show clu-chev rotation on .open, nested
children indent via clu-tree-children border-left + margin-left.
- 7 baked file contents from sitedetails.js fileContents object
(wp-config.php, .htaccess, robots.txt, index.php, functions.php,
style.css, php.ini) — click any leaf in tree, editor loads it.
- clu-gutter dynamic line-numbers + clu-code-area textarea +
Verwerfen/Speichern action row.
3. **Logs tab with xterm.js**:
- resources/js/app.js imports @xterm/xterm + @xterm/addon-fit,
exposes window.XTerm + window.XTermFit globally.
- resources/css/app.css imports xterm.css.
- Sites show component pushes inline init script with logData baked
in (4 log types × ~8 entries each). xterm renders with ANSI
truecolor escapes per level (INFO blue / WARN yellow / ERROR red /
OK green / DEBUG purple), keeps dark gradient host with custom
scrollbar.
- 4-tab seg (access / error / php / wp) switches log type via
setLog() Livewire action; xterm re-init on livewire:navigated.
- Live folgen checkbox wired (Volt logFollow state).
4. **Cronjobs tab**:
- Real $site->crons table with name/expression-pill/command/last-run/
status + run/more actions + Cronjob-anlegen primary button.
5. **WordPress + PHP tabs**:
- Full forms with all 6 wp-config fields + 5 toggles + Datenbank +
Security Keys cards.
- php.ini with 8 fields + 4 toggles + OPcache stats + 16 extension
pills.
6. **CSS additions**: clu-dtabs/dtab, clu-pane, clu-site-hero, clu-fm,
clu-tree*, clu-chev, clu-editor*, clu-gutter, clu-code-area,
clu-xterm-host (dark gradient + custom scrollbar), clu-set-grid,
clu-switch-line, clu-section-head.
7. SiteDetailsTest assertions updated to match new template wording
(PHP / ini, Datei-Manager, Cronjobs, Schnellaktionen). 36 Pest tests
green.
8. Browser-verified: chart loads, xterm renders logs in correct color,
files tab tree expands + editor loads wp-config.php, 0 console errors.
|
2026-05-31 23:49:48 +02:00 |
Boban Blaskovic
|
4f0c787f89
|
Pages: Cluster Wizard (4-step) + Site Details (6 tabs) — final 12/12
- pages/clusters/create: 4-step wizard (Basis/Region+Size/WordPress/Review),
sticky summary card with live monthly price (size × nodes), creates real
Cluster on submit, redirects to servers index. 6 tests.
- pages/sites/show: 6-tab interface (Übersicht/WordPress/PHP/Files/Cron/Logs)
via Volt setTab(), URL-bound tab state. Overview metrics + Quick-Action
toggles (maintenance/cache/CDN) persist directly. WP+PHP config forms,
file tree + wp-config preview, cron table, log console with level coloring.
5 tests.
- Routes: Volt for clusters.create + sites.show with route-model-binding.
- CSS: clu-detail-tabs, clu-log-console, clu-log-level (info/warn/error),
clu-file-tree, clu-file-row.
- Full regression: 47/47 Pest tests green (214 assertions).
ALL 12 templates ported to Volt + Pest.
|
2026-05-31 23:08:15 +02:00 |
Boban Blaskovic
|
d57d456d02
|
Pages: Backups + Team + Security + Settings (14 Pest tests)
- backups: 4 metrics (last/storage/recovery/failed), recent backups
table with pagination, sticky config card (toggles for daily/snapshots/
replication + storage meter). 4 tests.
- team: 4 metrics (members/admins/invites/2fa), members table with
avatar+role+scope+2fa+last-active, open invitations table with
resend/revoke actions. 3 tests.
- security: 4 metrics (blocked24h/firewall-rules/ssl-expiring/2fa),
advisories panel (high+critical events), threat feed (live), SSL
certificates table with days-to-expiry. 3 tests.
- settings: 2-col layout with sticky left nav (workspace/notifications/
billing/api/danger), reactive section switching, workspace form,
billing card with quota meter, danger-zone with delete CTA. 4 tests.
- CSS additions: clu-settings-grid, clu-settings-nav, clu-danger.
- Routes: 4 Volt routes (backups/team/security/settings).
|
2026-05-31 23:04:18 +02:00 |
Boban Blaskovic
|
b15e6f2146
|
Page: Servers — Volt cards grid with gauges + 3 Pest tests
- pages/servers/index Volt: 4 metrics (active nodes, avg CPU, avg RAM,
maintenance), env segmented filter (all/prod/edge/staging), region select.
- Server card grid with country flag, name, env, spec line (vCPU/RAM/disk),
3 horizontal gauges (CPU/RAM/disk) color-coded warn>70 / bad>90,
sites_count footer, SSH + more row actions.
- CSS additions: clu-server-card/head/flag/name/meta/spec/foot, clu-gauge*.
- Routes: Volt::route servers.index.
- 3 Pest tests green (redirect, chrome+grid, env filter).
|
2026-05-31 22:52:01 +02:00 |
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
|
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 |