- 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.
2.6 KiB
2.6 KiB
Phase 6 – WebUI-Fundament (Status: abgeschlossen, manuell bestätigt)
Abgeschlossen
apps/webuials@nexumi/webui(Next.js 15 App Router, Tailwind 4, React 19)- Discord-OAuth2 + Redis-Sessions; Cookie-Fix für HTTP (
Securenur 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,OwnerAuditLoginkl. Migration20260722190000_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 GETcasesundwarnings - 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.*inde.jsonunden.jsonergänzt - Platzhalter-Route
dashboard/[guildId]/[module]/page.tsxgreift 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+testgrün;next buildkompiliert und rendert alle Seiten (inkl. neue Batch-A-Routen) erfolgreich – einzige Auffälligkeit ist ein bekanntes Windows-onlyEPERM-Symlink-Problem beioutput: standaloneauß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).