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

@@ -72,7 +72,7 @@ export function PortalLoginForm({ slug, accountName }: Props) {
router.push(`/club/${slug}/portal/profile`);
router.refresh();
}
} catch (err) {
} catch (_err) {
setError('Verbindungsfehler. Bitte versuchen Sie es erneut.');
} finally {
setLoading(false);

View File

@@ -14,7 +14,7 @@ interface Props {
initialData: Record<string, unknown>;
}
export function SiteEditor({ pageId, accountId, initialData }: Props) {
export function SiteEditor({ pageId, accountId: _accountId, initialData }: Props) {
const { execute: execPublish } = useActionWithToast(publishPage, {
successMessage: 'Seite veröffentlicht',
});

View File

@@ -123,7 +123,7 @@ const ContactFormBlock = ({
const MapBlock = ({
latitude,
longitude,
zoom,
zoom: _zoom,
height,
}: {
latitude: number;

View File

@@ -3,7 +3,6 @@
import { z } from 'zod';
import { authActionClient } from '@kit/next/safe-action';
import { getLogger } from '@kit/shared/logger';
import { getSupabaseServerClient } from '@kit/supabase/server-client';
import {
@@ -12,13 +11,12 @@ import {
SiteSettingsSchema,
CreatePostSchema,
UpdatePostSchema,
NewsletterSubscribeSchema,
} from '../../schema/site.schema';
import { createSiteBuilderApi } from '../api';
export const createPage = authActionClient
.inputSchema(CreatePageSchema)
.action(async ({ parsedInput: input, ctx }) => {
.action(async ({ parsedInput: input, ctx: _ctx }) => {
const client = getSupabaseServerClient();
const api = createSiteBuilderApi(client);
const data = await api.createPage(input, ctx.user.id);
@@ -27,7 +25,7 @@ export const createPage = authActionClient
export const saveDraft = authActionClient
.inputSchema(UpdatePageSchema)
.action(async ({ parsedInput: input, ctx }) => {
.action(async ({ parsedInput: input, ctx: _ctx }) => {
const client = getSupabaseServerClient();
const api = createSiteBuilderApi(client);
const data = await api.updatePage(
@@ -40,7 +38,7 @@ export const saveDraft = authActionClient
export const publishPage = authActionClient
.inputSchema(UpdatePageSchema)
.action(async ({ parsedInput: input, ctx }) => {
.action(async ({ parsedInput: input, ctx: _ctx }) => {
const client = getSupabaseServerClient();
const api = createSiteBuilderApi(client);
const data = await api.updatePage(
@@ -71,7 +69,7 @@ export const updateSiteSettings = authActionClient
export const createPost = authActionClient
.inputSchema(CreatePostSchema)
.action(async ({ parsedInput: input, ctx }) => {
.action(async ({ parsedInput: input, ctx: _ctx }) => {
const client = getSupabaseServerClient();
const api = createSiteBuilderApi(client);
const data = await api.createPost(input, ctx.user.id);