mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-11-09 05:24:49 +09:00
Implements roadmap #6, #7, #8 and surfaces the #4/#10 backends in the UI. #6 Consolidated Site Health card in the WordPressDetail overview: loads getProjectHealth + getProjectDiskUsage on mount and shows overall status, WP/PHP version, container/database/HTTP checks (HealthDot) and the previously orphaned DiskUsageBar — with loading/error/standalone-None handled gracefully. #7 WordPress update manager. New update_themes service method + POST /sites/<id>/themes/update route (registered before /themes/<theme>/activate), and getWordPressInfo/updatePlugins/updateThemes ApiService methods. OverviewTab shows a core "Update available" badge + Update button; PluginsTab and ThemesTab show per-row update badges/buttons (keyed off the WP-CLI `update` field) plus a bulk "Update all" bar. All update state is computed live via WP-CLI. #8 Per-site SSL panel. Shows the primary domain and live certificate status (via GET /ssl/advanced/health/<domain>) and an "Enable SSL" action that issues a Let's Encrypt cert through the existing /ssl/certificates route. SSL status is derived live (no DB column / migration); localhost / private-IP / no-domain sites degrade to an explanatory hint instead of a dead button. #4 UI: a Danger Zone with Archive/Unarchive (toggles on site.status) and a Delete Site modal (typed-name confirmation + create-backup checkbox) wired to the existing archive/unarchive/delete endpoints. #10 UI: a Promotion History list in the pipeline tab (self-fetched) with a Rollback button shown only for completed promotions that have a pre-promotion snapshot, wired to rollbackPromotion via the existing ConfirmDialog. SCSS added for update badges/bulk bar, health/SSL helpers, and promotion history. Verified: frontend build passes; backend boots and the themes/update route + update_themes method register; changed JS files add 0 new lint errors. No DB migration introduced. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>