feat: Frontend gap closure — Schedules, Alerts, Migration, Changelog views
Implements missing frontend views and API integrations: New Views: - SchedulesView: CRUD for scheduled tasks (restart/announcement/command/plugin_reload) - MigrationView: Export/import interface with file upload and history tracking - ChangelogView: Paginated changelog feed with category badges - ForgotPasswordView: Password reset flow with email submission - AlertsView: Alert config dashboard with threshold settings and history Component Updates: - ErrorBoundary: Global error handler with retry functionality - DashboardLayout: Mobile responsive sidebar, permission-based nav, new menu items - ServerInfoView: Complete rewrite for public server info display Infrastructure: - useApi: Token refresh interceptor with 401 retry and infinite loop prevention - plugins store: Implemented all stubbed methods with real API calls - auth store: Added hasPermission() helper for RBAC UI visibility - Router: Added new routes with catch-all fallback Purpose: Closes frontend implementation gaps. Hardens auth flow, improves mobile UX, enables server automation scheduling, alert configuration, and data migration tools. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
29
CHANGELOG.md
29
CHANGELOG.md
@@ -4,6 +4,35 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added (Frontend Gap Closure — 2026-02-15)
|
||||
|
||||
**New Views:**
|
||||
- `SchedulesView.vue` — Scheduled task management with CRUD operations for server automation (restart, announcement, command, plugin reload tasks)
|
||||
- `MigrationView.vue` — Data export/import interface with export history and file upload for server migration
|
||||
- `ChangelogView.vue` — Paginated platform changelog feed with category badges and version display
|
||||
- `ForgotPasswordView.vue` — Password reset flow with email submission and success state
|
||||
- `AlertsView.vue` — Alert configuration dashboard with threshold sliders, notification channel toggles, and alert history table
|
||||
|
||||
**Component Updates:**
|
||||
- `ErrorBoundary.vue` — Global error handler component with retry functionality
|
||||
- `DashboardLayout.vue` — Mobile responsive sidebar with hamburger menu, permission-based nav visibility, and new nav items (Schedules, Alerts, Changelog)
|
||||
- `ServerInfoView.vue` — Complete rewrite for public server info page with header image, MOTD, wipe schedule, mods list, and Discord integration
|
||||
|
||||
**Store & API Integration:**
|
||||
- `plugins.ts` — Implemented all stubbed methods with real API calls (fetchPlugins, installPlugin, uninstallPlugin, reloadPlugin, updatePluginConfig, searchPlugins)
|
||||
- `useApi.ts` — Token refresh interceptor with automatic retry on 401, prevents infinite refresh loops
|
||||
- `auth.ts` — Added `hasPermission()` helper with basic permission checking
|
||||
|
||||
**Router:**
|
||||
- Added routes: `/schedules`, `/migration`, `/changelog`, `/alerts`, `/forgot-password`
|
||||
- Added catch-all route redirecting to home
|
||||
- All new routes under authenticated dashboard layout
|
||||
|
||||
**App Structure:**
|
||||
- Wrapped root `<RouterView>` with `ErrorBoundary` for global error handling
|
||||
|
||||
**Purpose:** Closes frontend implementation gaps identified during Phase 4. Implements critical missing views (scheduled tasks, alerts, migration tools), hardens auth flow with token refresh, adds permission-based UI visibility, and improves mobile UX with responsive sidebar.
|
||||
|
||||
### Added (NestJS Backend — Core Modules)
|
||||
|
||||
**Auth Module (`modules/auth/`):**
|
||||
|
||||
Reference in New Issue
Block a user