From ac318f51f2caa1ba659d882d33d72c35298809d7 Mon Sep 17 00:00:00 2001 From: MasterGordon Date: Tue, 16 Sep 2025 01:59:46 +0200 Subject: [PATCH] more updates --- backend/controller/controller.ts | 11 +++++----- bun.lockb | Bin 278128 -> 293552 bytes package.json | 30 +++++++++++++-------------- src/components/pixi/PixiViewport.tsx | 3 +-- src/hooks.ts | 1 + src/views/profile/Profile.tsx | 2 +- src/wsClient.ts | 2 +- 7 files changed, 24 insertions(+), 25 deletions(-) diff --git a/backend/controller/controller.ts b/backend/controller/controller.ts index 43cdb7e..3150f86 100644 --- a/backend/controller/controller.ts +++ b/backend/controller/controller.ts @@ -18,13 +18,12 @@ export type Endpoint = { ) => Promise; }; -export const createEndpoint = < - TInputSchema extends ZodType, - TResponse, - TInput = z.infer, ->( +export const createEndpoint = ( validate: TInputSchema, - handler: (input: TInput, context: RequestContext) => Promise, + handler: ( + input: z.infer, + context: RequestContext, + ) => Promise, ): Endpoint => { return { validate, handler }; }; diff --git a/bun.lockb b/bun.lockb index 35041dc4de4407e20681980af903be423413a17e..1d4fcf70427cb446072fe0f22e768b253eb071e5 100755 GIT binary patch delta 73835 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¨m!Nx~6nMYj7YROgDjYv7@KPwnIV$Ke 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 A-~a#s diff --git a/package.json b/package.json index c1db022..af4b95c 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tooltip": "^1.2.8", - "@tanstack/react-query": "^5.59.11", - "@tanstack/react-query-devtools": "^5.59.11", + "@tanstack/react-query": "^5.87.4", + "@tanstack/react-query-devtools": "^5.87.4", "@tsparticles/engine": "^3.9.1", "@tsparticles/preset-sea-anemone": "^3.2.0", "@tsparticles/react": "^3.0.0", @@ -34,8 +34,8 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dayjs": "^1.11.18", - "drizzle-orm": "0.33.0", - "jotai": "^2.10.0", + "drizzle-orm": "0.44.5", + "jotai": "^2.14.0", "lucide-react": "^0.544.0", "motion": "^12.23.12", "pixi-viewport": "^5.0.3", @@ -43,12 +43,12 @@ "pixi.js-legacy": "^7.4.2", "prom-client": "^15.1.3", "random-seed": "^0.3.0", - "react": "^18.3.1", + "react": "^19.1.1", "react-confetti-boom": "^2.0.1", - "react-dom": "^18.3.1", + "react-dom": "^19.1.1", "tailwind-merge": "^3.3.1", - "wouter": "^3.3.5", - "zod": "^3.23.8" + "wouter": "^3.7.1", + "zod": "^4.1.8" }, "devDependencies": { "@eslint/compat": "^1.3.2", @@ -56,10 +56,10 @@ "@tailwindcss/vite": "next", "@types/bun": "latest", "@types/random-seed": "^0.3.5", - "@types/react": "^18.3.11", - "@types/react-dom": "^18.3.1", - "@vitejs/plugin-react-swc": "^3.7.1", - "drizzle-kit": "0.24.2", + "@types/react": "^19.1.13", + "@types/react-dom": "^19.1.9", + "@vitejs/plugin-react-swc": "^4.0.1", + "drizzle-kit": "0.31.4", "eslint": "^9.35.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "5.2.0", @@ -67,8 +67,8 @@ "tailwindcss": "^4.1.13", "typescript": "^5.9.2", "typescript-eslint": "^8.44.0", - "vite": "^5.4.8", - "vite-bundle-analyzer": "^0.22.3", - "vite-imagetools": "^7.0.4" + "vite": "^7.1.5", + "vite-bundle-analyzer": "^1.2.3", + "vite-imagetools": "^8.0.0" } } diff --git a/src/components/pixi/PixiViewport.tsx b/src/components/pixi/PixiViewport.tsx index 31a1530..2258854 100644 --- a/src/components/pixi/PixiViewport.tsx +++ b/src/components/pixi/PixiViewport.tsx @@ -22,7 +22,7 @@ export interface ViewportProps { }; clampZoom?: IClampZoomOptions; onViewportChange?: (viewport: PixiViewport) => void; - viewportRef?: React.RefObject; + viewportRef?: React.RefObject; } export interface PixiComponentViewportProps extends ViewportProps { @@ -62,7 +62,6 @@ const PixiComponentViewport = PixiComponent("Viewport", { }); if (props.viewportRef) { - // @ts-expect-error We dont care since this is internal api props.viewportRef.current = viewport; } diff --git a/src/hooks.ts b/src/hooks.ts index 652626c..721e3df 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -23,6 +23,7 @@ export const useWSQuery = < // @ts-expect-error We dont care since this is internal api Awaited> > => { + // @ts-expect-error We dont care since this is internal api return useQuery({ queryKey: [action, payload], queryFn: async () => { diff --git a/src/views/profile/Profile.tsx b/src/views/profile/Profile.tsx index 2fb04a5..f36199f 100644 --- a/src/views/profile/Profile.tsx +++ b/src/views/profile/Profile.tsx @@ -20,7 +20,7 @@ const TouchTooltip = ({ }) => { const [isOpen, setIsOpen] = useState(false); const [isTouchDevice, setIsTouchDevice] = useState(false); - const timeoutRef = useRef(); + const timeoutRef = useRef(null); useEffect(() => { // Detect if device supports touch diff --git a/src/wsClient.ts b/src/wsClient.ts index e96f63d..e229085 100644 --- a/src/wsClient.ts +++ b/src/wsClient.ts @@ -146,7 +146,7 @@ const createWSClient = () => { >( action: `${TController}.${TAction}`, // @ts-expect-error We dont care since this is internal api - payload: Routes[TController][TAction]["validate"]["_input"], + payload: z.input, // @ts-expect-error We dont care since this is internal api ): Promise>> => { if (ws.readyState !== WebSocket.OPEN) {