14 Commits
Author SHA1 Message Date
Andras Bacsai a1c24e084e fix(canvas): center controls and left-align recent deployments 2026-10-26 19:30:08 +01:00
Andras Bacsai cf7602dfa5 fix(ui): use the danger button style for canvas remove buttons 2026-10-24 18:06:22 +02:00
Andras BacsaiandClaude Opus 5.5 ec5d11790e fix(ui): use our own dropdown for the canvas toolbar filters
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 18:02:34 +02:00
Andras BacsaiandClaude Opus 5.5 860b815fbb fix(ui): apply the flat style to buttons, not only the sidebar
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:54:36 +02:00
Andras Bacsai 6699b436e8 fix(metrics): detect Sentinel data mount as the root disk 2026-10-23 22:22:46 +02:00
Andras BacsaiandClaude Opus 5.5 2a295d573b feat(ui): rework dashboard columns and polish the deploy canvas
- Dashboard: projects and servers fill the left, recent deployments sit in a
  fixed-width right column; cards stretch to fill rows; the server table shows
  live CPU and memory usage when metrics are on.
- Deploy canvas: purple accent in dark mode, the Steps panel floats over the
  canvas, and both canvases use the flask beta icon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:14:16 +02:00
Andras BacsaiandClaude Opus 5.5 9db8d55473 feat(canvas): let admins drag server zones on the servers and dashboard canvases
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:13:29 +02:00
Andras BacsaiandClaude Opus 5.5 7fa3110f0b feat(canvas): let admins drag project zones on the projects canvas
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 20:57:56 +02:00
Andras BacsaiandClaude Opus 5.5 44c6322259 fix(canvas): fit the server header and skip placeholder cards in the status summary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 18:10:47 +02:00
Andras Bacsai d9890500ed fix(canvas): keep dragged groups in place after save and reload
Hold saved card and group positions on the canvas until a load that
started after the save completes, so stale poll or refresh responses
no longer snap cards back to their old spots.

Use GROUP_GAP instead of BOX_GAP when dragging groups and checking
group spacing in dragRules, matching layoutServerView so a reload
does not shift a dropped group. Save before ending the group drag.

Add tests covering group spacing after drag and reload.
2026-10-15 13:29:28 +02:00
Andras Bacsai fdd69977a4 feat(canvas): show empty environments as placeholder cards
Environments without resources now appear as placeholder cards on the
project, team projects and server canvases. They sit in the zone that
holds most of their project's cards, or in a new "Empty environments"
zone when there is none. A new EmptyCard component renders them.

- Project canvas: admins can move groups and cards, and the moves are
  saved on their environment canvas. Environments are ordered by id.
- Server canvas: admins can move single cards as well as groups.
- Shared variable canvas: built-in COOLIFY_SERVER_UUID/NAME variables
  and their links are hidden on server scope.
- Main nav: resource menus register through registerMainNavContext()
  with depth levels (#main-nav-context-{depth}). Back goes one level
  lower, and Back at depth 0 returns to the main menu.
- The deploy canvas state, styles and controls are simplified, and the
  related sidebar, navbar and dashboard views are updated.

Tests are added or updated for the canvases and the main nav resource
menus.
2026-10-15 08:46:44 +02:00
Andras Bacsai fa1895c99a feat(dashboard): add canvas view with active deployment overlay
Add a /dashboard/canvas page that renders every team server with its
resources and their running or queued deployments, backed by a new
ServerCanvasController::dashboard endpoint and a per-server usage
endpoint for zone headers. The dashboard remembers the list/canvas
choice and each section (projects, servers) its own table/grid view.

- Show Deploying/Queued pills on canvas cards and a foldable recent
  deployments panel; add shared CanvasControls component
- Allow backup downloads from the server host via the S3 download
  storage (PrepareFileDownloadJob accepts a null container)
- Extract backup toggle/run actions into ManagesDatabaseBackup and
  surface them in backup execution headers; merge S3 and retention
  sections into the general backup settings
- Move deployments indicator to the top bar and add a main nav
  resource menu with submenus; simplify breadcrumbs and settings
  layouts
- Add shared variables overview canvas and scheduled task modals
- Add feature tests for dashboard canvas, view modes, navbar
  submenus, backup S3 downloads and scheduled task modals
2026-10-14 23:55:28 +02:00
Andras Bacsai b31a458a51 style(ui): align floating navigation and canvas radii to 8px 2026-10-14 11:29:35 +02:00
Andras Bacsai 33ee09fa87 feat(canvas): add interactive resource views and team avatars (#12160) 2026-10-14 09:28:10 +02:00