Go to file
Boban Blaskovic 0615e0969d Site Details: 3 high-value tabs — Plugins / Redirects / Staging
User accepted top-3 from brainstorm. Tab bar now 12 tabs (wraps cleanly).

Plugins tab:
- 4 metrics: total / updates-pending / auto-update count / themes count.
- Plugins table with favicon-letter, name + slug, version pill (green
  current, orange 'x.y → x.z' on update available), active/inactive
  health label, per-row auto-update toggle, row actions (update +
  activate/deactivate + delete).
- Themes table (Storefront parent, Storefront Child active, TT4 inactive).
- Update-Policy card with 5 toggle-rows: security-only / minor / major
  auto, pre-update snapshot, staging-test-first.
- Bulk-update CTA banner when any update is pending.

Redirects tab:
- 4 metrics: active rules / 24h hits / 404 sources / loop count.
- 'Neue Regel' card with source + target input, status-code segmented
  (301/302/307/410), match-type select, query-string + case-insensitive
  toggles. CSV import button.
- Active rules table with from → to, code pill, hits, last-hit, edit/
  test/delete actions. Sorted by hits.

Staging tab:
- Subdomain input with .domain suffix, server select.
- 5 toggle-rows: HTTP-Basic-Auth (default on), robots.txt block,
  exclude media on sync, email-sandbox, payment-gateways-test-mode.
- Two big action cards: 'Production → Staging Clone' and
  'Staging → Production Push' (push uses clu-btn-danger gradient,
  includes table-include pills + auto-snapshot note).
- Recent sync operations feed with success/info/warning icons.

Volt state additions: stagingActive, stagingSubdomain,
stagingPasswordProtect, stagingExcludeMedia, stagingLastSync. Mocked
plugins/themes/redirects via computed properties (no DB yet, would
come from WP-API/Redirect model in prod).

5/5 SiteDetailsTest still green.
2026-06-01 00:24:30 +02:00
app Site Details: 3 high-value tabs — Plugins / Redirects / Staging 2026-06-01 00:24:30 +02:00
docker Skip composer scripts during build; defer package:discover to entrypoint 2026-05-31 18:05:05 +02:00
templates Foundation + Login Glass page from template 2026-05-31 22:18:51 +02:00
.dockerignore Bake app into multi-stage image; drop bind mounts for Portainer remote endpoint 2026-05-31 17:44:35 +02:00
.gitignore nginx: extra_hosts host-gateway for vite HMR upstream; gitignore root .env 2026-05-31 21:01:28 +02:00
Dockerfile Skip composer scripts during build; defer package:discover to entrypoint 2026-05-31 18:05:05 +02:00
docker-compose.override.yml Move dev bind-mounts to docker-compose.override.yml (keep Portainer stack clean) 2026-05-31 23:37:04 +02:00
docker-compose.portainer.yml Add image-only compose for Portainer Repository deploys (no buildkit) 2026-05-31 21:40:46 +02:00
docker-compose.yml Move dev bind-mounts to docker-compose.override.yml (keep Portainer stack clean) 2026-05-31 23:37:04 +02:00
stack.env.example Version-pin images: APP_VERSION for own builds, MARIADB/REDIS for services 2026-05-31 18:17:09 +02:00