mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-02-13 12:55:42 +01:00
fix: comprehensive TypeScript/build fixes and modernization
- Update tsconfig to ES2024 target and bundler moduleResolution - Add dynamic imports for chart.js and recharts (bundle optimization) - Consolidate 17 useState into useReducer in sessions page - Fix 18 .js extension imports across lib files - Add type declarations for @rapideditor/country-coder - Fix platform user types (PlatformUserRole enum) - Fix Calendar component prop types - Centralize next-auth type augmentation - Add force-dynamic to all API routes (prevent build-time prerender) - Fix Prisma JSON null handling with Prisma.DbNull - Fix various type mismatches (SessionMessage, ImportRecord, etc.) - Export ButtonProps from button component - Update next-themes import path - Replace JSX.Element with React.ReactElement - Remove obsolete debug scripts and pnpm lockfile - Downgrade eslint to v8 for next compatibility
This commit is contained in:
@@ -56,4 +56,9 @@ function Button({
|
||||
);
|
||||
}
|
||||
|
||||
export { Button, buttonVariants };
|
||||
type ButtonProps = React.ComponentProps<"button"> &
|
||||
VariantProps<typeof buttonVariants> & {
|
||||
asChild?: boolean;
|
||||
};
|
||||
|
||||
export { Button, buttonVariants, type ButtonProps };
|
||||
|
||||
@@ -14,11 +14,9 @@ import {
|
||||
import { Button, buttonVariants } from "@/components/ui/button";
|
||||
import { cn } from "@/lib/utils";
|
||||
|
||||
interface CalendarRootProps {
|
||||
className?: string;
|
||||
type CalendarRootProps = {
|
||||
rootRef?: React.Ref<HTMLDivElement>;
|
||||
[key: string]: unknown;
|
||||
}
|
||||
} & React.HTMLAttributes<HTMLDivElement>;
|
||||
|
||||
const CalendarRoot = ({ className, rootRef, ...props }: CalendarRootProps) => {
|
||||
return (
|
||||
@@ -33,13 +31,14 @@ const CalendarRoot = ({ className, rootRef, ...props }: CalendarRootProps) => {
|
||||
|
||||
interface CalendarChevronProps {
|
||||
className?: string;
|
||||
orientation: "left" | "right" | "up" | "down";
|
||||
[key: string]: unknown;
|
||||
size?: number;
|
||||
disabled?: boolean;
|
||||
orientation?: "left" | "right" | "up" | "down";
|
||||
}
|
||||
|
||||
const CalendarChevron = ({
|
||||
className,
|
||||
orientation,
|
||||
orientation = "down",
|
||||
...props
|
||||
}: CalendarChevronProps) => {
|
||||
if (orientation === "left") {
|
||||
@@ -59,19 +58,20 @@ const CalendarChevron = ({
|
||||
return <ChevronDownIcon className={cn("size-4", className)} {...props} />;
|
||||
};
|
||||
|
||||
interface CalendarWeekNumberProps {
|
||||
children: React.ReactNode;
|
||||
[key: string]: unknown;
|
||||
interface CalendarWeekNumberProps
|
||||
extends React.ThHTMLAttributes<HTMLTableCellElement> {
|
||||
week: { weekNumber: number };
|
||||
}
|
||||
|
||||
const CalendarWeekNumber = ({
|
||||
week,
|
||||
children,
|
||||
...props
|
||||
}: CalendarWeekNumberProps) => {
|
||||
return (
|
||||
<td {...props}>
|
||||
<div className="flex size-9 items-center justify-center p-0 text-sm">
|
||||
{children}
|
||||
{children ?? week.weekNumber}
|
||||
</div>
|
||||
</td>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user