fix: QA audit — lint cleanup, i18n fixes, module visibility, sidebar UX
Some checks failed
Workflow / ʦ TypeScript (push) Failing after 5m40s
Workflow / ⚫️ Test (push) Has been skipped

- Fix 97 lint errors → 0 (unused imports, params, variables across 40+ files)
- Fix i18n key format: colon → dot notation for next-intl compatibility
- Add missing i18n keys (routes.application, routes.home, confirm)
- Fix module visibility: sidebar now respects per-account DB features
- Fix inject function: use dot-notation keys, add collapsed:true defaults
- Fix ConfirmDialog: use useTranslations instead of hardcoded German defaults
- Fix events page: replace placeholder 'Beschreibung' with proper description
- Fix Dockerfile: add NEXT_PUBLIC_CI ARG for Docker builds
- Collapse secondary sidebar sections by default for cleaner UX
This commit is contained in:
Zaid Marzguioui
2026-04-02 14:39:20 +02:00
parent c6d564836f
commit 0bd5d0cf42
56 changed files with 387 additions and 234 deletions

View File

@@ -43,10 +43,10 @@ const STATUS_TRANSITIONS: Record<string, MeetingItemStatus> = {
export function ProtocolItemsList({
items,
protocolId,
account,
protocolId: _protocolId,
account: _account,
}: ProtocolItemsListProps) {
const { execute: executeStatusUpdate, isPending: isUpdating } = useAction(
const { execute: executeStatusUpdate, isPending: _isUpdating } = useAction(
updateItemStatus,
{
onSuccess: ({ data }) => {

View File

@@ -150,7 +150,7 @@ export function createMeetingsApi(client: SupabaseClient<Database>) {
return data ?? [];
},
async createItem(input: CreateProtocolItemInput, userId: string) {
async createItem(input: CreateProtocolItemInput, _userId: string) {
const { data, error } = await client
.from('meeting_protocol_items')
.insert({
@@ -168,7 +168,7 @@ export function createMeetingsApi(client: SupabaseClient<Database>) {
return data;
},
async updateItem(input: UpdateProtocolItemInput, userId: string) {
async updateItem(input: UpdateProtocolItemInput, _userId: string) {
const updateData: Record<string, unknown> = {};
if (input.title !== undefined) updateData.title = input.title;
@@ -191,7 +191,7 @@ export function createMeetingsApi(client: SupabaseClient<Database>) {
return data;
},
async updateItemStatus(input: UpdateItemStatusInput, userId: string) {
async updateItemStatus(input: UpdateItemStatusInput, _userId: string) {
const { data, error } = await client
.from('meeting_protocol_items')
.update({