Improvements: remove dead config, fix ESM, add URL validation, unify types, add missing logging
- Remove .prettierrc (dead config, Biome replaces Prettier) - Rename lighthouserc.json to lighthouserc.cjs with module.exports for ESM compat - Add logger.warn to empty catch blocks in auth, register, site-settings, prisma-cache, redis, security, rate-limit - Unify ActionResult type: action-helper.ts uses 'ok' consistent with safe-action-shared.ts - Add noUnusedLocals + noUnusedParameters to tsconfig + fix 25 pre-existing unused vars - Replace barrel export src/types/index.ts with direct @/types/common imports - Make trustHost conditional (development only) in auth.ts - Add pre-flight URL validation to update-Nitrov3.sh to catch image.library.url misconfigurations - Improve NITRO_IMAGE_LIBRARY_URL content validation in pre-flight & post-compute checks
This commit is contained in:
1 parent
b922f6d49f
commit
17847545dd
292 files changed
+69195
-67915
No files matched your search
@@ -78,17 +78,15 @@ export function AdminHelpTicketDetail({
|
||||
}
|
||||
|
||||
function handleClose() {
|
||||
run(
|
||||
() => closeHelpCenterTicket({ ticketId: ticket.id }),
|
||||
{ successMessage: t("success.closed") },
|
||||
);
|
||||
run(() => closeHelpCenterTicket({ ticketId: ticket.id }), {
|
||||
successMessage: t("success.closed"),
|
||||
});
|
||||
}
|
||||
|
||||
function handleReopen() {
|
||||
run(
|
||||
() => reopenHelpCenterTicket({ ticketId: ticket.id }),
|
||||
{ successMessage: t("success.reopened") },
|
||||
);
|
||||
run(() => reopenHelpCenterTicket({ ticketId: ticket.id }), {
|
||||
successMessage: t("success.reopened"),
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -98,8 +98,7 @@ export default async function AdminHelpTicketDetailPage({
|
||||
}),
|
||||
];
|
||||
|
||||
const creator =
|
||||
openerId != null ? userById.get(openerId) : undefined;
|
||||
const creator = openerId != null ? userById.get(openerId) : undefined;
|
||||
|
||||
const canEdit = canAccess(permissions, PERMS.TICKETS_EDIT, session.user.rank);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import Link from "next/link";
|
||||
import { useTranslations } from "next-intl";
|
||||
import { DataTable } from "@/components/admin/data-table";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import type { DataTableColumn, PaginatedResult } from "@/types";
|
||||
import type { DataTableColumn, PaginatedResult } from "@/types/common";
|
||||
|
||||
export interface HelpTicketRow {
|
||||
id: string;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
import { redirect } from "next/navigation";
|
||||
import { getTranslations } from "next-intl/server";
|
||||
import type { Prisma } from "@/generated/prisma/client";
|
||||
import { StatusCard } from "@/components/admin/dashboard";
|
||||
import type { Prisma } from "@/generated/prisma/client";
|
||||
import { calcPagination, parseListParams } from "@/lib/admin-helpers";
|
||||
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
|
||||
import { formatDate } from "@/lib/format-date";
|
||||
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import {
|
||||
HelpTicketsTable,
|
||||
type HelpTicketRow,
|
||||
} from "./help-tickets-table";
|
||||
import { type HelpTicketRow, HelpTicketsTable } from "./help-tickets-table";
|
||||
|
||||
export const dynamic = "force-dynamic";
|
||||
|
||||
@@ -116,7 +113,9 @@ export default async function AdminHelpTicketsPage({
|
||||
const ticketIds = tickets.map((ticket) => ticket.id);
|
||||
const userIds = [
|
||||
...new Set(
|
||||
tickets.map((ticket) => ticket.userId).filter((id): id is number => id != null),
|
||||
tickets
|
||||
.map((ticket) => ticket.userId)
|
||||
.filter((id): id is number => id != null),
|
||||
),
|
||||
];
|
||||
|
||||
|
||||
Reference in new issue
Block a user