From ff211aec408b50c641789eec4e44bfe22beb364a Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Thu, 6 Jun 2024 14:05:03 -0400 Subject: [PATCH 01/50] feat: user setup page and flow --- src/app/setup/page.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/app/setup/page.tsx diff --git a/src/app/setup/page.tsx b/src/app/setup/page.tsx new file mode 100644 index 0000000..d8810fc --- /dev/null +++ b/src/app/setup/page.tsx @@ -0,0 +1,9 @@ +import { auth } from "@clerk/nextjs/server"; +import { db } from "~/server/db"; + +export default async function userSetup() { + const authUser = auth() + const user = await db.query.users.findFirst(); + console.log(authUser, user) + return
tbd
; +} From 112f2193ace8dc0a06e3f095cf3aef160b12b99e Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Thu, 6 Jun 2024 16:47:38 -0400 Subject: [PATCH 02/50] Start work on multi step form --- src/app/setup/page.tsx | 75 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 6 deletions(-) diff --git a/src/app/setup/page.tsx b/src/app/setup/page.tsx index d8810fc..91d99ea 100644 --- a/src/app/setup/page.tsx +++ b/src/app/setup/page.tsx @@ -1,9 +1,72 @@ -import { auth } from "@clerk/nextjs/server"; +"use client"; + +import { useState } from "react"; import { db } from "~/server/db"; +import { Button } from "~/components/ui/button" +import { + Form, + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "~/components/ui/form" +import { Input } from "~/components/ui/input" + +function FullName() { + return
FullName
; +} + +function PaperlessURL() { + return
PaperlessURL
; +} + +function PaperlessAPI() { + return
PaperlessAPI
; +} + +export default function userSetup() { + const handleChange = (event: { target: { key: string; value: string } }) => { + const { key, value } = event.target; + console.log(key, value); + }; + 1; + + const [activeTab, setActiveTab] = useState(0); + + const formElements = [ + , + , + + // , + // , + ]; -export default async function userSetup() { - const authUser = auth() - const user = await db.query.users.findFirst(); - console.log(authUser, user) - return
tbd
; + return ( +
+
{formElements[activeTab]}
+
+ + + {activeTab === formElements.length - 1 ? ( + + ) : null} +
+
+ ); } From 09dfd6a607df0c59c48bf9fe5080c43598295128 Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Fri, 7 Jun 2024 12:12:03 -0400 Subject: [PATCH 03/50] style: possibly fix topnav height changes --- src/app/_components/topnav.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/_components/topnav.tsx b/src/app/_components/topnav.tsx index 431a33e..368f9c0 100644 --- a/src/app/_components/topnav.tsx +++ b/src/app/_components/topnav.tsx @@ -17,7 +17,7 @@ export function TopNav() { Homelab Connector -
+
Paperless-ngx From f1464507a77453b8155583ba360f433f0461e5b7 Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Sun, 9 Jun 2024 15:46:18 +0530 Subject: [PATCH 04/50] chore: delete db script file --- start-database.sh | 55 ----------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100755 start-database.sh diff --git a/start-database.sh b/start-database.sh deleted file mode 100755 index 41aa1ad..0000000 --- a/start-database.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -# Use this script to start a docker container for a local development database - -# TO RUN ON WINDOWS: -# 1. Install WSL (Windows Subsystem for Linux) - https://learn.microsoft.com/en-us/windows/wsl/install -# 2. Install Docker Desktop for Windows - https://docs.docker.com/docker-for-windows/install/ -# 3. Open WSL - `wsl` -# 4. Run this script - `./start-database.sh` - -# On Linux and macOS you can run this script directly - `./start-database.sh` - -DB_CONTAINER_NAME="homelab-connector-postgres" - -if ! [ -x "$(command -v docker)" ]; then - echo -e "Docker is not installed. Please install docker and try again.\nDocker install guide: https://docs.docker.com/engine/install/" - exit 1 -fi - -if [ "$(docker ps -q -f name=$DB_CONTAINER_NAME)" ]; then - echo "Database container '$DB_CONTAINER_NAME' already running" - exit 0 -fi - -if [ "$(docker ps -q -a -f name=$DB_CONTAINER_NAME)" ]; then - docker start "$DB_CONTAINER_NAME" - echo "Existing database container '$DB_CONTAINER_NAME' started" - exit 0 -fi - -# import env variables from .env -set -a -source .env - -DB_PASSWORD=$(echo "$POSTGRES_URL" | awk -F':' '{print $3}' | awk -F'@' '{print $1}') -DB_PORT=$(echo "$POSTGRES_URL" | awk -F':' '{print $4}' | awk -F'\/' '{print $1}') - -if [ "$DB_PASSWORD" = "password" ]; then - echo "You are using the default database password" - read -p "Should we generate a random password for you? [y/N]: " -r REPLY - if ! [[ $REPLY =~ ^[Yy]$ ]]; then - echo "Please set a password in the .env file and try again" - exit 1 - fi - # Generate a random URL-safe password - DB_PASSWORD=$(openssl rand -base64 12 | tr '+/' '-_') - sed -i -e "s#:password@#:$DB_PASSWORD@#" .env -fi - -docker run -d \ - --name $DB_CONTAINER_NAME \ - -e POSTGRES_USER="postgres" \ - -e POSTGRES_PASSWORD="$DB_PASSWORD" \ - -e POSTGRES_DB=homelab-connector \ - -p "$DB_PORT":5432 \ - docker.io/postgres && echo "Database container '$DB_CONTAINER_NAME' was successfully created" From 0ac09b0f2f94485862aa0666000ad1867dfd13dd Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Sun, 9 Jun 2024 16:05:08 +0530 Subject: [PATCH 05/50] feat: use GeistSans font --- src/app/layout.tsx | 10 +++++++++- tailwind.config.ts | 21 +++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index cb2468f..0ecd13c 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -4,6 +4,7 @@ import { GeistSans } from "geist/font/sans"; import { TopNav } from "./_components/topnav"; import { ClerkProvider } from "@clerk/nextjs"; import { ThemeProvider } from "./_components/theme-provider"; +import { cn } from "~/lib/utils"; export const metadata = { title: "Homelab Connector", @@ -18,7 +19,14 @@ export default function RootLayout({ }) { return ( - + diff --git a/tailwind.config.ts b/tailwind.config.ts index 84287e8..4ff1b0a 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,13 +1,14 @@ -import type { Config } from "tailwindcss" +import type { Config } from "tailwindcss"; +const { fontFamily } = require("tailwindcss/defaultTheme"); const config = { darkMode: ["class"], content: [ - './pages/**/*.{ts,tsx}', - './components/**/*.{ts,tsx}', - './app/**/*.{ts,tsx}', - './src/**/*.{ts,tsx}', - ], + "./pages/**/*.{ts,tsx}", + "./components/**/*.{ts,tsx}", + "./app/**/*.{ts,tsx}", + "./src/**/*.{ts,tsx}", + ], prefix: "", theme: { container: { @@ -72,9 +73,13 @@ const config = { "accordion-down": "accordion-down 0.2s ease-out", "accordion-up": "accordion-up 0.2s ease-out", }, + fontFamily: { + sans: ["var(--font-geist-sans)"], + mono: ["var(--font-geist-mono)"], + }, }, }, plugins: [require("tailwindcss-animate")], -} satisfies Config +} satisfies Config; -export default config \ No newline at end of file +export default config; From 45b07ec40ea2f2f5db160ee891e91b9f734060a0 Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Sun, 9 Jun 2024 16:48:14 +0530 Subject: [PATCH 06/50] chore: switch to using @ symbol for module path aliases --- components.json | 4 ++-- src/app/layout.tsx | 8 ++++---- src/app/paperless/document-search.tsx | 6 +++--- src/{app/_components => components}/mode-toggle.tsx | 4 ++-- src/{app/_components => components}/theme-provider.tsx | 0 src/{app/_components => components}/tooltip.tsx | 0 src/{app/_components => components}/topnav.tsx | 8 ++++---- src/components/ui/button.tsx | 2 +- src/components/ui/dropdown-menu.tsx | 2 +- src/components/ui/form.tsx | 4 ++-- src/components/ui/input.tsx | 2 +- src/components/ui/label.tsx | 2 +- tsconfig.json | 4 ++-- 13 files changed, 23 insertions(+), 23 deletions(-) rename src/{app/_components => components}/mode-toggle.tsx (93%) rename src/{app/_components => components}/theme-provider.tsx (100%) rename src/{app/_components => components}/tooltip.tsx (100%) rename src/{app/_components => components}/topnav.tsx (81%) diff --git a/components.json b/components.json index 77b6770..653ebe2 100644 --- a/components.json +++ b/components.json @@ -11,7 +11,7 @@ "prefix": "" }, "aliases": { - "components": "~/components", - "utils": "~/lib/utils" + "components": "@/components", + "utils": "@/lib/utils" } } \ No newline at end of file diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 0ecd13c..14ade83 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,10 +1,10 @@ -import "~/styles/globals.css"; +import "@/styles/globals.css"; import { GeistSans } from "geist/font/sans"; -import { TopNav } from "./_components/topnav"; +import { TopNav } from "@/components/topnav"; import { ClerkProvider } from "@clerk/nextjs"; -import { ThemeProvider } from "./_components/theme-provider"; -import { cn } from "~/lib/utils"; +import { ThemeProvider } from "@/components/theme-provider"; +import { cn } from "@/lib/utils"; export const metadata = { title: "Homelab Connector", diff --git a/src/app/paperless/document-search.tsx b/src/app/paperless/document-search.tsx index 41b7554..59d10a0 100644 --- a/src/app/paperless/document-search.tsx +++ b/src/app/paperless/document-search.tsx @@ -3,15 +3,15 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useForm } from "react-hook-form"; import { z } from "zod"; -import { Button } from "~/components/ui/button"; +import { Button } from "@/components/ui/button"; import { Form, FormControl, FormField, FormItem, FormLabel, -} from "~/components/ui/form"; -import { Input } from "~/components/ui/input"; +} from "@/components/ui/form"; +import { Input } from "@/components/ui/input"; import { zodResolver } from "@hookform/resolvers/zod"; import { useCallback } from "react"; diff --git a/src/app/_components/mode-toggle.tsx b/src/components/mode-toggle.tsx similarity index 93% rename from src/app/_components/mode-toggle.tsx rename to src/components/mode-toggle.tsx index a75b49f..87bdc6e 100644 --- a/src/app/_components/mode-toggle.tsx +++ b/src/components/mode-toggle.tsx @@ -4,13 +4,13 @@ import * as React from "react" import { Moon, Sun } from "lucide-react" import { useTheme } from "next-themes" -import { Button } from "~/components/ui/button" +import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, -} from "~/components/ui/dropdown-menu" +} from "@/components/ui/dropdown-menu" export function ModeToggle() { const { setTheme } = useTheme() diff --git a/src/app/_components/theme-provider.tsx b/src/components/theme-provider.tsx similarity index 100% rename from src/app/_components/theme-provider.tsx rename to src/components/theme-provider.tsx diff --git a/src/app/_components/tooltip.tsx b/src/components/tooltip.tsx similarity index 100% rename from src/app/_components/tooltip.tsx rename to src/components/tooltip.tsx diff --git a/src/app/_components/topnav.tsx b/src/components/topnav.tsx similarity index 81% rename from src/app/_components/topnav.tsx rename to src/components/topnav.tsx index 368f9c0..c25dc6d 100644 --- a/src/app/_components/topnav.tsx +++ b/src/components/topnav.tsx @@ -2,9 +2,9 @@ import { SignInButton, SignedIn, SignedOut, UserButton } from "@clerk/nextjs"; import Link from "next/link"; -import { Button, buttonVariants } from "~/components/ui/button"; -import Tooltip from "./tooltip"; -import { ModeToggle } from "./mode-toggle"; +import { Button, buttonVariants } from "@/components/ui/button"; +import Tooltip from "@/components/tooltip"; +import { ModeToggle } from "@/components/mode-toggle"; export function TopNav() { return ( @@ -17,7 +17,7 @@ export function TopNav() { Homelab Connector
-
+
Paperless-ngx diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx index d754ca0..0ba4277 100644 --- a/src/components/ui/button.tsx +++ b/src/components/ui/button.tsx @@ -2,7 +2,7 @@ import * as React from "react" import { Slot } from "@radix-ui/react-slot" import { cva, type VariantProps } from "class-variance-authority" -import { cn } from "~/lib/utils" +import { cn } from "@/lib/utils" const buttonVariants = cva( "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx index 1b35927..7091baf 100644 --- a/src/components/ui/dropdown-menu.tsx +++ b/src/components/ui/dropdown-menu.tsx @@ -4,7 +4,7 @@ import * as React from "react" import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" import { Check, ChevronRight, Circle } from "lucide-react" -import { cn } from "~/lib/utils" +import { cn } from "@/lib/utils" const DropdownMenu = DropdownMenuPrimitive.Root diff --git a/src/components/ui/form.tsx b/src/components/ui/form.tsx index 824e56d..0481e02 100644 --- a/src/components/ui/form.tsx +++ b/src/components/ui/form.tsx @@ -10,8 +10,8 @@ import { useFormContext, } from "react-hook-form" -import { cn } from "~/lib/utils" -import { Label } from "~/components/ui/label" +import { cn } from "@/lib/utils" +import { Label } from "@/components/ui/label" const Form = FormProvider diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx index 0542c14..651d303 100644 --- a/src/components/ui/input.tsx +++ b/src/components/ui/input.tsx @@ -1,6 +1,6 @@ import * as React from "react" -import { cn } from "~/lib/utils" +import { cn } from "@lib/utils" export interface InputProps extends React.InputHTMLAttributes {} diff --git a/src/components/ui/label.tsx b/src/components/ui/label.tsx index 8f40738..5341821 100644 --- a/src/components/ui/label.tsx +++ b/src/components/ui/label.tsx @@ -4,7 +4,7 @@ import * as React from "react" import * as LabelPrimitive from "@radix-ui/react-label" import { cva, type VariantProps } from "class-variance-authority" -import { cn } from "~/lib/utils" +import { cn } from "@/lib/utils" const labelVariants = cva( "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" diff --git a/tsconfig.json b/tsconfig.json index 905062d..d8c86a0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,9 +24,9 @@ "incremental": true, /* Path Aliases */ - "baseUrl": ".", + "baseUrl": "src/", "paths": { - "~/*": ["./src/*"] + "@/*": ["./*"] } }, "include": [ From 1e6758d134415165ee4bad6ace4c5664bd3d5efe Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Sun, 9 Jun 2024 17:08:53 +0530 Subject: [PATCH 07/50] fix: broken component import syntax --- src/components/ui/input.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx index 651d303..3792d8b 100644 --- a/src/components/ui/input.tsx +++ b/src/components/ui/input.tsx @@ -1,6 +1,6 @@ import * as React from "react" -import { cn } from "@lib/utils" +import { cn } from "@/lib/utils" export interface InputProps extends React.InputHTMLAttributes {} From b5a567f1586587664dd3d25f3f0f4e8ffa0b5cc6 Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Fri, 14 Jun 2024 10:28:44 +0530 Subject: [PATCH 08/50] chore: update packages --- package.json | 28 +-- pnpm-lock.yaml | 664 ++++++++++++++++++++++++------------------------- 2 files changed, 345 insertions(+), 347 deletions(-) diff --git a/package.json b/package.json index cb86a5d..67d871c 100644 --- a/package.json +++ b/package.json @@ -14,21 +14,21 @@ "start": "next start" }, "dependencies": { - "@clerk/nextjs": "^5.1.3", - "@hookform/resolvers": "^3.4.2", + "@clerk/nextjs": "^5.1.5", + "@hookform/resolvers": "^3.6.0", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-slot": "^1.0.2", "@t3-oss/env-nextjs": "^0.10.1", - "@tanstack/react-query": "^5.40.1", + "@tanstack/react-query": "^5.45.0", "@vercel/postgres": "^0.8.0", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", - "drizzle-orm": "^0.31.0", + "drizzle-orm": "^0.31.2", "geist": "^1.3.0", "lucide-react": "^0.381.0", - "next": "^14.2.3", + "next": "^14.2.4", "next-themes": "^0.3.0", "postgres": "^3.4.4", "react": "^18.3.1", @@ -40,21 +40,21 @@ "zod": "^3.23.8" }, "devDependencies": { - "@tanstack/eslint-plugin-query": "^5.35.6", + "@tanstack/eslint-plugin-query": "^5.43.1", "@types/eslint": "^8.56.10", - "@types/node": "^20.14.1", + "@types/node": "^20.14.2", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.12.0", - "@typescript-eslint/parser": "^7.12.0", - "drizzle-kit": "^0.22.1", + "@typescript-eslint/eslint-plugin": "^7.13.0", + "@typescript-eslint/parser": "^7.13.0", + "drizzle-kit": "^0.22.7", "eslint": "^9.4.0", - "eslint-config-next": "^14.2.3", + "eslint-config-next": "^14.2.4", "eslint-plugin-drizzle": "^0.2.3", "postcss": "^8.4.38", - "prettier": "^3.3.0", - "prettier-plugin-tailwindcss": "^0.6.1", - "tailwindcss": "^3.4.3", + "prettier": "^3.3.2", + "prettier-plugin-tailwindcss": "^0.6.4", + "tailwindcss": "^3.4.4", "typescript": "^5.4.5" }, "ct3aMetadata": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a730ac0..c51b603 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,11 +9,11 @@ importers: .: dependencies: '@clerk/nextjs': - specifier: ^5.1.3 - version: 5.1.3(next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.1.5 + version: 5.1.5(next@14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@hookform/resolvers': - specifier: ^3.4.2 - version: 3.4.2(react-hook-form@7.51.5(react@18.3.1)) + specifier: ^3.6.0 + version: 3.6.0(react-hook-form@7.51.5(react@18.3.1)) '@radix-ui/react-dropdown-menu': specifier: ^2.0.6 version: 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -30,8 +30,8 @@ importers: specifier: ^0.10.1 version: 0.10.1(typescript@5.4.5)(zod@3.23.8) '@tanstack/react-query': - specifier: ^5.40.1 - version: 5.40.1(react@18.3.1) + specifier: ^5.45.0 + version: 5.45.0(react@18.3.1) '@vercel/postgres': specifier: ^0.8.0 version: 0.8.0 @@ -42,17 +42,17 @@ importers: specifier: ^2.1.1 version: 2.1.1 drizzle-orm: - specifier: ^0.31.0 - version: 0.31.0(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(@types/react@18.3.3)(@vercel/postgres@0.8.0)(postgres@3.4.4)(react@18.3.1) + specifier: ^0.31.2 + version: 0.31.2(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(@types/react@18.3.3)(@vercel/postgres@0.8.0)(postgres@3.4.4)(react@18.3.1) geist: specifier: ^1.3.0 - version: 1.3.0(next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + version: 1.3.0(next@14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) lucide-react: specifier: ^0.381.0 version: 0.381.0(react@18.3.1) next: - specifier: ^14.2.3 - version: 14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^14.2.4 + version: 14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-themes: specifier: ^0.3.0 version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -76,20 +76,20 @@ importers: version: 2.3.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.3) + version: 1.0.7(tailwindcss@3.4.4) zod: specifier: ^3.23.8 version: 3.23.8 devDependencies: '@tanstack/eslint-plugin-query': - specifier: ^5.35.6 - version: 5.35.6(eslint@9.4.0)(typescript@5.4.5) + specifier: ^5.43.1 + version: 5.43.1(eslint@9.4.0)(typescript@5.4.5) '@types/eslint': specifier: ^8.56.10 version: 8.56.10 '@types/node': - specifier: ^20.14.1 - version: 20.14.1 + specifier: ^20.14.2 + version: 20.14.2 '@types/react': specifier: ^18.3.3 version: 18.3.3 @@ -97,20 +97,20 @@ importers: specifier: ^18.3.0 version: 18.3.0 '@typescript-eslint/eslint-plugin': - specifier: ^7.12.0 - version: 7.12.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) + specifier: ^7.13.0 + version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: ^7.12.0 - version: 7.12.0(eslint@9.4.0)(typescript@5.4.5) + specifier: ^7.13.0 + version: 7.13.0(eslint@9.4.0)(typescript@5.4.5) drizzle-kit: - specifier: ^0.22.1 - version: 0.22.1 + specifier: ^0.22.7 + version: 0.22.7 eslint: specifier: ^9.4.0 version: 9.4.0 eslint-config-next: - specifier: ^14.2.3 - version: 14.2.3(eslint@9.4.0)(typescript@5.4.5) + specifier: ^14.2.4 + version: 14.2.4(eslint@9.4.0)(typescript@5.4.5) eslint-plugin-drizzle: specifier: ^0.2.3 version: 0.2.3(eslint@9.4.0) @@ -118,14 +118,14 @@ importers: specifier: ^8.4.38 version: 8.4.38 prettier: - specifier: ^3.3.0 - version: 3.3.0 + specifier: ^3.3.2 + version: 3.3.2 prettier-plugin-tailwindcss: - specifier: ^0.6.1 - version: 0.6.1(prettier@3.3.0) + specifier: ^0.6.4 + version: 0.6.4(prettier@3.3.2) tailwindcss: - specifier: ^3.4.3 - version: 3.4.3 + specifier: ^3.4.4 + version: 3.4.4 typescript: specifier: ^5.4.5 version: 5.4.5 @@ -136,31 +136,31 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@babel/runtime@7.24.6': - resolution: {integrity: sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw==} + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} - '@clerk/backend@1.2.1': - resolution: {integrity: sha512-4NxL0VU042dgrhDTqvCFws9v5Kmg+VlA70fD0sQWWBQJxNr2pEnjHfKG21ta7qIqexXPk4Ftr0qZk2/wRiex3A==} + '@clerk/backend@1.2.3': + resolution: {integrity: sha512-tj812eTTn2ewXMgr4jwFjpqoXZRF2LMw9UBT+Nat0lmXw55sDA5ou2McLZ67e62WNZwbrCUa51MGKSBhrWnZcA==} engines: {node: '>=18.17.0'} - '@clerk/clerk-react@5.2.2': - resolution: {integrity: sha512-QXjqNvjKxDUAV5nYiKcCHFB/PyY4AQODlpGuU37LeB06sfpeYTs09aTDdUeiJ59wA1bq2Y9nApznCkeQ+r6BgQ==} + '@clerk/clerk-react@5.2.4': + resolution: {integrity: sha512-TaSjf3pdxUKQIDmwi6JkJDVGwHbs7pTeiwEr2/JksMrQnW6zMIutsEhJfW10dY1hOwJeDoSxGCkHw+7Br2rktw==} engines: {node: '>=18.17.0'} peerDependencies: react: '>=18 || >=19.0.0-beta' react-dom: '>=18 || >=19.0.0-beta' - '@clerk/nextjs@5.1.3': - resolution: {integrity: sha512-/ceFYvHtZV5aeIPsUK4ze4srYHMEo/a3Ct+MvKYhUHtUYYRegTPbjgRe7pSCZP9veNl0ZHR6giNANksCm+5cxg==} + '@clerk/nextjs@5.1.5': + resolution: {integrity: sha512-q/4PvWrIt4cO9dwgUyJ/gN/fWbS2GnfKK7j32cn6LBObVqUIiQ+J5Q+lp75q+tzIHyxFJx+MNNTnFif2OrvV6A==} engines: {node: '>=18.17.0'} peerDependencies: next: ^13.5.4 || ^14.0.3 || >=15.0.0-rc react: '>=18 || >=19.0.0-beta' react-dom: '>=18 || >=19.0.0-beta' - '@clerk/shared@2.2.1': - resolution: {integrity: sha512-LtaHZLj/T2y9/MuB7IlVXs+HzX5eGkXkXqcBGgE//OlaNYw3zo1CueEVLG9Wm30FlPwVeSnaMYWklOUpSzMVng==} + '@clerk/shared@2.3.0': + resolution: {integrity: sha512-V/49MoOrALzpu0BbhYDCcKQYIjrHnhRa7QFho9+4wm94oCJgc9j3N5wxndJwj3Ur/fmIyBnjwMzDAT2nZZj47g==} engines: {node: '>=18.17.0'} peerDependencies: react: '>=18 || >=19.0.0-beta' @@ -171,8 +171,8 @@ packages: react-dom: optional: true - '@clerk/types@4.5.1': - resolution: {integrity: sha512-eLaH+IKnxgjGQhRZ5rhZA9pQszSKbtSZE5V6c3a/F2crlkYIFABrVdf1q6p5bSAEmcYdcV4u4kaEFZ5UpYNcOw==} + '@clerk/types@4.6.0': + resolution: {integrity: sha512-kowqVGqLfu0Zl2Pteum70MfkGHqBUoHHeR+u2+yWVl1lKHLCiyY1u8ntYBEIolAylBaQNDuRzxyMIDPSxjPE8g==} engines: {node: '>=18.17.0'} '@esbuild-kit/core-utils@3.3.2': @@ -473,8 +473,8 @@ packages: resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.3': - resolution: {integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==} + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@floating-ui/core@1.6.2': @@ -492,8 +492,8 @@ packages: '@floating-ui/utils@0.2.2': resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} - '@hookform/resolvers@3.4.2': - resolution: {integrity: sha512-1m9uAVIO8wVf7VCDAGsuGA0t6Z3m6jVGAN50HkV9vYLl0yixKK/Z1lr01vaRvYCkIKGoy1noVRxMzQYb4y/j1Q==} + '@hookform/resolvers@3.6.0': + resolution: {integrity: sha512-UBcpyOX3+RR+dNnqBd0lchXpoL8p4xC21XP8H6Meb8uve5Br1GCnmg0PcBoKKqPKgGu9GHQ/oygcmPrQhetwqw==} peerDependencies: react-hook-form: ^7.0.0 @@ -533,62 +533,62 @@ packages: '@neondatabase/serverless@0.9.3': resolution: {integrity: sha512-6ZBK8asl2Z3+ADEaELvbaVVGVlmY1oAzkxxZfpmXPKFuJhbDN+5fU3zYBamsahS/Ch1zE+CVWB3R+8QEI2LMSw==} - '@next/env@14.2.3': - resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} + '@next/env@14.2.4': + resolution: {integrity: sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==} - '@next/eslint-plugin-next@14.2.3': - resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} + '@next/eslint-plugin-next@14.2.4': + resolution: {integrity: sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==} - '@next/swc-darwin-arm64@14.2.3': - resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} + '@next/swc-darwin-arm64@14.2.4': + resolution: {integrity: sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.2.3': - resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} + '@next/swc-darwin-x64@14.2.4': + resolution: {integrity: sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.2.3': - resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} + '@next/swc-linux-arm64-gnu@14.2.4': + resolution: {integrity: sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.3': - resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} + '@next/swc-linux-arm64-musl@14.2.4': + resolution: {integrity: sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.3': - resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} + '@next/swc-linux-x64-gnu@14.2.4': + resolution: {integrity: sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.3': - resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} + '@next/swc-linux-x64-musl@14.2.4': + resolution: {integrity: sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.2.3': - resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} + '@next/swc-win32-arm64-msvc@14.2.4': + resolution: {integrity: sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.3': - resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} + '@next/swc-win32-ia32-msvc@14.2.4': + resolution: {integrity: sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@next/swc-win32-x64-msvc@14.2.3': - resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} + '@next/swc-win32-x64-msvc@14.2.4': + resolution: {integrity: sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -941,16 +941,16 @@ packages: typescript: optional: true - '@tanstack/eslint-plugin-query@5.35.6': - resolution: {integrity: sha512-XhVRLsJFJMWYNzArPzy1MWSpx2BSUnc8Zof+fvsgaAnWBy9tjNXH3DFftZoNMGA8Mw1dPIdDPkEQcSku3m80Jw==} + '@tanstack/eslint-plugin-query@5.43.1': + resolution: {integrity: sha512-5WZmkny6u/lSjzUpgnvn+vnA1KtIa7umNZYLqCg9TZK0lmz9SRP6Hnui1PI279eisDy/O+1yD0MfEHTJWlQGVw==} peerDependencies: - eslint: ^8.0.0 + eslint: ^8 || ^9 - '@tanstack/query-core@5.40.0': - resolution: {integrity: sha512-eD8K8jsOIq0Z5u/QbvOmfvKKE/XC39jA7yv4hgpl/1SRiU+J8QCIwgM/mEHuunQsL87dcvnHqSVLmf9pD4CiaA==} + '@tanstack/query-core@5.45.0': + resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} - '@tanstack/react-query@5.40.1': - resolution: {integrity: sha512-gOcmu+gpFd2taHrrgMM9RemLYYEDYfsCqszxCC0xtx+csDa4R8t7Hr7SfWXQP13S2sF+mOxySo/+FNXJFYBqcA==} + '@tanstack/react-query@5.45.0': + resolution: {integrity: sha512-y272cKRJp1BvehrWG4ashOBuqBj1Qm2O6fgYJ9LYSHrLdsCXl74GbSVjUQTReUdHuRIl9cEOoyPa6HYag400lw==} peerDependencies: react: ^18.0.0 @@ -966,8 +966,8 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/node@20.14.1': - resolution: {integrity: sha512-T2MzSGEu+ysB/FkWfqmhV3PLyQlowdptmmgD20C6QxsS8Fmv5SjpZ1ayXaEC0S21/h5UJ9iA6W/5vSNU5l00OA==} + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} '@types/pg@8.11.6': resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} @@ -984,11 +984,8 @@ packages: '@types/react@18.3.3': resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - - '@typescript-eslint/eslint-plugin@7.12.0': - resolution: {integrity: sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==} + '@typescript-eslint/eslint-plugin@7.13.0': + resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -998,8 +995,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.12.0': - resolution: {integrity: sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==} + '@typescript-eslint/parser@7.13.0': + resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1018,20 +1015,20 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/scope-manager@7.12.0': - resolution: {integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==} + '@typescript-eslint/scope-manager@7.13.0': + resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/scope-manager@7.2.0': resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/type-utils@7.12.0': - resolution: {integrity: sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==} + '@typescript-eslint/scope-manager@8.0.0-alpha.28': + resolution: {integrity: sha512-Iq8QFmJ2DH2tx7jfOraMZM1Y1axRfWh4t29JXRgbzvgiDQ2uHRHcaXqTulqsZXzJ0+vERNvNkOIPcQYGsNeGVQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@7.13.0': + resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1040,29 +1037,20 @@ packages: typescript: optional: true - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/types@7.12.0': - resolution: {integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==} + '@typescript-eslint/types@7.13.0': + resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/types@7.2.0': resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/types@8.0.0-alpha.28': + resolution: {integrity: sha512-HYg+e0EWVShx0FEX0MAjDinYLmd+wD6nGMpbaddB1iACYwqaJFbf7vw0l+hdLTJvQC6UY8ndRkaEsL68QEoIZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@7.12.0': - resolution: {integrity: sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==} + '@typescript-eslint/typescript-estree@7.13.0': + resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1079,30 +1067,39 @@ packages: typescript: optional: true - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.0.0-alpha.28': + resolution: {integrity: sha512-I/5ODd4XJ+TO0XrKwDaB4tVGVi6kz2LAlN3WPd7mZVVtW21HHByCILRhOF9RbC69gJQ/TGHFpWCmAcsq2RZisg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/utils@7.12.0': - resolution: {integrity: sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==} + '@typescript-eslint/utils@7.13.0': + resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.0.0-alpha.28': + resolution: {integrity: sha512-PnIz94+nbyjJisMI+KZqXMfw0wfIHvbyh0MGEx2M314wqm6SUWcxB5I8zduGQgJbRB0YFnboPS+MeSlBYPWrBQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@7.12.0': - resolution: {integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==} + '@typescript-eslint/visitor-keys@7.13.0': + resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/visitor-keys@7.2.0': resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.0.0-alpha.28': + resolution: {integrity: sha512-+ewAOeKDycydKMlnfmW8zAURTA8PR5Csyvxy6PJt4XRYjoquode9/eWaMt9Sp4Rz1FGMSVU9KxDRR83ASH/xkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vercel/postgres@0.8.0': resolution: {integrity: sha512-/QUV9ExwaNdKooRjOQqvrKNVnRvsaXeukPNI5DB1ovUTesglfR/fparw7ngo1KUWWKIVpEj2TRrA+ObRHRdaLg==} engines: {node: '>=14.6'} @@ -1249,8 +1246,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001627: - resolution: {integrity: sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==} + caniuse-lite@1.0.30001633: + resolution: {integrity: sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1377,12 +1374,12 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - drizzle-kit@0.22.1: - resolution: {integrity: sha512-2at6LeHSGdhkwGtZbghtJaMUxWmeuLfX9X1O7um/SxfVbtK580h2jd59Gd5Z7TnofSS2tgmFiyEtM4fBat3KeA==} + drizzle-kit@0.22.7: + resolution: {integrity: sha512-9THPCb2l1GPt7wxhws9LvTR0YG565ZlVgTuqGMwjs590Kch1pXu4GyjEArVijSF5m0OBj3qgdeKmuJXhKXgWFw==} hasBin: true - drizzle-orm@0.31.0: - resolution: {integrity: sha512-Uf5a3sGOqoyC+ZpQ4NCPR373q0pHOHezIJwdumMix+3rzLdtKgRhdaOabYeqNHBB48gF3Q9rrndkNc4ddE3AWA==} + drizzle-orm@0.31.2: + resolution: {integrity: sha512-QnenevbnnAzmbNzQwbhklvIYrDE8YER8K7kSrAWQSV1YvFCdSQPzj+jzqRdTSsV2cDqSpQ0NXGyL1G9I43LDLg==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' @@ -1392,6 +1389,7 @@ packages: '@op-engineering/op-sqlite': '>=2' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1' + '@tidbcloud/serverless': '*' '@types/better-sqlite3': '*' '@types/pg': '*' '@types/react': '>=18' @@ -1426,6 +1424,8 @@ packages: optional: true '@planetscale/database': optional: true + '@tidbcloud/serverless': + optional: true '@types/better-sqlite3': optional: true '@types/pg': @@ -1470,8 +1470,8 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - enhanced-resolve@5.16.1: - resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} engines: {node: '>=10.13.0'} es-abstract@1.23.3: @@ -1524,8 +1524,8 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-next@14.2.3: - resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==} + eslint-config-next@14.2.4: + resolution: {integrity: sha512-Qr0wMgG9m6m4uYy2jrYJmyuNlYZzPRQq5Kvb9IDlYwn+7yq6W6sfMNFgb+9guM1KYwuIo6TIaiFhZJ6SnQ/Efw==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -1672,8 +1672,8 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + foreground-child@3.2.0: + resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} engines: {node: '>=14'} fsevents@2.3.3: @@ -1919,17 +1919,17 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jackspeak@3.2.3: - resolution: {integrity: sha512-htOzIMPbpLid/Gq9/zaz9SfExABxqRe1sSCdxntlO/aMD6u0issZQiY25n2GKQUtJ02j7z5sfptlAOMpWWOmvw==} + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true - js-cookie@3.0.1: - resolution: {integrity: sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==} - engines: {node: '>=12'} + js-cookie@3.0.5: + resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} + engines: {node: '>=14'} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -1973,8 +1973,8 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -2056,8 +2056,8 @@ packages: react: ^16.8 || ^17 || ^18 react-dom: ^16.8 || ^17 || ^18 - next@14.2.3: - resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} + next@14.2.4: + resolution: {integrity: sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -2158,8 +2158,8 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -2291,8 +2291,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-tailwindcss@0.6.1: - resolution: {integrity: sha512-AnbeYZu0WGj+QgKciUgdMnRxrqcxltleZPgdwfA5104BHM3siBLONN/HLW1yS2HvzSNkzpQ/JAj+LN0jcJO+0w==} + prettier-plugin-tailwindcss@0.6.4: + resolution: {integrity: sha512-3vhbIvlKyAWPaw9bUr2cw6M1BGx2Oy9CCLJyv+nxEiBGCTcL69WcAz2IFMGqx8IXSzQCInGSo2ujAByg9poHLQ==} engines: {node: '>=14.21.3'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' @@ -2343,8 +2343,8 @@ packages: prettier-plugin-svelte: optional: true - prettier@3.3.0: - resolution: {integrity: sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -2600,8 +2600,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss@3.4.3: - resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} + tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} engines: {node: '>=14.0.0'} hasBin: true @@ -2638,8 +2638,8 @@ packages: tslib@2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -2759,8 +2759,8 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - yaml@2.4.3: - resolution: {integrity: sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} hasBin: true @@ -2775,13 +2775,14 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@babel/runtime@7.24.6': + '@babel/runtime@7.24.7': dependencies: regenerator-runtime: 0.14.1 - '@clerk/backend@1.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/backend@1.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@clerk/shared': 2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/shared': 2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/types': 4.6.0 cookie: 0.5.0 snakecase-keys: 5.4.4 tslib: 2.4.1 @@ -2789,37 +2790,39 @@ snapshots: - react - react-dom - '@clerk/clerk-react@5.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/clerk-react@5.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@clerk/shared': 2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/types': 4.5.1 + '@clerk/shared': 2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/types': 4.6.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.4.1 - '@clerk/nextjs@5.1.3(next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/nextjs@5.1.5(next@14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@clerk/backend': 1.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/clerk-react': 5.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@clerk/shared': 2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/backend': 1.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/clerk-react': 5.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/shared': 2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@clerk/types': 4.6.0 crypto-js: 4.2.0 - next: 14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - path-to-regexp: 6.2.1 + next: 14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + path-to-regexp: 6.2.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.4.1 - '@clerk/shared@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@clerk/shared@2.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@clerk/types': 4.6.0 glob-to-regexp: 0.4.1 - js-cookie: 3.0.1 + js-cookie: 3.0.5 std-env: 3.7.0 swr: 2.2.5(react@18.3.1) optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@clerk/types@4.5.1': + '@clerk/types@4.6.0': dependencies: csstype: 3.1.1 @@ -2977,7 +2980,7 @@ snapshots: '@eslint/config-array@0.15.1': dependencies: - '@eslint/object-schema': 2.1.3 + '@eslint/object-schema': 2.1.4 debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: @@ -2999,7 +3002,7 @@ snapshots: '@eslint/js@9.4.0': {} - '@eslint/object-schema@2.1.3': {} + '@eslint/object-schema@2.1.4': {} '@floating-ui/core@1.6.2': dependencies: @@ -3018,7 +3021,7 @@ snapshots: '@floating-ui/utils@0.2.2': {} - '@hookform/resolvers@3.4.2(react-hook-form@7.51.5(react@18.3.1))': + '@hookform/resolvers@3.6.0(react-hook-form@7.51.5(react@18.3.1))': dependencies: react-hook-form: 7.51.5(react@18.3.1) @@ -3061,37 +3064,37 @@ snapshots: '@types/pg': 8.11.6 optional: true - '@next/env@14.2.3': {} + '@next/env@14.2.4': {} - '@next/eslint-plugin-next@14.2.3': + '@next/eslint-plugin-next@14.2.4': dependencies: glob: 10.3.10 - '@next/swc-darwin-arm64@14.2.3': + '@next/swc-darwin-arm64@14.2.4': optional: true - '@next/swc-darwin-x64@14.2.3': + '@next/swc-darwin-x64@14.2.4': optional: true - '@next/swc-linux-arm64-gnu@14.2.3': + '@next/swc-linux-arm64-gnu@14.2.4': optional: true - '@next/swc-linux-arm64-musl@14.2.3': + '@next/swc-linux-arm64-musl@14.2.4': optional: true - '@next/swc-linux-x64-gnu@14.2.3': + '@next/swc-linux-x64-gnu@14.2.4': optional: true - '@next/swc-linux-x64-musl@14.2.3': + '@next/swc-linux-x64-musl@14.2.4': optional: true - '@next/swc-win32-arm64-msvc@14.2.3': + '@next/swc-win32-arm64-msvc@14.2.4': optional: true - '@next/swc-win32-ia32-msvc@14.2.3': + '@next/swc-win32-ia32-msvc@14.2.4': optional: true - '@next/swc-win32-x64-msvc@14.2.3': + '@next/swc-win32-x64-msvc@14.2.4': optional: true '@nodelib/fs.scandir@2.1.5': @@ -3111,11 +3114,11 @@ snapshots: '@radix-ui/primitive@1.0.1': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -3125,7 +3128,7 @@ snapshots: '@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -3138,28 +3141,28 @@ snapshots: '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 '@radix-ui/react-context@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 '@radix-ui/react-direction@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -3173,7 +3176,7 @@ snapshots: '@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -3189,14 +3192,14 @@ snapshots: '@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -3208,7 +3211,7 @@ snapshots: '@radix-ui/react-id@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 optionalDependencies: @@ -3216,7 +3219,7 @@ snapshots: '@radix-ui/react-label@2.0.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -3226,7 +3229,7 @@ snapshots: '@radix-ui/react-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -3253,7 +3256,7 @@ snapshots: '@radix-ui/react-navigation-menu@1.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -3276,7 +3279,7 @@ snapshots: '@radix-ui/react-popper@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -3295,7 +3298,7 @@ snapshots: '@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -3305,7 +3308,7 @@ snapshots: '@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 @@ -3316,7 +3319,7 @@ snapshots: '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -3326,7 +3329,7 @@ snapshots: '@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -3344,7 +3347,7 @@ snapshots: '@radix-ui/react-slot@1.0.2(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 optionalDependencies: @@ -3352,14 +3355,14 @@ snapshots: '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 optionalDependencies: @@ -3367,7 +3370,7 @@ snapshots: '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 optionalDependencies: @@ -3375,21 +3378,21 @@ snapshots: '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 '@radix-ui/react-use-previous@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 '@radix-ui/react-use-rect@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/rect': 1.0.1 react: 18.3.1 optionalDependencies: @@ -3397,7 +3400,7 @@ snapshots: '@radix-ui/react-use-size@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 optionalDependencies: @@ -3405,7 +3408,7 @@ snapshots: '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -3415,7 +3418,7 @@ snapshots: '@radix-ui/rect@1.0.1': dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 '@rushstack/eslint-patch@1.10.3': {} @@ -3424,7 +3427,7 @@ snapshots: '@swc/helpers@0.5.5': dependencies: '@swc/counter': 0.1.3 - tslib: 2.6.2 + tslib: 2.6.3 '@t3-oss/env-core@0.10.1(typescript@5.4.5)(zod@3.23.8)': dependencies: @@ -3439,19 +3442,19 @@ snapshots: optionalDependencies: typescript: 5.4.5 - '@tanstack/eslint-plugin-query@5.35.6(eslint@9.4.0)(typescript@5.4.5)': + '@tanstack/eslint-plugin-query@5.43.1(eslint@9.4.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/utils': 8.0.0-alpha.28(eslint@9.4.0)(typescript@5.4.5) eslint: 9.4.0 transitivePeerDependencies: - supports-color - typescript - '@tanstack/query-core@5.40.0': {} + '@tanstack/query-core@5.45.0': {} - '@tanstack/react-query@5.40.1(react@18.3.1)': + '@tanstack/react-query@5.45.0(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.40.0 + '@tanstack/query-core': 5.45.0 react: 18.3.1 '@types/eslint@8.56.10': @@ -3465,20 +3468,20 @@ snapshots: '@types/json5@0.0.29': {} - '@types/node@20.14.1': + '@types/node@20.14.2': dependencies: undici-types: 5.26.5 '@types/pg@8.11.6': dependencies: - '@types/node': 20.14.1 + '@types/node': 20.14.2 pg-protocol: 1.6.1 pg-types: 4.0.2 optional: true '@types/pg@8.6.6': dependencies: - '@types/node': 20.14.1 + '@types/node': 20.14.2 pg-protocol: 1.6.1 pg-types: 2.2.0 @@ -3493,16 +3496,14 @@ snapshots: '@types/prop-types': 15.7.12 csstype: 3.1.3 - '@types/semver@7.5.8': {} - - '@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.12.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.12.0 - '@typescript-eslint/type-utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.13.0 + '@typescript-eslint/type-utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.13.0 eslint: 9.4.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -3513,12 +3514,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.12.0 - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/scope-manager': 7.13.0 + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.13.0 debug: 4.3.5 eslint: 9.4.0 optionalDependencies: @@ -3539,25 +3540,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': + '@typescript-eslint/scope-manager@7.13.0': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - - '@typescript-eslint/scope-manager@7.12.0': - dependencies: - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/visitor-keys': 7.13.0 '@typescript-eslint/scope-manager@7.2.0': dependencies: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/visitor-keys': 7.2.0 - '@typescript-eslint/type-utils@7.12.0(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/scope-manager@8.0.0-alpha.28': + dependencies: + '@typescript-eslint/types': 8.0.0-alpha.28 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.28 + + '@typescript-eslint/type-utils@7.13.0(eslint@9.4.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.13.0(eslint@9.4.0)(typescript@5.4.5) debug: 4.3.5 eslint: 9.4.0 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -3566,20 +3567,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@6.21.0': {} - - '@typescript-eslint/types@7.12.0': {} + '@typescript-eslint/types@7.13.0': {} '@typescript-eslint/types@7.2.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': + '@typescript-eslint/types@8.0.0-alpha.28': {} + + '@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/visitor-keys': 7.13.0 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.4 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -3587,14 +3588,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.12.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.4 + minimatch: 9.0.3 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -3602,14 +3603,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@8.0.0-alpha.28(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 8.0.0-alpha.28 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.28 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.4 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -3617,44 +3618,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/utils@7.13.0(eslint@9.4.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.13.0 + '@typescript-eslint/types': 7.13.0 + '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5) eslint: 9.4.0 - semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.12.0(eslint@9.4.0)(typescript@5.4.5)': + '@typescript-eslint/utils@8.0.0-alpha.28(eslint@9.4.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) - '@typescript-eslint/scope-manager': 7.12.0 - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.0.0-alpha.28 + '@typescript-eslint/types': 8.0.0-alpha.28 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.28(typescript@5.4.5) eslint: 9.4.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@7.13.0': dependencies: - '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/types': 7.13.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.12.0': + '@typescript-eslint/visitor-keys@7.2.0': dependencies: - '@typescript-eslint/types': 7.12.0 + '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.2.0': + '@typescript-eslint/visitor-keys@8.0.0-alpha.28': dependencies: - '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/types': 8.0.0-alpha.28 eslint-visitor-keys: 3.4.3 '@vercel/postgres@0.8.0': @@ -3700,7 +3698,7 @@ snapshots: aria-hidden@1.2.4: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 aria-query@5.3.0: dependencies: @@ -3831,7 +3829,7 @@ snapshots: camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001627: {} + caniuse-lite@1.0.30001633: {} chalk@4.1.2: dependencies: @@ -3949,7 +3947,7 @@ snapshots: no-case: 3.0.4 tslib: 2.4.1 - drizzle-kit@0.22.1: + drizzle-kit@0.22.7: dependencies: '@esbuild-kit/esm-loader': 2.6.5 esbuild: 0.19.12 @@ -3957,7 +3955,7 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.31.0(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(@types/react@18.3.3)(@vercel/postgres@0.8.0)(postgres@3.4.4)(react@18.3.1): + drizzle-orm@0.31.2(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(@types/react@18.3.3)(@vercel/postgres@0.8.0)(postgres@3.4.4)(react@18.3.1): optionalDependencies: '@neondatabase/serverless': 0.9.3 '@types/pg': 8.11.6 @@ -3972,7 +3970,7 @@ snapshots: emoji-regex@9.2.2: {} - enhanced-resolve@5.16.1: + enhanced-resolve@5.17.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -4129,15 +4127,15 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-next@14.2.3(eslint@9.4.0)(typescript@5.4.5): + eslint-config-next@14.2.4(eslint@9.4.0)(typescript@5.4.5): dependencies: - '@next/eslint-plugin-next': 14.2.3 + '@next/eslint-plugin-next': 14.2.4 '@rushstack/eslint-patch': 1.10.3 '@typescript-eslint/parser': 7.2.0(eslint@9.4.0)(typescript@5.4.5) eslint: 9.4.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@9.4.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.4.0) eslint-plugin-react: 7.34.2(eslint@9.4.0) eslint-plugin-react-hooks: 4.6.2(eslint@9.4.0) @@ -4158,10 +4156,10 @@ snapshots: eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@9.4.0): dependencies: debug: 4.3.5 - enhanced-resolve: 5.16.1 + enhanced-resolve: 5.17.0 eslint: 9.4.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@9.4.0))(eslint@9.4.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.13.1 @@ -4172,11 +4170,11 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) eslint: 9.4.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -4197,7 +4195,7 @@ snapshots: dependencies: eslint: 9.4.0 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -4207,7 +4205,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.4.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.13.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -4218,7 +4216,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.13.0(eslint@9.4.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -4226,7 +4224,7 @@ snapshots: eslint-plugin-jsx-a11y@6.8.0(eslint@9.4.0): dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 aria-query: 5.3.0 array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 @@ -4378,7 +4376,7 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@3.1.1: + foreground-child@3.2.0: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -4397,9 +4395,9 @@ snapshots: functions-have-names@1.2.3: {} - geist@1.3.0(next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + geist@1.3.0(next@14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: - next: 14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) get-intrinsic@1.2.4: dependencies: @@ -4433,7 +4431,7 @@ snapshots: glob@10.3.10: dependencies: - foreground-child: 3.1.1 + foreground-child: 3.2.0 jackspeak: 2.3.6 minimatch: 9.0.4 minipass: 7.1.2 @@ -4441,8 +4439,8 @@ snapshots: glob@10.4.1: dependencies: - foreground-child: 3.1.1 - jackspeak: 3.2.3 + foreground-child: 3.2.0 + jackspeak: 3.4.0 minimatch: 9.0.4 minipass: 7.1.2 path-scurry: 1.11.1 @@ -4626,15 +4624,15 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@3.2.3: + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@1.21.0: {} + jiti@1.21.6: {} - js-cookie@3.0.1: {} + js-cookie@3.0.5: {} js-tokens@4.0.0: {} @@ -4676,7 +4674,7 @@ snapshots: lilconfig@2.1.0: {} - lilconfig@3.1.1: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -4744,27 +4742,27 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - next@14.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 14.2.3 + '@next/env': 14.2.4 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001627 + caniuse-lite: 1.0.30001633 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.3 - '@next/swc-darwin-x64': 14.2.3 - '@next/swc-linux-arm64-gnu': 14.2.3 - '@next/swc-linux-arm64-musl': 14.2.3 - '@next/swc-linux-x64-gnu': 14.2.3 - '@next/swc-linux-x64-musl': 14.2.3 - '@next/swc-win32-arm64-msvc': 14.2.3 - '@next/swc-win32-ia32-msvc': 14.2.3 - '@next/swc-win32-x64-msvc': 14.2.3 + '@next/swc-darwin-arm64': 14.2.4 + '@next/swc-darwin-x64': 14.2.4 + '@next/swc-linux-arm64-gnu': 14.2.4 + '@next/swc-linux-arm64-musl': 14.2.4 + '@next/swc-linux-x64-gnu': 14.2.4 + '@next/swc-linux-x64-musl': 14.2.4 + '@next/swc-win32-arm64-msvc': 14.2.4 + '@next/swc-win32-ia32-msvc': 14.2.4 + '@next/swc-win32-x64-msvc': 14.2.4 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -4859,7 +4857,7 @@ snapshots: lru-cache: 10.2.2 minipass: 7.1.2 - path-to-regexp@6.2.1: {} + path-to-regexp@6.2.2: {} path-type@4.0.0: {} @@ -4913,8 +4911,8 @@ snapshots: postcss-load-config@4.0.2(postcss@8.4.38): dependencies: - lilconfig: 3.1.1 - yaml: 2.4.3 + lilconfig: 3.1.2 + yaml: 2.4.5 optionalDependencies: postcss: 8.4.38 @@ -4973,11 +4971,11 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.6.1(prettier@3.3.0): + prettier-plugin-tailwindcss@0.6.4(prettier@3.3.2): dependencies: - prettier: 3.3.0 + prettier: 3.3.2 - prettier@3.3.0: {} + prettier@3.3.2: {} prop-types@15.8.1: dependencies: @@ -5005,7 +5003,7 @@ snapshots: dependencies: react: 18.3.1 react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1) - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.3.3 @@ -5014,7 +5012,7 @@ snapshots: react: 18.3.1 react-remove-scroll-bar: 2.3.6(@types/react@18.3.3)(react@18.3.1) react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1) - tslib: 2.6.2 + tslib: 2.6.3 use-callback-ref: 1.3.2(@types/react@18.3.3)(react@18.3.1) use-sidecar: 1.1.2(@types/react@18.3.3)(react@18.3.1) optionalDependencies: @@ -5025,7 +5023,7 @@ snapshots: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.3.3 @@ -5249,13 +5247,13 @@ snapshots: tailwind-merge@2.3.0: dependencies: - '@babel/runtime': 7.24.6 + '@babel/runtime': 7.24.7 - tailwindcss-animate@1.0.7(tailwindcss@3.4.3): + tailwindcss-animate@1.0.7(tailwindcss@3.4.4): dependencies: - tailwindcss: 3.4.3 + tailwindcss: 3.4.4 - tailwindcss@3.4.3: + tailwindcss@3.4.4: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -5265,7 +5263,7 @@ snapshots: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.21.6 lilconfig: 2.1.0 micromatch: 4.0.7 normalize-path: 3.0.0 @@ -5313,7 +5311,7 @@ snapshots: tslib@2.4.1: {} - tslib@2.6.2: {} + tslib@2.6.3: {} type-check@0.4.0: dependencies: @@ -5371,7 +5369,7 @@ snapshots: use-callback-ref@1.3.2(@types/react@18.3.3)(react@18.3.1): dependencies: react: 18.3.1 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.3.3 @@ -5379,7 +5377,7 @@ snapshots: dependencies: detect-node-es: 1.1.0 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.3.3 @@ -5456,7 +5454,7 @@ snapshots: xtend@4.0.2: {} - yaml@2.4.3: {} + yaml@2.4.5: {} yocto-queue@0.1.0: {} From 7b0686d448076b5ba6f284fb6bd9702deacbb56f Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Fri, 14 Jun 2024 10:31:24 +0530 Subject: [PATCH 09/50] chore: combine paperless search --- src/app/paperless/document-search.tsx | 70 ---------- src/app/paperless/documents-page.tsx | 109 ---------------- src/app/paperless/page.tsx | 178 +++++++++++++++++++++++++- 3 files changed, 173 insertions(+), 184 deletions(-) delete mode 100644 src/app/paperless/document-search.tsx delete mode 100644 src/app/paperless/documents-page.tsx diff --git a/src/app/paperless/document-search.tsx b/src/app/paperless/document-search.tsx deleted file mode 100644 index 59d10a0..0000000 --- a/src/app/paperless/document-search.tsx +++ /dev/null @@ -1,70 +0,0 @@ -"use client"; - -import { usePathname, useRouter, useSearchParams } from "next/navigation"; -import { useForm } from "react-hook-form"; -import { z } from "zod"; -import { Button } from "@/components/ui/button"; -import { - Form, - FormControl, - FormField, - FormItem, - FormLabel, -} from "@/components/ui/form"; -import { Input } from "@/components/ui/input"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useCallback } from "react"; - -const formSchema = z.object({ - query: z.string().min(3).max(256), -}); - -export default function DocumentsSearch() { - const router = useRouter(); - const pathname = usePathname(); - const searchParams = useSearchParams(); - const givenQuery = searchParams.get("query") || ""; - // 1. Define your form. - const form = useForm>({ - resolver: zodResolver(formSchema), - defaultValues: { - query: givenQuery, - }, - }); - - const createQueryString = useCallback( - (name: string, value: string) => { - const params = new URLSearchParams(searchParams.toString()); - params.set(name, value); - - return params.toString(); - }, - [searchParams], - ); - - function onSubmit(values: z.infer) { - if (values["query"]) router.replace(pathname + "?" + createQueryString("query", values["query"])); - } - - return ( -
- - ( - - Search for documents - - - - - )} - /> - - - - ); -} \ No newline at end of file diff --git a/src/app/paperless/documents-page.tsx b/src/app/paperless/documents-page.tsx deleted file mode 100644 index c7280fa..0000000 --- a/src/app/paperless/documents-page.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import { ExternalLink, LoaderCircle } from "lucide-react"; -import { useSearchParams } from "next/navigation"; -import { useEffect } from "react"; -import { - useQuery, - QueryClientProvider, - QueryClient, -} from "@tanstack/react-query"; - -const queryClient = new QueryClient(); - -type DataType = { - data: { - total: number; - documents: { - added: string; - archive_serial_number: string; - archived_file_name: string; - content: string; - correspondent: string; - created: string; - created_date: string; - custom_fields: []; - document_type: number; - id: number; - is_shared_by_requester: boolean; - modified: string; - notes: []; - original_file_name: string; - owner: number; - storage_path: number; - tags: []; - title: string; - user_can_change: boolean; - }[]; - saved_views: []; - correspondents: []; - document_types: []; - storage_paths: []; - tags: []; - users: []; - groups: []; - mail_accounts: []; - mail_rules: []; - custom_fields: []; - workflows: []; - }; -}; - -function Documents() { - const searchParams = useSearchParams(); - const query = searchParams.get("query"); - - const QueryResult = useQuery({ - queryKey: ["key"], - queryFn: async () => { - const response = await fetch("/api/paperless?query=" + query); - const data = (await response.json()) as DataType; - console.log("data just got got"); - return data; - }, - }); - - useEffect(() => { - queryClient.refetchQueries(); - }, [query]); - - return ( -
- {QueryResult.isLoading ? ( -
- - Loading... -
- ) : QueryResult.data?.data ? ( -
-

Search Results

- -
- ) : ( -

Start searching!

- )} -
- ); -} - -export default function DocumentsPage() { - return ( -
- - - -
- ); -} \ No newline at end of file diff --git a/src/app/paperless/page.tsx b/src/app/paperless/page.tsx index e9fb1f3..0842945 100644 --- a/src/app/paperless/page.tsx +++ b/src/app/paperless/page.tsx @@ -1,8 +1,172 @@ "use client"; import { SignedIn, SignedOut } from "@clerk/nextjs"; -import DocumentsSearch from "./document-search"; -import DocuemntsPage from "./documents-page"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { useForm } from "react-hook-form"; +import { z } from "zod"; +import { Button } from "@/components/ui/button"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, +} from "@/components/ui/form"; +import { Input } from "@/components/ui/input"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useCallback } from "react"; +import { ExternalLink, LoaderCircle } from "lucide-react"; +import { useEffect } from "react"; +import { + useQuery, + QueryClientProvider, + QueryClient, +} from "@tanstack/react-query"; + +function DocumentsSearch() { + const formSchema = z.object({ + query: z.string().min(3).max(256), + }); + const router = useRouter(); + const pathname = usePathname(); + const searchParams = useSearchParams(); + const givenQuery = searchParams.get("query") || ""; + // 1. Define your form. + const form = useForm>({ + resolver: zodResolver(formSchema), + defaultValues: { + query: givenQuery, + }, + }); + + const createQueryString = useCallback( + (name: string, value: string) => { + const params = new URLSearchParams(searchParams.toString()); + params.set(name, value); + + return params.toString(); + }, + [searchParams], + ); + + function onSubmit(values: z.infer) { + if (values["query"]) + router.replace( + pathname + "?" + createQueryString("query", values["query"]), + ); + } + + return ( +
+ + ( + + Search for documents + + + + + )} + /> + + + + ); +} + +const queryClient = new QueryClient(); + +function DocumentsPage() { + type DataType = { + data: { + total: number; + documents: { + added: string; + archive_serial_number: string; + archived_file_name: string; + content: string; + correspondent: string; + created: string; + created_date: string; + custom_fields: []; + document_type: number; + id: number; + is_shared_by_requester: boolean; + modified: string; + notes: []; + original_file_name: string; + owner: number; + storage_path: number; + tags: []; + title: string; + user_can_change: boolean; + }[]; + saved_views: []; + correspondents: []; + document_types: []; + storage_paths: []; + tags: []; + users: []; + groups: []; + mail_accounts: []; + mail_rules: []; + custom_fields: []; + workflows: []; + }; + }; + const searchParams = useSearchParams(); + const query = searchParams.get("query"); + + const QueryResult = useQuery({ + queryKey: ["key"], + queryFn: async () => { + const response = await fetch("/api/paperless?query=" + query); + const data = (await response.json()) as DataType; + return data; + }, + }); + + useEffect(() => { + queryClient.refetchQueries(); + }, [query]); + + return ( +
+ {QueryResult.isLoading ? ( +
+ + Loading... +
+ ) : QueryResult.data?.data ? ( +
+

Search Results

+ +
+ ) : ( +

Start searching!

+ )} +
+ ); +} export default function PaperlessPage() { return ( @@ -14,12 +178,16 @@ export default function PaperlessPage() {
-
+
- +
+ + + +
); -} \ No newline at end of file +} From be02292a7e8b7af7328ed995f3071875c3a7582d Mon Sep 17 00:00:00 2001 From: Aamir Azad Date: Fri, 14 Jun 2024 10:51:59 +0530 Subject: [PATCH 10/50] style: reduce width of topnav --- src/components/topnav.tsx | 71 +++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/src/components/topnav.tsx b/src/components/topnav.tsx index c25dc6d..04e3510 100644 --- a/src/components/topnav.tsx +++ b/src/components/topnav.tsx @@ -8,42 +8,47 @@ import { ModeToggle } from "@/components/mode-toggle"; export function TopNav() { return ( -