- Updated PHASE-TRACKING.md to reflect the completion of Batch A features, including the implementation of dashboard pages and API routes for various modules. - Added new Prisma models and migration for owner features, including CommandOverride and GlobalUserBlacklist. - Expanded dashboard schemas in dashboard.ts to include Ticket, Giveaway, Self Role, Tag, and Starboard configurations, along with their respective validation tests in dashboard.test.ts. - Enhanced localization files with new i18n keys for the added modules and features. - Verified successful builds and tests across multiple packages, ensuring stability and functionality of new features.
31 lines
2.6 KiB
Markdown
31 lines
2.6 KiB
Markdown
## Phase 6 – WebUI-Fundament (Status: abgeschlossen, manuell bestätigt)
|
||
|
||
### Abgeschlossen
|
||
|
||
- `apps/webui` als `@nexumi/webui` (Next.js 15 App Router, Tailwind 4, React 19)
|
||
- Discord-OAuth2 + Redis-Sessions; Cookie-Fix für HTTP (`Secure` nur bei HTTPS; Set-Cookie am Redirect-Response)
|
||
- Settings-Framework, Layout, Shared Zod-API, Modul-Toggles, Access-Rules, Dashboard-Audit
|
||
- Deploy: bot+webui healthy; Login manuell bestätigt (`WEBUI_URL=http://10.111.0.65:3000`)
|
||
|
||
## Phase 7 – WebUI Modul-Seiten + Owner-Panel (Status: in Arbeit)
|
||
|
||
### Abgeschlossen (Batch A)
|
||
|
||
- Prisma-Grundlage für Owner-Features: `CommandOverride`, `OwnerTeamMember`, `GlobalUserBlacklist`, `GuildBlacklist`, `FeatureFlag`, `BotPresenceConfig`, `ChangelogEntry`, `OwnerAuditLog` inkl. Migration `20260722190000_phase7_owner`
|
||
- Shared Zod-Schemas für Dashboard-Module in `packages/shared/src/dashboard.ts` (Moderation, Automod, Logging, Welcome, Verification, Leveling, Economy, Fun, Cases, Warnings) + Tests
|
||
- `OWNER_USER_IDS`-Env-Variable (WebUI-Env-Schema + `.env.example`), noch ohne Owner-Panel-Nutzung
|
||
- API-Routen (GET+PATCH) für: `moderation`, `automod`, `logging`, `welcome`, `verification`, `leveling`, `economy`, `fun`; zusätzlich GET `cases` und `warnings`
|
||
- Funktionierende Dashboard-Seiten (Formular + Speichern über SettingsForm/SaveBar, echte Daten, keine Platzhalter) für alle acht Batch-A-Module, inkl. Cases-Tabelle auf der Moderation-Seite
|
||
- i18n-Keys `modulePages.*` in `de.json` und `en.json` ergänzt
|
||
- Platzhalter-Route `dashboard/[guildId]/[module]/page.tsx` greift nur noch für die verbleibenden Batch-B/C-Module (Batch-A-Routen haben eigene Ordner mit Vorrang)
|
||
- Verifiziert: `pnpm --filter @nexumi/shared build+test`, `pnpm --filter @nexumi/webui typecheck+lint`, `pnpm --filter @nexumi/bot typecheck+lint+test` grün; `next build` kompiliert und rendert alle Seiten (inkl. neue Batch-A-Routen) erfolgreich – einzige Auffälligkeit ist ein bekanntes Windows-only `EPERM`-Symlink-Problem bei `output: standalone` außerhalb von Docker, ohne Auswirkung auf den Linux-Container-Build
|
||
|
||
### Offen (Batch B/C)
|
||
|
||
- Batch B: Tickets, Giveaways, Reaction-Roles, Custom-Commands, Polls (eigene Module + Seiten, aktuell noch über `[module]`-Platzhalter)
|
||
- Batch C: Owner-Panel-UI (Übersicht, Guilds, User-Blacklist, Feature-Flags, Präsenz, Team, Jobs, Changelog, Audit) auf Basis der jetzt vorhandenen Prisma-Modelle
|
||
|
||
## Nächster geplanter Schritt
|
||
|
||
- Batch B (Restmodule) und Batch C (Owner-Panel-UI) umsetzen, danach Phase 7 komplett manuell freigeben, anschließend Phase 8 (Landing, Status, Rechtsseiten).
|