From 065670783752fbeada1f444fd301990e52ec4b42 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:26:25 -0500
Subject: [PATCH 01/46] changed
---
packages/api/src/context.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/api/src/context.ts b/packages/api/src/context.ts
index 91a8561..2889253 100644
--- a/packages/api/src/context.ts
+++ b/packages/api/src/context.ts
@@ -50,7 +50,7 @@ export async function createContext(
session,
userId: session?.user?.id,
cache,
- clientIp: opts?.clientIp || 'unknown',
+ clientIp: opts?.clientIp || req?.headers.get("x-forwarded-for")?.split(",")[0] || 'unknown',
req
};
}
From a8ff6e1a2ed18104bc5a657177127e607ab9f1fb Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:31:28 -0500
Subject: [PATCH 02/46] ok?
---
sites/portal/src/pages/api/trpc/[trpc].ts | 23 -----------------------
1 file changed, 23 deletions(-)
delete mode 100644 sites/portal/src/pages/api/trpc/[trpc].ts
diff --git a/sites/portal/src/pages/api/trpc/[trpc].ts b/sites/portal/src/pages/api/trpc/[trpc].ts
deleted file mode 100644
index e3d2c21..0000000
--- a/sites/portal/src/pages/api/trpc/[trpc].ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { createNextApiHandler } from '@trpc/server/adapters/next';
-import { appRouter, createContext } from '@query/api';
-import type { NextApiRequest, NextApiResponse } from 'next';
-
-// Create the TRPC handler for Pages Router (Node.js HTTP)
-// The createContext function will be called with the proper options
-export default createNextApiHandler({
- router: appRouter,
- createContext: async ({ req, res }) => {
- // Extract client IP from headers (for Firebase Cloud Functions)
- const forwarded = req.headers['x-forwarded-for'];
- const clientIp = typeof forwarded === 'string'
- ? forwarded.split(',')[0].trim()
- : req.socket?.remoteAddress || 'unknown';
-
- // Call createContext with just the clientIp since we're in Pages Router
- // The context function will handle the rest
- return createContext({ clientIp } as any);
- },
- onError: ({ error, path }) => {
- console.error(`[TRPC Error] ${path}:`, error.message);
- },
-});
From 5d32e803722579ad04c6c2d75fc0e5e5a6daac8a Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:35:37 -0500
Subject: [PATCH 03/46] update
---
packages/api/src/context.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/api/src/context.ts b/packages/api/src/context.ts
index 2889253..812c238 100644
--- a/packages/api/src/context.ts
+++ b/packages/api/src/context.ts
@@ -28,7 +28,7 @@ async function getAuth() {
}
export async function createContext(
- opts?: FetchCreateContextFnOptions & { clientIp?: string; req?: Request }
+ opts?: Partial & { clientIp?: string; req?: Request }
) {
let session = null;
From 9d82333fba67ff1230273ec0501e9f7d542e04c0 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:39:08 -0500
Subject: [PATCH 04/46] did not push lol
---
sites/portal/src/app/api/webhooks/stripe/route.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sites/portal/src/app/api/webhooks/stripe/route.ts b/sites/portal/src/app/api/webhooks/stripe/route.ts
index 0e4daf3..85c3eb5 100644
--- a/sites/portal/src/app/api/webhooks/stripe/route.ts
+++ b/sites/portal/src/app/api/webhooks/stripe/route.ts
@@ -4,7 +4,7 @@ import { db, stripePayments, users, members } from "@query/db";
import { eq } from "drizzle-orm";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
- apiVersion: "2024-12-18.acacia",
+ apiVersion: "2025-12-15.clover",
});
const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
From 444105354499e0e2208c64efc1579f5faf338287 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:43:23 -0500
Subject: [PATCH 05/46] lazt load
---
.../portal/src/app/api/webhooks/stripe/route.ts | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/sites/portal/src/app/api/webhooks/stripe/route.ts b/sites/portal/src/app/api/webhooks/stripe/route.ts
index 85c3eb5..c9c985a 100644
--- a/sites/portal/src/app/api/webhooks/stripe/route.ts
+++ b/sites/portal/src/app/api/webhooks/stripe/route.ts
@@ -3,12 +3,18 @@ import Stripe from "stripe";
import { db, stripePayments, users, members } from "@query/db";
import { eq } from "drizzle-orm";
-const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
- apiVersion: "2025-12-15.clover",
-});
-
const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
+let stripe: Stripe;
+function getStripe() {
+ if (!stripe) {
+ stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
+ apiVersion: "2025-12-15.clover",
+ });
+ }
+ return stripe;
+}
+
export async function POST(req: NextRequest) {
const body = await req.text();
const signature = req.headers.get("stripe-signature");
@@ -20,7 +26,7 @@ export async function POST(req: NextRequest) {
let event: Stripe.Event;
try {
- event = stripe.webhooks.constructEvent(body, signature, webhookSecret);
+ event = getStripe().webhooks.constructEvent(body, signature, webhookSecret);
} catch (err) {
console.error("Webhook signature verification failed:", err);
return NextResponse.json({ error: "Invalid signature" }, { status: 400 });
From c73beddc915c9284faf5b9126066a013114506e1 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:48:17 -0500
Subject: [PATCH 06/46] update
---
sites/portal/src/app/not-found.tsx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sites/portal/src/app/not-found.tsx b/sites/portal/src/app/not-found.tsx
index 18ac4d5..dd62778 100644
--- a/sites/portal/src/app/not-found.tsx
+++ b/sites/portal/src/app/not-found.tsx
@@ -1,3 +1,5 @@
+"use client";
+
// src/app/not-found.tsx
import Link from "next/link";
import Background from "@/components/Background";
From b899739d8d2668d13e2c705ba30d7235e988c89e Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:52:03 -0500
Subject: [PATCH 07/46] fix
---
sites/portal/src/app/not-found.tsx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sites/portal/src/app/not-found.tsx b/sites/portal/src/app/not-found.tsx
index dd62778..5da9e28 100644
--- a/sites/portal/src/app/not-found.tsx
+++ b/sites/portal/src/app/not-found.tsx
@@ -33,19 +33,19 @@ export default function NotFound() {
-
Back to Home
-
+
-
View Projects
-
+
From 7dde545c6e85cb8bd27c63f8710819d8932699a8 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 11:56:21 -0500
Subject: [PATCH 08/46] idk?
---
sites/portal/src/app/not-found.tsx | 54 ------------------------------
sites/portal/src/pages/404.tsx | 37 ++++++++++++++++++++
2 files changed, 37 insertions(+), 54 deletions(-)
delete mode 100644 sites/portal/src/app/not-found.tsx
create mode 100644 sites/portal/src/pages/404.tsx
diff --git a/sites/portal/src/app/not-found.tsx b/sites/portal/src/app/not-found.tsx
deleted file mode 100644
index 5da9e28..0000000
--- a/sites/portal/src/app/not-found.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-"use client";
-
-// src/app/not-found.tsx
-import Link from "next/link";
-import Background from "@/components/Background";
-
-export default function NotFound() {
- return (
-
-
-
-
-
-
- {/* Visual depth glow */}
-
-
-
-
- Error 404 // Lost in Space
-
-
-
- You fell
-
- out of place.
-
-
-
-
-
- The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
-
-
-
-
-
-
- );
-}
diff --git a/sites/portal/src/pages/404.tsx b/sites/portal/src/pages/404.tsx
new file mode 100644
index 0000000..6da9ab6
--- /dev/null
+++ b/sites/portal/src/pages/404.tsx
@@ -0,0 +1,37 @@
+
+import React from 'react';
+import Link from 'next/link';
+
+export default function Custom404() {
+ return (
+
+
+
+
+ Error 404 // Lost in Space
+
+
+
+ You fell
+
+ out of place.
+
+
+
+
+
+ The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
+
+
+
+
+ Back to Home
+
+
+
+
+ );
+}
From 18c8cfa653b83e9907644fe0d8fac86471edb3c4 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:00:54 -0500
Subject: [PATCH 09/46] dude
---
sites/portal/src/pages/404.tsx | 65 +++++++++++++++++++++-------------
1 file changed, 40 insertions(+), 25 deletions(-)
diff --git a/sites/portal/src/pages/404.tsx b/sites/portal/src/pages/404.tsx
index 6da9ab6..549e68d 100644
--- a/sites/portal/src/pages/404.tsx
+++ b/sites/portal/src/pages/404.tsx
@@ -1,37 +1,52 @@
import React from 'react';
-import Link from 'next/link';
+import Background from '../components/Background';
export default function Custom404() {
return (
-
-
-
-
- Error 404 // Lost in Space
+
+
+
+
+
+
+ {/* Visual depth glow */}
+
+
+
+
+ Error 404 // Lost in Space
+
+
+
+ You fell
+
+ out of place.
+
+
-
- You fell
-
- out of place.
-
-
-
+
+ The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
+
+
+
+
+ Back to Home
+
-
- The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
-
-
-
-
+
);
}
From c9395e8f028e75d7c54a559e0f2217cfc8681535 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:09:59 -0500
Subject: [PATCH 10/46] no way
---
sites/portal/src/pages/404.tsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/sites/portal/src/pages/404.tsx b/sites/portal/src/pages/404.tsx
index 549e68d..4018fa0 100644
--- a/sites/portal/src/pages/404.tsx
+++ b/sites/portal/src/pages/404.tsx
@@ -1,4 +1,3 @@
-
import React from 'react';
import Background from '../components/Background';
From 32d2d8e602e0878cdae01929dae71c7f8fe7986c Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:13:58 -0500
Subject: [PATCH 11/46] um
---
sites/portal/src/{pages/404.tsx => app/not-found.tsx} | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
rename sites/portal/src/{pages/404.tsx => app/not-found.tsx} (97%)
diff --git a/sites/portal/src/pages/404.tsx b/sites/portal/src/app/not-found.tsx
similarity index 97%
rename from sites/portal/src/pages/404.tsx
rename to sites/portal/src/app/not-found.tsx
index 4018fa0..f6b670d 100644
--- a/sites/portal/src/pages/404.tsx
+++ b/sites/portal/src/app/not-found.tsx
@@ -1,7 +1,6 @@
-import React from 'react';
import Background from '../components/Background';
-export default function Custom404() {
+export default function NotFound() {
return (
From b38a92effe027df52ff2dbb8e5107d16d09d4a36 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:14:28 -0500
Subject: [PATCH 12/46] lol
---
sites/portal/src/app/not-found.tsx | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/sites/portal/src/app/not-found.tsx b/sites/portal/src/app/not-found.tsx
index f6b670d..5c37db6 100644
--- a/sites/portal/src/app/not-found.tsx
+++ b/sites/portal/src/app/not-found.tsx
@@ -1,9 +1,12 @@
-import Background from '../components/Background';
-
export default function NotFound() {
return (
-
+ {/* Inline background to avoid any component dependencies */}
+
@@ -25,7 +28,7 @@ export default function NotFound() {
- The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
+ The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
From c5489db6d816531bef169767fa5e33ae4b3870c2 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:18:40 -0500
Subject: [PATCH 13/46] dude
---
sites/portal/src/app/providers.tsx | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/sites/portal/src/app/providers.tsx b/sites/portal/src/app/providers.tsx
index f0c7414..fab9755 100644
--- a/sites/portal/src/app/providers.tsx
+++ b/sites/portal/src/app/providers.tsx
@@ -3,11 +3,13 @@
import { SessionProvider } from 'next-auth/react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { httpBatchLink } from '@trpc/client';
-import { useState } from 'react';
+import { useState, useEffect } from 'react';
import superjson from 'superjson';
import { trpc } from '@/lib/trpc';
export function Providers({ children }: { children: React.ReactNode }) {
+ const [mounted, setMounted] = useState(false);
+
const [queryClient] = useState(() => new QueryClient({
defaultOptions: {
queries: {
@@ -32,6 +34,16 @@ export function Providers({ children }: { children: React.ReactNode }) {
})
);
+ useEffect(() => {
+ setMounted(true);
+ }, []);
+
+ // During SSR/static generation, render children directly without providers
+ // This prevents useContext errors during prerendering
+ if (!mounted) {
+ return <>{children}>;
+ }
+
return (
From 1f497f4877ddcebdeec98f06e35e4587905166c8 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:26:19 -0500
Subject: [PATCH 14/46] lets try this
---
sites/portal/src/app/api/webhooks/stripe/route.ts | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/sites/portal/src/app/api/webhooks/stripe/route.ts b/sites/portal/src/app/api/webhooks/stripe/route.ts
index c9c985a..de84d4a 100644
--- a/sites/portal/src/app/api/webhooks/stripe/route.ts
+++ b/sites/portal/src/app/api/webhooks/stripe/route.ts
@@ -5,15 +5,9 @@ import { eq } from "drizzle-orm";
const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
-let stripe: Stripe;
-function getStripe() {
- if (!stripe) {
- stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
- apiVersion: "2025-12-15.clover",
- });
- }
- return stripe;
-}
+const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
+ apiVersion: "2025-12-15.clover",
+});
export async function POST(req: NextRequest) {
const body = await req.text();
@@ -26,7 +20,7 @@ export async function POST(req: NextRequest) {
let event: Stripe.Event;
try {
- event = getStripe().webhooks.constructEvent(body, signature, webhookSecret);
+ event = stripe.webhooks.constructEvent(body, signature, webhookSecret);
} catch (err) {
console.error("Webhook signature verification failed:", err);
return NextResponse.json({ error: "Invalid signature" }, { status: 400 });
From 9e94b3afc9a404b3a4bfecb81a6b900d0f3d040f Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:27:37 -0500
Subject: [PATCH 15/46] fixxed
---
packages/ui/.cache/tsbuildinfo.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/ui/.cache/tsbuildinfo.json b/packages/ui/.cache/tsbuildinfo.json
index 91c7126..987a944 100644
--- a/packages/ui/.cache/tsbuildinfo.json
+++ b/packages/ui/.cache/tsbuildinfo.json
@@ -1 +1 @@
-{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../src/card.tsx","../src/gradient.tsx","../src/turborepo-logo.tsx"],"fileIdsList":[[60,61,62],[63]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"7a3aa194cfd5919c4da251ef04ea051077e22702638d4edcb9579e9101653519","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c1086e6d7266c775657f31296f4c21075d9ce1c537c02ff2c96979a9b08420b","signature":"6eeece7d524a9481cebdd026204190ab9908fa2912677b0be8f71d40440e8d9a"},{"version":"bb1eb0e32b8acd010fc604c3a071bd56163b6b2ce7c5c5c81beb34b828f18b72","signature":"e7a5466d6dcec8991d27d5707f0ce6352221d571a0fdd35707c2fae596a352e4"},{"version":"5d567738a6f4a08564bd369bccf551af8ddafe52ad5477cbae7e6daa432a32cc","signature":"bb275541e206acd71793df694bb9835204246a0cda52dcdb0b0dd21e68b2fc91"}],"root":[[64,66]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":1,"module":200,"noUncheckedIndexedAccess":true,"outDir":"../dist","rootDir":"..","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[63,1],[64,2]],"version":"5.9.3"}
\ No newline at end of file
+{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../src/card.tsx","../src/gradient.tsx","../src/turborepo-logo.tsx"],"fileIdsList":[[60,61],[62]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"cf8db38686dfd74567ea692266fe44fbb32fa0e25fc0888ad6fc40e65873607e","impliedFormat":1},{"version":"9c1086e6d7266c775657f31296f4c21075d9ce1c537c02ff2c96979a9b08420b","signature":"6eeece7d524a9481cebdd026204190ab9908fa2912677b0be8f71d40440e8d9a"},{"version":"bb1eb0e32b8acd010fc604c3a071bd56163b6b2ce7c5c5c81beb34b828f18b72","signature":"e7a5466d6dcec8991d27d5707f0ce6352221d571a0fdd35707c2fae596a352e4"},{"version":"5d567738a6f4a08564bd369bccf551af8ddafe52ad5477cbae7e6daa432a32cc","signature":"bb275541e206acd71793df694bb9835204246a0cda52dcdb0b0dd21e68b2fc91"}],"root":[[63,65]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":1,"module":200,"noUncheckedIndexedAccess":true,"outDir":"../dist","rootDir":"..","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[62,1],[63,2]],"version":"5.9.3"}
\ No newline at end of file
From 9b6cdb832ce80a0cfad20843bf7047f55148dadf Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:28:47 -0500
Subject: [PATCH 16/46] lol
---
sites/portal/src/app/api/trpc/[trpc]/route.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sites/portal/src/app/api/trpc/[trpc]/route.ts b/sites/portal/src/app/api/trpc/[trpc]/route.ts
index 212a38c..08847bf 100644
--- a/sites/portal/src/app/api/trpc/[trpc]/route.ts
+++ b/sites/portal/src/app/api/trpc/[trpc]/route.ts
@@ -6,7 +6,7 @@ const handler = (req: Request) =>
endpoint: "/api/trpc",
req,
router: appRouter,
- createContext: () => createContext({ req }),
+ createContext: (opts) => createContext({ ...opts, req }),
});
export { handler as GET, handler as POST };
From 41e9341ea5e5bc8472bb08e86df24b621e1ce7b7 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:35:37 -0500
Subject: [PATCH 17/46] type
---
packages/db/src/client.ts | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/packages/db/src/client.ts b/packages/db/src/client.ts
index 3a0b302..7261fbc 100644
--- a/packages/db/src/client.ts
+++ b/packages/db/src/client.ts
@@ -7,14 +7,24 @@ const DATABASE_URL = process.env.DATABASE_URL;
type DrizzleDB = ReturnType>;
-// Create database connection only if DATABASE_URL is provided
+const globalForDb = globalThis as unknown as {
+ conn: Pool | undefined;
+};
+
let db: DrizzleDB | null = null;
if (DATABASE_URL) {
- const pool = new Pool({
+ const conn = globalForDb.conn ?? new Pool({
connectionString: DATABASE_URL,
+ allowExitOnIdle: true,
+ connectionTimeoutMillis: 5000, // 5s timeout
+ idleTimeoutMillis: 2000, // 2s idle timeout
+ max: 10,
});
- db = drizzle(pool, { schema });
+
+ if (process.env.NODE_ENV !== "production") globalForDb.conn = conn;
+
+ db = drizzle(conn, { schema });
} else {
console.warn("DATABASE_URL not set - database operations will fail");
}
From 118b79e318964701458ba3c2071bb51ca5e4ffae Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:37:55 -0500
Subject: [PATCH 18/46] dude idk
---
sites/portal/next.config.mjs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sites/portal/next.config.mjs b/sites/portal/next.config.mjs
index 8a522ff..3509f1b 100644
--- a/sites/portal/next.config.mjs
+++ b/sites/portal/next.config.mjs
@@ -10,6 +10,12 @@ const nextConfig = {
output: 'standalone',
outputFileTracingRoot: path.join(__dirname, '../../'),
reactStrictMode: true,
+ typescript: {
+ ignoreBuildErrors: true,
+ },
+ eslint: {
+ ignoreDuringBuilds: true,
+ },
images: {
domains: ['lh3.googleusercontent.com'],
},
From c2418e3a97ffbd7df37ca4b79139cf0af709307e Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:38:17 -0500
Subject: [PATCH 19/46] brah
---
.../portal/src/app/api/webhooks/stripe/route.ts | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/sites/portal/src/app/api/webhooks/stripe/route.ts b/sites/portal/src/app/api/webhooks/stripe/route.ts
index de84d4a..2e80d9f 100644
--- a/sites/portal/src/app/api/webhooks/stripe/route.ts
+++ b/sites/portal/src/app/api/webhooks/stripe/route.ts
@@ -5,9 +5,14 @@ import { eq } from "drizzle-orm";
const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
-const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
- apiVersion: "2025-12-15.clover",
-});
+const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
+
+// Non-lazy initialization as requested, but robust check for missing key during build
+const stripe = process.env.STRIPE_SECRET_KEY
+ ? new Stripe(process.env.STRIPE_SECRET_KEY, {
+ apiVersion: "2025-12-15.clover",
+ })
+ : null;
export async function POST(req: NextRequest) {
const body = await req.text();
@@ -17,6 +22,12 @@ export async function POST(req: NextRequest) {
return NextResponse.json({ error: "Missing signature" }, { status: 400 });
}
+ // Runtime check for missing configuration
+ if (!stripe) {
+ console.error("Stripe not initialized. Missing STRIPE_SECRET_KEY.");
+ return NextResponse.json({ error: "Server configuration error" }, { status: 500 });
+ }
+
let event: Stripe.Event;
try {
From 62569f5f38ca3b723aab4971cc17fa082fe97736 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:38:50 -0500
Subject: [PATCH 20/46] e
---
sites/portal/src/app/api/webhooks/stripe/route.ts | 2 --
1 file changed, 2 deletions(-)
diff --git a/sites/portal/src/app/api/webhooks/stripe/route.ts b/sites/portal/src/app/api/webhooks/stripe/route.ts
index 2e80d9f..0a388b8 100644
--- a/sites/portal/src/app/api/webhooks/stripe/route.ts
+++ b/sites/portal/src/app/api/webhooks/stripe/route.ts
@@ -5,8 +5,6 @@ import { eq } from "drizzle-orm";
const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
-const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET!;
-
// Non-lazy initialization as requested, but robust check for missing key during build
const stripe = process.env.STRIPE_SECRET_KEY
? new Stripe(process.env.STRIPE_SECRET_KEY, {
From 52e1b020d1ad7117a1987118ec59ab4af32d0fd3 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:41:42 -0500
Subject: [PATCH 21/46] hello
---
packages/db/src/client.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/db/src/client.ts b/packages/db/src/client.ts
index 7261fbc..433f86e 100644
--- a/packages/db/src/client.ts
+++ b/packages/db/src/client.ts
@@ -19,7 +19,7 @@ if (DATABASE_URL) {
allowExitOnIdle: true,
connectionTimeoutMillis: 5000, // 5s timeout
idleTimeoutMillis: 2000, // 2s idle timeout
- max: 10,
+ max: 1, // Minimize connections to prevent resource exhaustion/crashes
});
if (process.env.NODE_ENV !== "production") globalForDb.conn = conn;
From 4ed5a78270917a0973e71465f5311788b8fe9f9a Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:48:45 -0500
Subject: [PATCH 22/46] no way
---
pnpm-lock.yaml | 94 +++++++++++++++++++++++++-------------------------
1 file changed, 47 insertions(+), 47 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 72cafdc..f105d32 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,7 +10,7 @@ importers:
dependencies:
'@tanstack/react-router':
specifier: ^1.141.2
- version: 1.153.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ version: 1.154.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
autoprefixer:
specifier: ^10.4.22
version: 10.4.23(postcss@8.5.6)
@@ -74,7 +74,7 @@ importers:
version: 19.2.3(@types/react@19.2.9)
prettier:
specifier: ^3.3.3
- version: 3.8.0
+ version: 3.8.1
tsx:
specifier: ^4.21.0
version: 4.21.0
@@ -113,7 +113,7 @@ importers:
version: 11.8.1(typescript@5.9.3)
drizzle-orm:
specifier: ^0.36.4
- version: 0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.1)(postgres@3.4.8)(react@19.2.3)
+ version: 0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.2)(postgres@3.4.8)(react@19.2.3)
minimatch:
specifier: ^10.1.1
version: 10.1.1
@@ -147,7 +147,7 @@ importers:
version: link:../db
drizzle-orm:
specifier: ^0.36.4
- version: 0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.1)(postgres@3.4.8)(react@19.2.3)
+ version: 0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.2)(postgres@3.4.8)(react@19.2.3)
minimatch:
specifier: ^10.1.1
version: 10.1.1
@@ -175,7 +175,7 @@ importers:
version: 0.13.10(typescript@5.9.3)(zod@3.25.76)
drizzle-orm:
specifier: ^0.36.4
- version: 0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.1)(postgres@3.4.8)(react@19.2.3)
+ version: 0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.2)(postgres@3.4.8)(react@19.2.3)
minimatch:
specifier: ^10.1.1
version: 10.1.1
@@ -184,7 +184,7 @@ importers:
version: 5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
pg:
specifier: ^8.11.3
- version: 8.17.1
+ version: 8.17.2
postgres:
specifier: ^3.4.3
version: 3.4.8
@@ -474,7 +474,7 @@ importers:
version: 9.39.2(jiti@2.6.1)
prettier:
specifier: ^3.3.3
- version: 3.8.0
+ version: 3.8.1
typescript:
specifier: ^5.6.3
version: 5.9.3
@@ -483,16 +483,16 @@ importers:
dependencies:
'@ianvs/prettier-plugin-sort-imports':
specifier: ^4.3.1
- version: 4.7.0(prettier@3.8.0)
+ version: 4.7.0(prettier@3.8.1)
minimatch:
specifier: ^10.1.1
version: 10.1.1
prettier:
specifier: ^3.3.3
- version: 3.8.0
+ version: 3.8.1
prettier-plugin-tailwindcss:
specifier: ^0.6.8
- version: 0.6.14(@ianvs/prettier-plugin-sort-imports@4.7.0(prettier@3.8.0))(prettier@3.8.0)
+ version: 0.6.14(@ianvs/prettier-plugin-sort-imports@4.7.0(prettier@3.8.1))(prettier@3.8.1)
devDependencies:
'@query/tsconfig':
specifier: workspace:*
@@ -1667,8 +1667,8 @@ packages:
peerDependencies:
react: ^18 || ^19
- '@tanstack/react-router@1.153.2':
- resolution: {integrity: sha512-fAXUBA2gZAId7h2eSHsRcgTeF8pioUz8V5rrQ+IrvA0a6IsxhbTSKLYyqUg4jRDkkcUKtM8StKtvbZCY+0IYWw==}
+ '@tanstack/react-router@1.154.2':
+ resolution: {integrity: sha512-PtzpfqB6df2jNR9AVxhYaCwgBmBOKLaZ3uWFuJCH3Art8T3r3HgeSWGC8ZlISKyDM5GWGR+4AEqXxTwU6NOz/g==}
engines: {node: '>=12'}
peerDependencies:
react: '>=18.0.0 || >=19.0.0'
@@ -1680,8 +1680,8 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- '@tanstack/router-core@1.153.2':
- resolution: {integrity: sha512-WLaR+rSNW7bj9UCJQ3SKpuh6nZBZkpGnf2mpjn/uRB6joIQ3BU7aRdhb7w9Via/MP52iaHh5sd8NY3MaLpF2tQ==}
+ '@tanstack/router-core@1.154.2':
+ resolution: {integrity: sha512-M4xkhDVk62Oguw0vKABICYR6JwFoeKwLrxsESnTk1AiSvyMrwuOJviFp3eSW/0F/VhdtOAIv5oB9PPrpUKO6NA==}
engines: {node: '>=12'}
'@tanstack/store@0.8.0':
@@ -2013,8 +2013,8 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- baseline-browser-mapping@2.9.16:
- resolution: {integrity: sha512-KeUZdBuxngy825i8xvzaK1Ncnkx0tBmb3k8DkEuqjKRkmtvNTjey2ZsNeh8Dw4lfKvbCOu9oeNx2TKm2vHqcRw==}
+ baseline-browser-mapping@2.9.17:
+ resolution: {integrity: sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==}
hasBin: true
basic-ftp@5.1.0:
@@ -3170,8 +3170,8 @@ packages:
lodash.throttle@4.1.1:
resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ lodash@4.17.23:
+ resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
log-symbols@3.0.0:
resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==}
@@ -3482,8 +3482,8 @@ packages:
pg-cloudflare@1.3.0:
resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==}
- pg-connection-string@2.10.0:
- resolution: {integrity: sha512-ur/eoPKzDx2IjPaYyXS6Y8NSblxM7X64deV2ObV57vhjsWiwLvUD6meukAzogiOsu60GO8m/3Cb6FdJsWNjwXg==}
+ pg-connection-string@2.10.1:
+ resolution: {integrity: sha512-iNzslsoeSH2/gmDDKiyMqF64DATUCWj3YJ0wP14kqcsf2TUklwimd+66yYojKwZCA7h2yRNLGug71hCBA2a4sw==}
pg-int8@1.0.1:
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
@@ -3501,8 +3501,8 @@ packages:
resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
engines: {node: '>=4'}
- pg@8.17.1:
- resolution: {integrity: sha512-EIR+jXdYNSMOrpRp7g6WgQr7SaZNZfS7IzZIO0oTNEeibq956JxeD15t3Jk3zZH0KH8DmOIx38qJfQenoE8bXQ==}
+ pg@8.17.2:
+ resolution: {integrity: sha512-vjbKdiBJRqzcYw1fNU5KuHyYvdJ1qpcQg1CeBrHFqV1pWgHeVR6j/+kX0E1AAXfyuLUGY1ICrN2ELKA/z2HWzw==}
engines: {node: '>= 16.0.0'}
peerDependencies:
pg-native: '>=3.0.1'
@@ -3639,8 +3639,8 @@ packages:
prettier-plugin-svelte:
optional: true
- prettier@3.8.0:
- resolution: {integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==}
+ prettier@3.8.1:
+ resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
engines: {node: '>=14'}
hasBin: true
@@ -4703,13 +4703,13 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
- '@ianvs/prettier-plugin-sort-imports@4.7.0(prettier@3.8.0)':
+ '@ianvs/prettier-plugin-sort-imports@4.7.0(prettier@3.8.1)':
dependencies:
'@babel/generator': 7.28.6
'@babel/parser': 7.28.6
'@babel/traverse': 7.28.6
'@babel/types': 7.28.6
- prettier: 3.8.0
+ prettier: 3.8.1
semver: 7.7.3
transitivePeerDependencies:
- supports-color
@@ -5093,11 +5093,11 @@ snapshots:
'@tanstack/query-core': 5.90.19
react: 19.2.3
- '@tanstack/react-router@1.153.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
+ '@tanstack/react-router@1.154.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
'@tanstack/history': 1.153.2
'@tanstack/react-store': 0.8.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- '@tanstack/router-core': 1.153.2
+ '@tanstack/router-core': 1.154.2
isbot: 5.1.33
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
@@ -5111,7 +5111,7 @@ snapshots:
react-dom: 19.2.3(react@19.2.3)
use-sync-external-store: 1.6.0(react@19.2.3)
- '@tanstack/router-core@1.153.2':
+ '@tanstack/router-core@1.154.2':
dependencies:
'@tanstack/history': 1.153.2
'@tanstack/store': 0.8.0
@@ -5550,7 +5550,7 @@ snapshots:
base64-js@1.5.1: {}
- baseline-browser-mapping@2.9.16: {}
+ baseline-browser-mapping@2.9.17: {}
basic-ftp@5.1.0: {}
@@ -5575,7 +5575,7 @@ snapshots:
browserslist@4.28.1:
dependencies:
- baseline-browser-mapping: 2.9.16
+ baseline-browser-mapping: 2.9.17
caniuse-lite: 1.0.30001765
electron-to-chromium: 1.5.267
node-releases: 2.0.27
@@ -5853,11 +5853,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- drizzle-orm@0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.1)(postgres@3.4.8)(react@19.2.3):
+ drizzle-orm@0.36.4(@types/pg@8.16.0)(@types/react@19.2.9)(pg@8.17.2)(postgres@3.4.8)(react@19.2.3):
optionalDependencies:
'@types/pg': 8.16.0
'@types/react': 19.2.9
- pg: 8.17.1
+ pg: 8.17.2
postgres: 3.4.8
react: 19.2.3
@@ -6562,7 +6562,7 @@ snapshots:
cli-width: 3.0.0
external-editor: 3.1.0
figures: 3.2.0
- lodash: 4.17.21
+ lodash: 4.17.23
mute-stream: 0.0.8
run-async: 2.4.1
rxjs: 6.6.7
@@ -6578,7 +6578,7 @@ snapshots:
cli-width: 3.0.0
external-editor: 3.1.0
figures: 3.2.0
- lodash: 4.17.21
+ lodash: 4.17.23
mute-stream: 0.0.8
ora: 5.4.1
run-async: 2.4.1
@@ -6862,7 +6862,7 @@ snapshots:
lodash.throttle@4.1.1: {}
- lodash@4.17.21: {}
+ lodash@4.17.23: {}
log-symbols@3.0.0:
dependencies:
@@ -6982,7 +6982,7 @@ snapshots:
dependencies:
'@next/env': 16.1.4
'@swc/helpers': 0.5.15
- baseline-browser-mapping: 2.9.16
+ baseline-browser-mapping: 2.9.17
caniuse-lite: 1.0.30001765
postcss: 8.4.31
react: 19.2.3
@@ -7195,13 +7195,13 @@ snapshots:
pg-cloudflare@1.3.0:
optional: true
- pg-connection-string@2.10.0: {}
+ pg-connection-string@2.10.1: {}
pg-int8@1.0.1: {}
- pg-pool@3.11.0(pg@8.17.1):
+ pg-pool@3.11.0(pg@8.17.2):
dependencies:
- pg: 8.17.1
+ pg: 8.17.2
pg-protocol@1.11.0: {}
@@ -7213,10 +7213,10 @@ snapshots:
postgres-date: 1.0.7
postgres-interval: 1.2.0
- pg@8.17.1:
+ pg@8.17.2:
dependencies:
- pg-connection-string: 2.10.0
- pg-pool: 3.11.0(pg@8.17.1)
+ pg-connection-string: 2.10.1
+ pg-pool: 3.11.0(pg@8.17.2)
pg-protocol: 1.11.0
pg-types: 2.2.0
pgpass: 1.0.5
@@ -7273,13 +7273,13 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-plugin-tailwindcss@0.6.14(@ianvs/prettier-plugin-sort-imports@4.7.0(prettier@3.8.0))(prettier@3.8.0):
+ prettier-plugin-tailwindcss@0.6.14(@ianvs/prettier-plugin-sort-imports@4.7.0(prettier@3.8.1))(prettier@3.8.1):
dependencies:
- prettier: 3.8.0
+ prettier: 3.8.1
optionalDependencies:
- '@ianvs/prettier-plugin-sort-imports': 4.7.0(prettier@3.8.0)
+ '@ianvs/prettier-plugin-sort-imports': 4.7.0(prettier@3.8.1)
- prettier@3.8.0: {}
+ prettier@3.8.1: {}
prop-types@15.8.1:
dependencies:
From 9e3b32d726946d885bf531c01f03ae1dd55b0a19 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 12:55:09 -0500
Subject: [PATCH 23/46] shi gonna crash
---
sites/portal/src/pages/404.tsx | 64 ++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 sites/portal/src/pages/404.tsx
diff --git a/sites/portal/src/pages/404.tsx b/sites/portal/src/pages/404.tsx
new file mode 100644
index 0000000..7f8115a
--- /dev/null
+++ b/sites/portal/src/pages/404.tsx
@@ -0,0 +1,64 @@
+import React from 'react';
+
+export default function Custom404() {
+ return (
+
+ {/* Inline background to avoid any component dependencies and context issues */}
+
+
+
+
+
+ {/* Visual depth glow */}
+
+
+
+
+ Error 404 // Lost in Space
+
+
+
+ You fell
+
+ out of place.
+
+
+
+
+
+ The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
+
+
+
+
+
+
+ );
+}
From 3c0af21fc796a6fd06beebac06cee837de87975a Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 13:00:41 -0500
Subject: [PATCH 24/46] lol
---
sites/portal/package.json | 8 ++---
sites/portal/src/app/not-found.tsx | 53 ------------------------------
2 files changed, 4 insertions(+), 57 deletions(-)
delete mode 100644 sites/portal/src/app/not-found.tsx
diff --git a/sites/portal/package.json b/sites/portal/package.json
index 99460ba..0828442 100644
--- a/sites/portal/package.json
+++ b/sites/portal/package.json
@@ -22,8 +22,8 @@
"next": "15.5.9",
"next-auth": "^5.0.0-beta.25",
"qrcode": "^1.5.4",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
"sanitize-html": "^2.17.0",
"stripe": "^20.2.0",
"superjson": "^2.2.1",
@@ -33,8 +33,8 @@
"devDependencies": {
"@types/node": "^22.10.1",
"@types/qrcode": "^1.5.6",
- "@types/react": "^18.3.1",
- "@types/react-dom": "^18.3.1",
+ "@types/react": "^19.0.0",
+ "@types/react-dom": "^19.0.0",
"@types/three": "^0.128.0",
"typescript": "^5.6.3"
}
diff --git a/sites/portal/src/app/not-found.tsx b/sites/portal/src/app/not-found.tsx
deleted file mode 100644
index 5c37db6..0000000
--- a/sites/portal/src/app/not-found.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-export default function NotFound() {
- return (
-
- {/* Inline background to avoid any component dependencies */}
-
-
-
-
-
- {/* Visual depth glow */}
-
-
-
-
- Error 404 // Lost in Space
-
-
-
- You fell
-
- out of place.
-
-
-
-
-
- The path you followed doesn't exist in our current deployment. Let's get you back to familiar territory.
-
-
-
-
-
-
- );
-}
From 751c79a991c30882d00ec541bfafff900b01e54a Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 13:02:15 -0500
Subject: [PATCH 25/46] lol2
---
pnpm-lock.yaml | 127 ++++++++++++-------------------------------------
1 file changed, 30 insertions(+), 97 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f105d32..3386844 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -358,40 +358,40 @@ importers:
version: link:../../packages/db
'@tanstack/react-query':
specifier: ^5.90.12
- version: 5.90.19(react@18.3.1)
+ version: 5.90.19(react@19.2.3)
'@trpc/client':
specifier: ^11.7.2
version: 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
'@trpc/next':
specifier: ^11.7.2
- version: 11.8.1(@tanstack/react-query@5.90.19(react@18.3.1))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@18.3.1))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)
+ version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
'@trpc/react-query':
specifier: ^11.7.2
- version: 11.8.1(@tanstack/react-query@5.90.19(react@18.3.1))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)
+ version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
'@trpc/server':
specifier: ^11.8.0
version: 11.8.1(typescript@5.9.3)
'@yudiel/react-qr-scanner':
specifier: ^2.5.0
- version: 2.5.1(@types/emscripten@1.41.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 2.5.1(@types/emscripten@1.41.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
minimatch:
specifier: ^10.1.1
version: 10.1.1
next:
specifier: 15.5.9
- version: 15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2)
+ version: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
next-auth:
specifier: ^5.0.0-beta.25
- version: 5.0.0-beta.30(next@15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2))(react@18.3.1)
+ version: 5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
qrcode:
specifier: ^1.5.4
version: 1.5.4
react:
- specifier: ^18.3.1
- version: 18.3.1
+ specifier: ^19.0.0
+ version: 19.2.3
react-dom:
- specifier: ^18.3.1
- version: 18.3.1(react@18.3.1)
+ specifier: ^19.0.0
+ version: 19.2.3(react@19.2.3)
sanitize-html:
specifier: ^2.17.0
version: 2.17.0
@@ -415,11 +415,11 @@ importers:
specifier: ^1.5.6
version: 1.5.6
'@types/react':
- specifier: ^18.3.1
- version: 18.3.27
+ specifier: ^19.0.0
+ version: 19.2.9
'@types/react-dom':
- specifier: ^18.3.1
- version: 18.3.7(@types/react@18.3.27)
+ specifier: ^19.0.0
+ version: 19.2.3(@types/react@19.2.9)
'@types/three':
specifier: ^0.128.0
version: 0.128.0
@@ -1785,17 +1785,9 @@ packages:
'@types/pg@8.16.0':
resolution: {integrity: sha512-RmhMd/wD+CF8Dfo+cVIy3RR5cl8CyfXQ0tGgW6XBL8L4LM/UTEbNXYRbLwU6w+CgrKBNbrQWt4FUtTfaU5jSYQ==}
- '@types/prop-types@15.7.15':
- resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
-
'@types/qrcode@1.5.6':
resolution: {integrity: sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==}
- '@types/react-dom@18.3.7':
- resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
- peerDependencies:
- '@types/react': ^18.0.0
-
'@types/react-dom@19.2.3':
resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
peerDependencies:
@@ -1804,9 +1796,6 @@ packages:
'@types/react-scroll@1.8.10':
resolution: {integrity: sha512-RD4Z7grbdNGOKwKnUBKar6zNxqaW3n8m9QSrfvljW+gmkj1GArb8AFBomVr6xMOgHPD3v1uV3BrIf01py57daQ==}
- '@types/react@18.3.27':
- resolution: {integrity: sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==}
-
'@types/react@19.2.9':
resolution: {integrity: sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==}
@@ -3680,11 +3669,6 @@ packages:
chart.js: ^4.1.1
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom@18.3.1:
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
-
react-dom@19.2.3:
resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==}
peerDependencies:
@@ -3699,10 +3683,6 @@ packages:
react: ^15.5.4 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^15.5.4 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
-
react@19.2.3:
resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==}
engines: {node: '>=0.10.0'}
@@ -3806,9 +3786,6 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
- scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
-
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
@@ -5083,11 +5060,6 @@ snapshots:
'@tanstack/query-core@5.90.19': {}
- '@tanstack/react-query@5.90.19(react@18.3.1)':
- dependencies:
- '@tanstack/query-core': 5.90.19
- react: 18.3.1
-
'@tanstack/react-query@5.90.19(react@19.2.3)':
dependencies:
'@tanstack/query-core': 5.90.19
@@ -5130,17 +5102,17 @@ snapshots:
'@trpc/server': 11.8.1(typescript@5.9.3)
typescript: 5.9.3
- '@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@18.3.1))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@18.3.1))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)':
+ '@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
dependencies:
'@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
'@trpc/server': 11.8.1(typescript@5.9.3)
- next: 15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
+ next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
typescript: 5.9.3
optionalDependencies:
- '@tanstack/react-query': 5.90.19(react@18.3.1)
- '@trpc/react-query': 11.8.1(@tanstack/react-query@5.90.19(react@18.3.1))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)
+ '@tanstack/react-query': 5.90.19(react@19.2.3)
+ '@trpc/react-query': 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
'@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
dependencies:
@@ -5154,15 +5126,6 @@ snapshots:
'@tanstack/react-query': 5.90.19(react@19.2.3)
'@trpc/react-query': 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
- '@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@18.3.1))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.9.3)':
- dependencies:
- '@tanstack/react-query': 5.90.19(react@18.3.1)
- '@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
- '@trpc/server': 11.8.1(typescript@5.9.3)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- typescript: 5.9.3
-
'@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
dependencies:
'@tanstack/react-query': 5.90.19(react@19.2.3)
@@ -5263,16 +5226,10 @@ snapshots:
pg-protocol: 1.11.0
pg-types: 2.2.0
- '@types/prop-types@15.7.15': {}
-
'@types/qrcode@1.5.6':
dependencies:
'@types/node': 22.19.7
- '@types/react-dom@18.3.7(@types/react@18.3.27)':
- dependencies:
- '@types/react': 18.3.27
-
'@types/react-dom@19.2.3(@types/react@19.2.9)':
dependencies:
'@types/react': 19.2.9
@@ -5281,11 +5238,6 @@ snapshots:
dependencies:
'@types/react': 19.2.9
- '@types/react@18.3.27':
- dependencies:
- '@types/prop-types': 15.7.15
- csstype: 3.2.3
-
'@types/react@19.2.9':
dependencies:
csstype: 3.2.3
@@ -5393,11 +5345,11 @@ snapshots:
'@typescript-eslint/types': 8.53.1
eslint-visitor-keys: 4.2.1
- '@yudiel/react-qr-scanner@2.5.1(@types/emscripten@1.41.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@yudiel/react-qr-scanner@2.5.1(@types/emscripten@1.41.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
barcode-detector: 3.0.8(@types/emscripten@1.41.5)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
webrtc-adapter: 9.0.3
transitivePeerDependencies:
- '@types/emscripten'
@@ -6942,11 +6894,11 @@ snapshots:
netmask@2.0.2: {}
- next-auth@5.0.0-beta.30(next@15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2))(react@18.3.1):
+ next-auth@5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
dependencies:
'@auth/core': 0.41.0
- next: 15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2)
- react: 18.3.1
+ next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
+ react: 19.2.3
next-auth@5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
dependencies:
@@ -6954,15 +6906,15 @@ snapshots:
next: 16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
react: 19.2.3
- next@15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.97.2):
+ next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2):
dependencies:
'@next/env': 15.5.9
'@swc/helpers': 0.5.15
caniuse-lite: 1.0.30001765
postcss: 8.4.31
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.1.6(react@18.3.1)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ styled-jsx: 5.1.6(react@19.2.3)
optionalDependencies:
'@next/swc-darwin-arm64': 15.5.7
'@next/swc-darwin-x64': 15.5.7
@@ -7328,12 +7280,6 @@ snapshots:
chart.js: 4.5.1
react: 19.2.3
- react-dom@18.3.1(react@18.3.1):
- dependencies:
- loose-envify: 1.4.0
- react: 18.3.1
- scheduler: 0.23.2
-
react-dom@19.2.3(react@19.2.3):
dependencies:
react: 19.2.3
@@ -7348,10 +7294,6 @@ snapshots:
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- react@18.3.1:
- dependencies:
- loose-envify: 1.4.0
-
react@19.2.3: {}
readable-stream@3.6.2:
@@ -7476,10 +7418,6 @@ snapshots:
optionalDependencies:
'@parcel/watcher': 2.5.4
- scheduler@0.23.2:
- dependencies:
- loose-envify: 1.4.0
-
scheduler@0.27.0: {}
sdp@3.2.1: {}
@@ -7714,11 +7652,6 @@ snapshots:
optionalDependencies:
'@types/node': 22.19.7
- styled-jsx@5.1.6(react@18.3.1):
- dependencies:
- client-only: 0.0.1
- react: 18.3.1
-
styled-jsx@5.1.6(react@19.2.3):
dependencies:
client-only: 0.0.1
From 5e4b03883011bbb24097c5082a06e824925d832d Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 13:15:25 -0500
Subject: [PATCH 26/46] another
---
sites/portal/src/app/providers.tsx | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/sites/portal/src/app/providers.tsx b/sites/portal/src/app/providers.tsx
index fab9755..10fdec6 100644
--- a/sites/portal/src/app/providers.tsx
+++ b/sites/portal/src/app/providers.tsx
@@ -8,7 +8,7 @@ import superjson from 'superjson';
import { trpc } from '@/lib/trpc';
export function Providers({ children }: { children: React.ReactNode }) {
- const [mounted, setMounted] = useState(false);
+
const [queryClient] = useState(() => new QueryClient({
defaultOptions: {
@@ -34,15 +34,7 @@ export function Providers({ children }: { children: React.ReactNode }) {
})
);
- useEffect(() => {
- setMounted(true);
- }, []);
- // During SSR/static generation, render children directly without providers
- // This prevents useContext errors during prerendering
- if (!mounted) {
- return <>{children}>;
- }
return (
From 0628de9d5e57e35109e788ab8c9f06b7262e3c2a Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 13:17:17 -0500
Subject: [PATCH 27/46] neweser
---
pnpm-lock.yaml | 148 ++------------------------------------
sites/portal/package.json | 2 +-
2 files changed, 5 insertions(+), 145 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3386844..5d45818 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -364,7 +364,7 @@ importers:
version: 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
'@trpc/next':
specifier: ^11.7.2
- version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
+ version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
'@trpc/react-query':
specifier: ^11.7.2
version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
@@ -378,11 +378,11 @@ importers:
specifier: ^10.1.1
version: 10.1.1
next:
- specifier: 15.5.9
- version: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
+ specifier: ^16.0.0
+ version: 16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
next-auth:
specifier: ^5.0.0-beta.25
- version: 5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
+ version: 5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
qrcode:
specifier: ^1.5.4
version: 1.5.4
@@ -1318,105 +1318,54 @@ packages:
'@next/bundle-analyzer@16.1.4':
resolution: {integrity: sha512-JpZKyFfPGVb9Vbbry0vhluvqAUbaGrI368Gjl5UZg+LEZhiBLc74Am+VEtjLp5RWxgn2dC1ymtQh+jeVu74WJQ==}
- '@next/env@15.5.9':
- resolution: {integrity: sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg==}
-
'@next/env@16.1.4':
resolution: {integrity: sha512-gkrXnZyxPUy0Gg6SrPQPccbNVLSP3vmW8LU5dwEttEEC1RwDivk8w4O+sZIjFvPrSICXyhQDCG+y3VmjlJf+9A==}
'@next/eslint-plugin-next@16.1.4':
resolution: {integrity: sha512-38WMjGP8y+1MN4bcZFs+GTcBe0iem5GGTzFE5GWW/dWdRKde7LOXH3lQT2QuoquVWyfl2S0fQRchGmeacGZ4Wg==}
- '@next/swc-darwin-arm64@15.5.7':
- resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
'@next/swc-darwin-arm64@16.1.4':
resolution: {integrity: sha512-T8atLKuvk13XQUdVLCv1ZzMPgLPW0+DWWbHSQXs0/3TjPrKNxTmUIhOEaoEyl3Z82k8h/gEtqyuoZGv6+Ugawg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@15.5.7':
- resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
'@next/swc-darwin-x64@16.1.4':
resolution: {integrity: sha512-AKC/qVjUGUQDSPI6gESTx0xOnOPQ5gttogNS3o6bA83yiaSZJek0Am5yXy82F1KcZCx3DdOwdGPZpQCluonuxg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@15.5.7':
- resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
'@next/swc-linux-arm64-gnu@16.1.4':
resolution: {integrity: sha512-POQ65+pnYOkZNdngWfMEt7r53bzWiKkVNbjpmCt1Zb3V6lxJNXSsjwRuTQ8P/kguxDC8LRkqaL3vvsFrce4dMQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@15.5.7':
- resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
'@next/swc-linux-arm64-musl@16.1.4':
resolution: {integrity: sha512-3Wm0zGYVCs6qDFAiSSDL+Z+r46EdtCv/2l+UlIdMbAq9hPJBvGu/rZOeuvCaIUjbArkmXac8HnTyQPJFzFWA0Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@15.5.7':
- resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
'@next/swc-linux-x64-gnu@16.1.4':
resolution: {integrity: sha512-lWAYAezFinaJiD5Gv8HDidtsZdT3CDaCeqoPoJjeB57OqzvMajpIhlZFce5sCAH6VuX4mdkxCRqecCJFwfm2nQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@15.5.7':
- resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
'@next/swc-linux-x64-musl@16.1.4':
resolution: {integrity: sha512-fHaIpT7x4gA6VQbdEpYUXRGyge/YbRrkG6DXM60XiBqDM2g2NcrsQaIuj375egnGFkJow4RHacgBOEsHfGbiUw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@15.5.7':
- resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
'@next/swc-win32-arm64-msvc@16.1.4':
resolution: {integrity: sha512-MCrXxrTSE7jPN1NyXJr39E+aNFBrQZtO154LoCz7n99FuKqJDekgxipoodLNWdQP7/DZ5tKMc/efybx1l159hw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@15.5.7':
- resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
'@next/swc-win32-x64-msvc@16.1.4':
resolution: {integrity: sha512-JSVlm9MDhmTXw/sO2PE/MRj+G6XOSMZB+BcZ0a7d6KwVFZVpkHcb2okyoYFBaco6LeiL53BBklRlOrDDbOeE5w==}
engines: {node: '>= 10'}
@@ -3276,27 +3225,6 @@ packages:
nodemailer:
optional: true
- next@15.5.9:
- resolution: {integrity: sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg==}
- engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
- hasBin: true
- peerDependencies:
- '@opentelemetry/api': ^1.1.0
- '@playwright/test': ^1.51.1
- babel-plugin-react-compiler: '*'
- react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
- react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
- sass: ^1.3.0
- peerDependenciesMeta:
- '@opentelemetry/api':
- optional: true
- '@playwright/test':
- optional: true
- babel-plugin-react-compiler:
- optional: true
- sass:
- optional: true
-
next@16.1.4:
resolution: {integrity: sha512-gKSecROqisnV7Buen5BfjmXAm7Xlpx9o2ueVQRo5DxQcjC8d330dOM1xiGWc2k3Dcnz0In3VybyRPOsudwgiqQ==}
engines: {node: '>=20.9.0'}
@@ -4827,59 +4755,33 @@ snapshots:
- bufferutil
- utf-8-validate
- '@next/env@15.5.9': {}
-
'@next/env@16.1.4': {}
'@next/eslint-plugin-next@16.1.4':
dependencies:
fast-glob: 3.3.1
- '@next/swc-darwin-arm64@15.5.7':
- optional: true
-
'@next/swc-darwin-arm64@16.1.4':
optional: true
- '@next/swc-darwin-x64@15.5.7':
- optional: true
-
'@next/swc-darwin-x64@16.1.4':
optional: true
- '@next/swc-linux-arm64-gnu@15.5.7':
- optional: true
-
'@next/swc-linux-arm64-gnu@16.1.4':
optional: true
- '@next/swc-linux-arm64-musl@15.5.7':
- optional: true
-
'@next/swc-linux-arm64-musl@16.1.4':
optional: true
- '@next/swc-linux-x64-gnu@15.5.7':
- optional: true
-
'@next/swc-linux-x64-gnu@16.1.4':
optional: true
- '@next/swc-linux-x64-musl@15.5.7':
- optional: true
-
'@next/swc-linux-x64-musl@16.1.4':
optional: true
- '@next/swc-win32-arm64-msvc@15.5.7':
- optional: true
-
'@next/swc-win32-arm64-msvc@16.1.4':
optional: true
- '@next/swc-win32-x64-msvc@15.5.7':
- optional: true
-
'@next/swc-win32-x64-msvc@16.1.4':
optional: true
@@ -5102,18 +5004,6 @@ snapshots:
'@trpc/server': 11.8.1(typescript@5.9.3)
typescript: 5.9.3
- '@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
- dependencies:
- '@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
- '@trpc/server': 11.8.1(typescript@5.9.3)
- next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- typescript: 5.9.3
- optionalDependencies:
- '@tanstack/react-query': 5.90.19(react@19.2.3)
- '@trpc/react-query': 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
-
'@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
dependencies:
'@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
@@ -6894,42 +6784,12 @@ snapshots:
netmask@2.0.2: {}
- next-auth@5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
- dependencies:
- '@auth/core': 0.41.0
- next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
- react: 19.2.3
-
next-auth@5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
dependencies:
'@auth/core': 0.41.0
next: 16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
react: 19.2.3
- next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2):
- dependencies:
- '@next/env': 15.5.9
- '@swc/helpers': 0.5.15
- caniuse-lite: 1.0.30001765
- postcss: 8.4.31
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- styled-jsx: 5.1.6(react@19.2.3)
- optionalDependencies:
- '@next/swc-darwin-arm64': 15.5.7
- '@next/swc-darwin-x64': 15.5.7
- '@next/swc-linux-arm64-gnu': 15.5.7
- '@next/swc-linux-arm64-musl': 15.5.7
- '@next/swc-linux-x64-gnu': 15.5.7
- '@next/swc-linux-x64-musl': 15.5.7
- '@next/swc-win32-arm64-msvc': 15.5.7
- '@next/swc-win32-x64-msvc': 15.5.7
- sass: 1.97.2
- sharp: 0.34.5
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
-
next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2):
dependencies:
'@next/env': 16.1.4
diff --git a/sites/portal/package.json b/sites/portal/package.json
index 0828442..549196a 100644
--- a/sites/portal/package.json
+++ b/sites/portal/package.json
@@ -19,7 +19,7 @@
"@trpc/server": "^11.8.0",
"@yudiel/react-qr-scanner": "^2.5.0",
"minimatch": "^10.1.1",
- "next": "15.5.9",
+ "next": "^16.0.0",
"next-auth": "^5.0.0-beta.25",
"qrcode": "^1.5.4",
"react": "^19.0.0",
From 0b792ba137af725b29b991583dce72ea505299b9 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 13:18:17 -0500
Subject: [PATCH 28/46] hello
---
sites/portal/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sites/portal/package.json b/sites/portal/package.json
index 549196a..0828442 100644
--- a/sites/portal/package.json
+++ b/sites/portal/package.json
@@ -19,7 +19,7 @@
"@trpc/server": "^11.8.0",
"@yudiel/react-qr-scanner": "^2.5.0",
"minimatch": "^10.1.1",
- "next": "^16.0.0",
+ "next": "15.5.9",
"next-auth": "^5.0.0-beta.25",
"qrcode": "^1.5.4",
"react": "^19.0.0",
From 5fffed351df1829d2aaa2f89e331d90dcded5bfe Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 13:18:58 -0500
Subject: [PATCH 29/46] yoooo
---
pnpm-lock.yaml | 148 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 144 insertions(+), 4 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5d45818..3386844 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -364,7 +364,7 @@ importers:
version: 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
'@trpc/next':
specifier: ^11.7.2
- version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
+ version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
'@trpc/react-query':
specifier: ^11.7.2
version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
@@ -378,11 +378,11 @@ importers:
specifier: ^10.1.1
version: 10.1.1
next:
- specifier: ^16.0.0
- version: 16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
+ specifier: 15.5.9
+ version: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
next-auth:
specifier: ^5.0.0-beta.25
- version: 5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
+ version: 5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
qrcode:
specifier: ^1.5.4
version: 1.5.4
@@ -1318,54 +1318,105 @@ packages:
'@next/bundle-analyzer@16.1.4':
resolution: {integrity: sha512-JpZKyFfPGVb9Vbbry0vhluvqAUbaGrI368Gjl5UZg+LEZhiBLc74Am+VEtjLp5RWxgn2dC1ymtQh+jeVu74WJQ==}
+ '@next/env@15.5.9':
+ resolution: {integrity: sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg==}
+
'@next/env@16.1.4':
resolution: {integrity: sha512-gkrXnZyxPUy0Gg6SrPQPccbNVLSP3vmW8LU5dwEttEEC1RwDivk8w4O+sZIjFvPrSICXyhQDCG+y3VmjlJf+9A==}
'@next/eslint-plugin-next@16.1.4':
resolution: {integrity: sha512-38WMjGP8y+1MN4bcZFs+GTcBe0iem5GGTzFE5GWW/dWdRKde7LOXH3lQT2QuoquVWyfl2S0fQRchGmeacGZ4Wg==}
+ '@next/swc-darwin-arm64@15.5.7':
+ resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
'@next/swc-darwin-arm64@16.1.4':
resolution: {integrity: sha512-T8atLKuvk13XQUdVLCv1ZzMPgLPW0+DWWbHSQXs0/3TjPrKNxTmUIhOEaoEyl3Z82k8h/gEtqyuoZGv6+Ugawg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
+ '@next/swc-darwin-x64@15.5.7':
+ resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
'@next/swc-darwin-x64@16.1.4':
resolution: {integrity: sha512-AKC/qVjUGUQDSPI6gESTx0xOnOPQ5gttogNS3o6bA83yiaSZJek0Am5yXy82F1KcZCx3DdOwdGPZpQCluonuxg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
+ '@next/swc-linux-arm64-gnu@15.5.7':
+ resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
'@next/swc-linux-arm64-gnu@16.1.4':
resolution: {integrity: sha512-POQ65+pnYOkZNdngWfMEt7r53bzWiKkVNbjpmCt1Zb3V6lxJNXSsjwRuTQ8P/kguxDC8LRkqaL3vvsFrce4dMQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ '@next/swc-linux-arm64-musl@15.5.7':
+ resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
'@next/swc-linux-arm64-musl@16.1.4':
resolution: {integrity: sha512-3Wm0zGYVCs6qDFAiSSDL+Z+r46EdtCv/2l+UlIdMbAq9hPJBvGu/rZOeuvCaIUjbArkmXac8HnTyQPJFzFWA0Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ '@next/swc-linux-x64-gnu@15.5.7':
+ resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
'@next/swc-linux-x64-gnu@16.1.4':
resolution: {integrity: sha512-lWAYAezFinaJiD5Gv8HDidtsZdT3CDaCeqoPoJjeB57OqzvMajpIhlZFce5sCAH6VuX4mdkxCRqecCJFwfm2nQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ '@next/swc-linux-x64-musl@15.5.7':
+ resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
'@next/swc-linux-x64-musl@16.1.4':
resolution: {integrity: sha512-fHaIpT7x4gA6VQbdEpYUXRGyge/YbRrkG6DXM60XiBqDM2g2NcrsQaIuj375egnGFkJow4RHacgBOEsHfGbiUw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ '@next/swc-win32-arm64-msvc@15.5.7':
+ resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
'@next/swc-win32-arm64-msvc@16.1.4':
resolution: {integrity: sha512-MCrXxrTSE7jPN1NyXJr39E+aNFBrQZtO154LoCz7n99FuKqJDekgxipoodLNWdQP7/DZ5tKMc/efybx1l159hw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
+ '@next/swc-win32-x64-msvc@15.5.7':
+ resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
'@next/swc-win32-x64-msvc@16.1.4':
resolution: {integrity: sha512-JSVlm9MDhmTXw/sO2PE/MRj+G6XOSMZB+BcZ0a7d6KwVFZVpkHcb2okyoYFBaco6LeiL53BBklRlOrDDbOeE5w==}
engines: {node: '>= 10'}
@@ -3225,6 +3276,27 @@ packages:
nodemailer:
optional: true
+ next@15.5.9:
+ resolution: {integrity: sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg==}
+ engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.51.1
+ babel-plugin-react-compiler: '*'
+ react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
+
next@16.1.4:
resolution: {integrity: sha512-gKSecROqisnV7Buen5BfjmXAm7Xlpx9o2ueVQRo5DxQcjC8d330dOM1xiGWc2k3Dcnz0In3VybyRPOsudwgiqQ==}
engines: {node: '>=20.9.0'}
@@ -4755,33 +4827,59 @@ snapshots:
- bufferutil
- utf-8-validate
+ '@next/env@15.5.9': {}
+
'@next/env@16.1.4': {}
'@next/eslint-plugin-next@16.1.4':
dependencies:
fast-glob: 3.3.1
+ '@next/swc-darwin-arm64@15.5.7':
+ optional: true
+
'@next/swc-darwin-arm64@16.1.4':
optional: true
+ '@next/swc-darwin-x64@15.5.7':
+ optional: true
+
'@next/swc-darwin-x64@16.1.4':
optional: true
+ '@next/swc-linux-arm64-gnu@15.5.7':
+ optional: true
+
'@next/swc-linux-arm64-gnu@16.1.4':
optional: true
+ '@next/swc-linux-arm64-musl@15.5.7':
+ optional: true
+
'@next/swc-linux-arm64-musl@16.1.4':
optional: true
+ '@next/swc-linux-x64-gnu@15.5.7':
+ optional: true
+
'@next/swc-linux-x64-gnu@16.1.4':
optional: true
+ '@next/swc-linux-x64-musl@15.5.7':
+ optional: true
+
'@next/swc-linux-x64-musl@16.1.4':
optional: true
+ '@next/swc-win32-arm64-msvc@15.5.7':
+ optional: true
+
'@next/swc-win32-arm64-msvc@16.1.4':
optional: true
+ '@next/swc-win32-x64-msvc@15.5.7':
+ optional: true
+
'@next/swc-win32-x64-msvc@16.1.4':
optional: true
@@ -5004,6 +5102,18 @@ snapshots:
'@trpc/server': 11.8.1(typescript@5.9.3)
typescript: 5.9.3
+ '@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
+ dependencies:
+ '@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
+ '@trpc/server': 11.8.1(typescript@5.9.3)
+ next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ typescript: 5.9.3
+ optionalDependencies:
+ '@tanstack/react-query': 5.90.19(react@19.2.3)
+ '@trpc/react-query': 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
+
'@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
dependencies:
'@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
@@ -6784,12 +6894,42 @@ snapshots:
netmask@2.0.2: {}
+ next-auth@5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
+ dependencies:
+ '@auth/core': 0.41.0
+ next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
+ react: 19.2.3
+
next-auth@5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
dependencies:
'@auth/core': 0.41.0
next: 16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
react: 19.2.3
+ next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2):
+ dependencies:
+ '@next/env': 15.5.9
+ '@swc/helpers': 0.5.15
+ caniuse-lite: 1.0.30001765
+ postcss: 8.4.31
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ styled-jsx: 5.1.6(react@19.2.3)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 15.5.7
+ '@next/swc-darwin-x64': 15.5.7
+ '@next/swc-linux-arm64-gnu': 15.5.7
+ '@next/swc-linux-arm64-musl': 15.5.7
+ '@next/swc-linux-x64-gnu': 15.5.7
+ '@next/swc-linux-x64-musl': 15.5.7
+ '@next/swc-win32-arm64-msvc': 15.5.7
+ '@next/swc-win32-x64-msvc': 15.5.7
+ sass: 1.97.2
+ sharp: 0.34.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2):
dependencies:
'@next/env': 16.1.4
From a81fffa44f790b009faa53d0d7af16efd24acb31 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 15:01:19 -0500
Subject: [PATCH 30/46] yoooo is ts thing on
---
.nvmrc | 2 +-
pnpm-lock.yaml | 152 ++---------------------------------
sites/portal/next.config.mjs | 1 -
sites/portal/package.json | 6 +-
4 files changed, 10 insertions(+), 151 deletions(-)
diff --git a/.nvmrc b/.nvmrc
index 8b0beab..7af24b7 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-20.11.0
+22.11.0
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3386844..c08b775 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -364,7 +364,7 @@ importers:
version: 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
'@trpc/next':
specifier: ^11.7.2
- version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
+ version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
'@trpc/react-query':
specifier: ^11.7.2
version: 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
@@ -378,19 +378,19 @@ importers:
specifier: ^10.1.1
version: 10.1.1
next:
- specifier: 15.5.9
- version: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
+ specifier: ^16.1.4
+ version: 16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
next-auth:
specifier: ^5.0.0-beta.25
- version: 5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
+ version: 5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3)
qrcode:
specifier: ^1.5.4
version: 1.5.4
react:
- specifier: ^19.0.0
+ specifier: ^19.2.3
version: 19.2.3
react-dom:
- specifier: ^19.0.0
+ specifier: ^19.2.3
version: 19.2.3(react@19.2.3)
sanitize-html:
specifier: ^2.17.0
@@ -1318,105 +1318,54 @@ packages:
'@next/bundle-analyzer@16.1.4':
resolution: {integrity: sha512-JpZKyFfPGVb9Vbbry0vhluvqAUbaGrI368Gjl5UZg+LEZhiBLc74Am+VEtjLp5RWxgn2dC1ymtQh+jeVu74WJQ==}
- '@next/env@15.5.9':
- resolution: {integrity: sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg==}
-
'@next/env@16.1.4':
resolution: {integrity: sha512-gkrXnZyxPUy0Gg6SrPQPccbNVLSP3vmW8LU5dwEttEEC1RwDivk8w4O+sZIjFvPrSICXyhQDCG+y3VmjlJf+9A==}
'@next/eslint-plugin-next@16.1.4':
resolution: {integrity: sha512-38WMjGP8y+1MN4bcZFs+GTcBe0iem5GGTzFE5GWW/dWdRKde7LOXH3lQT2QuoquVWyfl2S0fQRchGmeacGZ4Wg==}
- '@next/swc-darwin-arm64@15.5.7':
- resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
'@next/swc-darwin-arm64@16.1.4':
resolution: {integrity: sha512-T8atLKuvk13XQUdVLCv1ZzMPgLPW0+DWWbHSQXs0/3TjPrKNxTmUIhOEaoEyl3Z82k8h/gEtqyuoZGv6+Ugawg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@15.5.7':
- resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
'@next/swc-darwin-x64@16.1.4':
resolution: {integrity: sha512-AKC/qVjUGUQDSPI6gESTx0xOnOPQ5gttogNS3o6bA83yiaSZJek0Am5yXy82F1KcZCx3DdOwdGPZpQCluonuxg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@15.5.7':
- resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
'@next/swc-linux-arm64-gnu@16.1.4':
resolution: {integrity: sha512-POQ65+pnYOkZNdngWfMEt7r53bzWiKkVNbjpmCt1Zb3V6lxJNXSsjwRuTQ8P/kguxDC8LRkqaL3vvsFrce4dMQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@15.5.7':
- resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
'@next/swc-linux-arm64-musl@16.1.4':
resolution: {integrity: sha512-3Wm0zGYVCs6qDFAiSSDL+Z+r46EdtCv/2l+UlIdMbAq9hPJBvGu/rZOeuvCaIUjbArkmXac8HnTyQPJFzFWA0Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@15.5.7':
- resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
'@next/swc-linux-x64-gnu@16.1.4':
resolution: {integrity: sha512-lWAYAezFinaJiD5Gv8HDidtsZdT3CDaCeqoPoJjeB57OqzvMajpIhlZFce5sCAH6VuX4mdkxCRqecCJFwfm2nQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@15.5.7':
- resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
'@next/swc-linux-x64-musl@16.1.4':
resolution: {integrity: sha512-fHaIpT7x4gA6VQbdEpYUXRGyge/YbRrkG6DXM60XiBqDM2g2NcrsQaIuj375egnGFkJow4RHacgBOEsHfGbiUw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@15.5.7':
- resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
'@next/swc-win32-arm64-msvc@16.1.4':
resolution: {integrity: sha512-MCrXxrTSE7jPN1NyXJr39E+aNFBrQZtO154LoCz7n99FuKqJDekgxipoodLNWdQP7/DZ5tKMc/efybx1l159hw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@15.5.7':
- resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
'@next/swc-win32-x64-msvc@16.1.4':
resolution: {integrity: sha512-JSVlm9MDhmTXw/sO2PE/MRj+G6XOSMZB+BcZ0a7d6KwVFZVpkHcb2okyoYFBaco6LeiL53BBklRlOrDDbOeE5w==}
engines: {node: '>= 10'}
@@ -3276,27 +3225,6 @@ packages:
nodemailer:
optional: true
- next@15.5.9:
- resolution: {integrity: sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg==}
- engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
- hasBin: true
- peerDependencies:
- '@opentelemetry/api': ^1.1.0
- '@playwright/test': ^1.51.1
- babel-plugin-react-compiler: '*'
- react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
- react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
- sass: ^1.3.0
- peerDependenciesMeta:
- '@opentelemetry/api':
- optional: true
- '@playwright/test':
- optional: true
- babel-plugin-react-compiler:
- optional: true
- sass:
- optional: true
-
next@16.1.4:
resolution: {integrity: sha512-gKSecROqisnV7Buen5BfjmXAm7Xlpx9o2ueVQRo5DxQcjC8d330dOM1xiGWc2k3Dcnz0In3VybyRPOsudwgiqQ==}
engines: {node: '>=20.9.0'}
@@ -4827,59 +4755,33 @@ snapshots:
- bufferutil
- utf-8-validate
- '@next/env@15.5.9': {}
-
'@next/env@16.1.4': {}
'@next/eslint-plugin-next@16.1.4':
dependencies:
fast-glob: 3.3.1
- '@next/swc-darwin-arm64@15.5.7':
- optional: true
-
'@next/swc-darwin-arm64@16.1.4':
optional: true
- '@next/swc-darwin-x64@15.5.7':
- optional: true
-
'@next/swc-darwin-x64@16.1.4':
optional: true
- '@next/swc-linux-arm64-gnu@15.5.7':
- optional: true
-
'@next/swc-linux-arm64-gnu@16.1.4':
optional: true
- '@next/swc-linux-arm64-musl@15.5.7':
- optional: true
-
'@next/swc-linux-arm64-musl@16.1.4':
optional: true
- '@next/swc-linux-x64-gnu@15.5.7':
- optional: true
-
'@next/swc-linux-x64-gnu@16.1.4':
optional: true
- '@next/swc-linux-x64-musl@15.5.7':
- optional: true
-
'@next/swc-linux-x64-musl@16.1.4':
optional: true
- '@next/swc-win32-arm64-msvc@15.5.7':
- optional: true
-
'@next/swc-win32-arm64-msvc@16.1.4':
optional: true
- '@next/swc-win32-x64-msvc@15.5.7':
- optional: true
-
'@next/swc-win32-x64-msvc@16.1.4':
optional: true
@@ -5102,18 +5004,6 @@ snapshots:
'@trpc/server': 11.8.1(typescript@5.9.3)
typescript: 5.9.3
- '@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
- dependencies:
- '@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
- '@trpc/server': 11.8.1(typescript@5.9.3)
- next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- typescript: 5.9.3
- optionalDependencies:
- '@tanstack/react-query': 5.90.19(react@19.2.3)
- '@trpc/react-query': 11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
-
'@trpc/next@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.8.1(@tanstack/react-query@5.90.19(react@19.2.3))(@trpc/client@11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@trpc/server@11.8.1(typescript@5.9.3))(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
dependencies:
'@trpc/client': 11.8.1(@trpc/server@11.8.1(typescript@5.9.3))(typescript@5.9.3)
@@ -6894,42 +6784,12 @@ snapshots:
netmask@2.0.2: {}
- next-auth@5.0.0-beta.30(next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
- dependencies:
- '@auth/core': 0.41.0
- next: 15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
- react: 19.2.3
-
next-auth@5.0.0-beta.30(next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2))(react@19.2.3):
dependencies:
'@auth/core': 0.41.0
next: 16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2)
react: 19.2.3
- next@15.5.9(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2):
- dependencies:
- '@next/env': 15.5.9
- '@swc/helpers': 0.5.15
- caniuse-lite: 1.0.30001765
- postcss: 8.4.31
- react: 19.2.3
- react-dom: 19.2.3(react@19.2.3)
- styled-jsx: 5.1.6(react@19.2.3)
- optionalDependencies:
- '@next/swc-darwin-arm64': 15.5.7
- '@next/swc-darwin-x64': 15.5.7
- '@next/swc-linux-arm64-gnu': 15.5.7
- '@next/swc-linux-arm64-musl': 15.5.7
- '@next/swc-linux-x64-gnu': 15.5.7
- '@next/swc-linux-x64-musl': 15.5.7
- '@next/swc-win32-arm64-msvc': 15.5.7
- '@next/swc-win32-x64-msvc': 15.5.7
- sass: 1.97.2
- sharp: 0.34.5
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
-
next@16.1.4(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.97.2):
dependencies:
'@next/env': 16.1.4
diff --git a/sites/portal/next.config.mjs b/sites/portal/next.config.mjs
index 3509f1b..4cdc7d0 100644
--- a/sites/portal/next.config.mjs
+++ b/sites/portal/next.config.mjs
@@ -7,7 +7,6 @@ const __dirname = path.dirname(__filename);
/** @type {import('next').NextConfig} */
const nextConfig = {
transpilePackages: ['@query/db', '@query/auth', '@query/api', '@query/ui'],
- output: 'standalone',
outputFileTracingRoot: path.join(__dirname, '../../'),
reactStrictMode: true,
typescript: {
diff --git a/sites/portal/package.json b/sites/portal/package.json
index 0828442..761cf8a 100644
--- a/sites/portal/package.json
+++ b/sites/portal/package.json
@@ -19,11 +19,11 @@
"@trpc/server": "^11.8.0",
"@yudiel/react-qr-scanner": "^2.5.0",
"minimatch": "^10.1.1",
- "next": "15.5.9",
+ "next": "^16.1.4",
"next-auth": "^5.0.0-beta.25",
"qrcode": "^1.5.4",
- "react": "^19.0.0",
- "react-dom": "^19.0.0",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
"sanitize-html": "^2.17.0",
"stripe": "^20.2.0",
"superjson": "^2.2.1",
From 70bd3fa3adcd8f870fd97232b84d30f52e117bf3 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 15:06:34 -0500
Subject: [PATCH 31/46] cleaning lol
---
sites/mainweb/app/layout.tsx | 4 ----
sites/mainweb/app/page.tsx | 4 +---
sites/portal/next.config.mjs | 4 +---
sites/portal/src/app/dashboard/page.tsx | 7 +------
sites/portal/src/app/page.tsx | 1 -
5 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/sites/mainweb/app/layout.tsx b/sites/mainweb/app/layout.tsx
index 824b79b..2fc73a4 100644
--- a/sites/mainweb/app/layout.tsx
+++ b/sites/mainweb/app/layout.tsx
@@ -18,10 +18,6 @@ export default function RootLayout({
}) {
return (
- {/* FIX: Removed text-yellow-400.
- Changed to text-gray-400 to match your site's gray/teal theme.
- This prevents icons and images from inheriting an unwanted tint.
- */}
{children}
diff --git a/sites/mainweb/app/page.tsx b/sites/mainweb/app/page.tsx
index 96b36f8..6cbeba3 100644
--- a/sites/mainweb/app/page.tsx
+++ b/sites/mainweb/app/page.tsx
@@ -84,7 +84,6 @@ const Home = () => {
return (
- {/* FIX: Reduced Background opacity to prevent monotone overlay feel */}
@@ -104,7 +103,6 @@ const Home = () => {
- {/* FIX: Removed grayscale by default to restore image color */}
@@ -169,7 +167,7 @@ const Home = () => {
-
+
diff --git a/sites/portal/next.config.mjs b/sites/portal/next.config.mjs
index 4cdc7d0..d92e8e4 100644
--- a/sites/portal/next.config.mjs
+++ b/sites/portal/next.config.mjs
@@ -18,9 +18,7 @@ const nextConfig = {
images: {
domains: ['lh3.googleusercontent.com'],
},
- webpack: (config) => {
- return config;
- },
+ turbopack: {},
};
export default nextConfig;
diff --git a/sites/portal/src/app/dashboard/page.tsx b/sites/portal/src/app/dashboard/page.tsx
index 302dacb..5ec66c6 100644
--- a/sites/portal/src/app/dashboard/page.tsx
+++ b/sites/portal/src/app/dashboard/page.tsx
@@ -14,12 +14,10 @@ export default function Dashboard() {
const router = useRouter();
const [mode, setMode] = useState<'PROFILE'>('PROFILE');
- // --- DATA QUERIES ---
const { data: userData } = trpc.user.me.useQuery(undefined, { enabled: !!session });
const { data: memberStatus } = trpc.member.checkStatus.useQuery(undefined, { enabled: !!session });
const { data: adminStatus } = trpc.admin.isAdmin.useQuery(undefined, { enabled: !!session });
- // --- AUTH GUARD ---
useEffect(() => {
if (status === 'unauthenticated') router.push('/');
}, [status, router]);
@@ -38,7 +36,6 @@ export default function Dashboard() {
- {/* --- SIDEBAR --- */}
@@ -50,7 +47,7 @@ export default function Dashboard() {
{userData?.name || 'GUEST'}
- {adminStatus?.isAdmin ? 'ADMIN_NODE' : memberStatus?.isMember ? 'MEMBER_NODE' : 'GUEST_NODE'}
+ {adminStatus?.isAdmin ? 'ADMIN_NODE' : memberStatus?.isMember ? 'MEMBER_NODE' : 'GUEST_NODE'}
@@ -82,7 +79,6 @@ export default function Dashboard() {
- {/* --- MAIN DISPLAY --- */}
@@ -109,7 +105,6 @@ export default function Dashboard() {
- {/* --- STATUS TILES --- */}
{adminStatus?.isAdmin ? (
diff --git a/sites/portal/src/app/page.tsx b/sites/portal/src/app/page.tsx
index 9c4613d..3b1ec1f 100644
--- a/sites/portal/src/app/page.tsx
+++ b/sites/portal/src/app/page.tsx
@@ -193,7 +193,6 @@ export default function Home() {
From 6794880dd61c0c65be8ddca2475cf2eec24823b3 Mon Sep 17 00:00:00 2001
From: aamoghS
Date: Wed, 21 Jan 2026 15:12:31 -0500
Subject: [PATCH 32/46] extra clean
---
packages/api/src/routers/admin.ts | 2 --
packages/api/src/routers/events.ts | 14 --------------
packages/api/src/routers/hackathon.ts | 7 -------
packages/api/src/routers/member.ts | 3 ---
packages/api/src/routers/stripe.ts | 10 ----------
packages/api/src/routers/user.ts | 2 --
packages/api/src/trpc.ts | 9 ---------
sites/portal/src/app/judge/page.tsx | 20 ++------------------
sites/portal/src/app/page.tsx | 15 ---------------
9 files changed, 2 insertions(+), 80 deletions(-)
diff --git a/packages/api/src/routers/admin.ts b/packages/api/src/routers/admin.ts
index 076b09c..7a4c8e1 100644
--- a/packages/api/src/routers/admin.ts
+++ b/packages/api/src/routers/admin.ts
@@ -8,7 +8,6 @@ import { isAdmin, isSuperAdmin } from "../middleware/procedures";
export const adminRouter = createTRPCRouter({
isAdmin: protectedProcedure.query(async ({ ctx }) => {
- // Check cache first
const cacheKey = CacheKeys.admin(ctx.userId!);
const cached = ctx.cache.get<{
isAdmin: boolean;
@@ -30,7 +29,6 @@ export const adminRouter = createTRPCRouter({
permissions: admin?.permissions || [],
};
- // Cache for 60 seconds
ctx.cache.set(cacheKey, result, 60);
return result;
diff --git a/packages/api/src/routers/events.ts b/packages/api/src/routers/events.ts
index 2f41fa9..745b3c0 100644
--- a/packages/api/src/routers/events.ts
+++ b/packages/api/src/routers/events.ts
@@ -7,7 +7,6 @@ import { randomUUID } from "crypto";
import { isAdmin } from "../middleware/procedures";
export const eventRouter = createTRPCRouter({
- // ADMIN: Create event
create: isAdmin
.input(
z.object({
@@ -33,7 +32,6 @@ export const eventRouter = createTRPCRouter({
return newEvent;
}),
- // ADMIN: Regenerate QR code for an event
regenerateQR: isAdmin
.input(z.object({ eventId: z.string().uuid() }))
.mutation(async ({ ctx, input }) => {
@@ -58,7 +56,6 @@ export const eventRouter = createTRPCRouter({
return updatedEvent;
}),
- // ADMIN: List all events
listAll: isAdmin.query(async ({ ctx }) => {
const allEvents = await ctx.db!.query.events.findMany({
orderBy: (events, { desc }) => [desc(events.eventDate)],
@@ -76,7 +73,6 @@ export const eventRouter = createTRPCRouter({
return allEvents;
}),
- // ADMIN: Get event with check-ins
getById: isAdmin
.input(z.object({ id: z.string().uuid() }))
.query(async ({ ctx, input }) => {
@@ -115,7 +111,6 @@ export const eventRouter = createTRPCRouter({
return event;
}),
- // ADMIN: Toggle check-in enabled
toggleCheckIn: isAdmin
.input(
z.object({
@@ -136,7 +131,6 @@ export const eventRouter = createTRPCRouter({
return updatedEvent;
}),
- // ADMIN: Delete event
delete: isAdmin
.input(z.object({ eventId: z.string().uuid() }))
.mutation(async ({ ctx, input }) => {
@@ -144,13 +138,10 @@ export const eventRouter = createTRPCRouter({
return { success: true };
}),
- // MEMBER: Check in to event via QR code (OPTIMIZED - Single Query)
checkIn: protectedProcedure
.input(z.object({ qrCode: z.string().uuid() }))
.mutation(async ({ ctx, input }) => {
- // Single transaction with all checks and inserts
return await ctx.db!.transaction(async (tx) => {
- // 1. Get event and validate in one query
const event = await tx.query.events.findFirst({
where: eq(events.qrCode, input.qrCode),
});
@@ -169,7 +160,6 @@ export const eventRouter = createTRPCRouter({
});
}
- // 2. Check max capacity
if (event.maxCheckIns && event.currentCheckIns >= event.maxCheckIns) {
throw new TRPCError({
code: "BAD_REQUEST",
@@ -177,7 +167,6 @@ export const eventRouter = createTRPCRouter({
});
}
- // 3. Get member and check for existing check-in in parallel
const [member, existingCheckIn] = await Promise.all([
tx.query.members.findFirst({
where: eq(members.userId, ctx.userId!),
@@ -204,7 +193,6 @@ export const eventRouter = createTRPCRouter({
});
}
- // 4. Create check-in and update counter
await Promise.all([
tx.insert(eventCheckIns).values({
eventId: event.id,
@@ -227,7 +215,6 @@ export const eventRouter = createTRPCRouter({
});
}),
- // MEMBER: Get my attended events
myEvents: protectedProcedure.query(async ({ ctx }) => {
const checkIns = await ctx.db!.query.eventCheckIns.findMany({
where: eq(eventCheckIns.userId, ctx.userId!),
@@ -249,7 +236,6 @@ export const eventRouter = createTRPCRouter({
return checkIns;
}),
- // MEMBER: Get my stats (OPTIMIZED - Single Aggregation Query)
myStats: protectedProcedure.query(async ({ ctx }) => {
const result = await ctx.db!
.select({
diff --git a/packages/api/src/routers/hackathon.ts b/packages/api/src/routers/hackathon.ts
index eabf1f3..6df8059 100644
--- a/packages/api/src/routers/hackathon.ts
+++ b/packages/api/src/routers/hackathon.ts
@@ -23,7 +23,6 @@ export const hackathonRouter = createTRPCRouter({
})
)
.query(async ({ ctx, input }) => {
- // Generate cache key based on input parameters
const cacheKey = `hackathons:list:${input.status || 'all'}:${input.upcoming ? 'upcoming' : 'all'}:${input.limit}:${input.offset}`;
// Check cache first
@@ -43,7 +42,6 @@ export const hackathonRouter = createTRPCRouter({
orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)],
});
- // Cache for 60 seconds (hackathon lists don't change often)
ctx.cache.set(cacheKey, allHackathons, 60);
return allHackathons;
@@ -68,7 +66,6 @@ export const hackathonRouter = createTRPCRouter({
});
}
- // Cache for 120 seconds
ctx.cache.set(cacheKey, hackathon, 120);
return hackathon;
@@ -109,7 +106,6 @@ export const hackathonRouter = createTRPCRouter({
})
.returning();
- // Invalidate hackathon list cache
ctx.cache.deletePattern('hackathons:*');
return newHackathon;
@@ -143,7 +139,6 @@ export const hackathonRouter = createTRPCRouter({
.mutation(async ({ ctx, input }) => {
const { id, ...updateData } = input;
- // Verify hackathon exists
const existing = await ctx.db!.query.hackathons.findFirst({
where: eq(hackathons.id, id),
});
@@ -164,7 +159,6 @@ export const hackathonRouter = createTRPCRouter({
.where(eq(hackathons.id, id))
.returning();
- // Invalidate hackathon caches
ctx.cache.delete(CacheKeys.hackathon(id));
ctx.cache.deletePattern('hackathons:*');
@@ -182,7 +176,6 @@ export const hackathonRouter = createTRPCRouter({
})
)
.mutation(async ({ ctx, input }) => {
- // Use transaction to prevent race conditions
return await ctx.db!.transaction(async (tx) => {
const hackathon = await tx.query.hackathons.findFirst({
where: eq(hackathons.id, input.hackathonId),
diff --git a/packages/api/src/routers/member.ts b/packages/api/src/routers/member.ts
index ebfba71..a979c00 100644
--- a/packages/api/src/routers/member.ts
+++ b/packages/api/src/routers/member.ts
@@ -5,7 +5,6 @@ import { members, membershipHistory } from "@query/db";
import { eq, and } from "drizzle-orm";
import { CacheKeys } from "../middleware/cache";
-// Validation schemas
const nameSchema = z.string().min(1).max(100).regex(/^[a-zA-Z\s'-]+$/, "Invalid name format");
const urlSchema = z.string().url().max(500).optional();
const phoneSchema = z.string().regex(/^\+?[1-9]\d{1,14}$/, "Invalid phone number").optional();
@@ -288,7 +287,6 @@ export const memberRouter = createTRPCRouter({
}),
checkStatus: protectedProcedure.query(async ({ ctx }) => {
- // Check cache first (short TTL since membership status is important)
const cacheKey = `member:status:${ctx.userId}`;
const cached = ctx.cache.get<{
isMember: boolean;
@@ -335,7 +333,6 @@ export const memberRouter = createTRPCRouter({
renewalCount: member.renewalCount,
};
- // Cache for 30 seconds
ctx.cache.set(cacheKey, result, 30);
return result;
diff --git a/packages/api/src/routers/stripe.ts b/packages/api/src/routers/stripe.ts
index d62a770..5a2d8bc 100644
--- a/packages/api/src/routers/stripe.ts
+++ b/packages/api/src/routers/stripe.ts
@@ -18,7 +18,6 @@ export const stripeRouter = createTRPCRouter({
return { hasPendingPayment: false };
}
- // Check for unlinked payment with matching email
const pendingPayment = await ctx.db!.query.stripePayments.findFirst({
where: and(
eq(stripePayments.customerEmail, user.email),
@@ -46,7 +45,6 @@ export const stripeRouter = createTRPCRouter({
})
)
.mutation(async ({ ctx, input }) => {
- // Find unlinked payment with matching email
const payment = await ctx.db!.query.stripePayments.findFirst({
where: and(
eq(stripePayments.customerEmail, input.email.toLowerCase()),
@@ -62,7 +60,6 @@ export const stripeRouter = createTRPCRouter({
});
}
- // Check if this payment is already linked
const existingLink = await ctx.db!.query.userAccountLinks.findFirst({
where: eq(userAccountLinks.stripePaymentId, payment.id),
});
@@ -74,7 +71,6 @@ export const stripeRouter = createTRPCRouter({
});
}
- // Check if user already has a link
const userExistingLink = await ctx.db!.query.userAccountLinks.findFirst({
where: eq(userAccountLinks.userId, ctx.userId!),
});
@@ -86,7 +82,6 @@ export const stripeRouter = createTRPCRouter({
});
}
- // Create the link
await ctx.db!.insert(userAccountLinks).values({
userId: ctx.userId!,
stripePaymentId: payment.id,
@@ -95,7 +90,6 @@ export const stripeRouter = createTRPCRouter({
providedEmail: input.email.toLowerCase(),
});
- // Update the payment record
await ctx.db!
.update(stripePayments)
.set({
@@ -105,7 +99,6 @@ export const stripeRouter = createTRPCRouter({
})
.where(eq(stripePayments.id, payment.id));
- // Create or update membership
await createOrUpdateMembership(
ctx.db!,
ctx.userId!,
@@ -145,7 +138,6 @@ async function createOrUpdateMembership(
firstName: string,
lastName: string
) {
- // Check if member already exists
const existingMember = await db.query.members.findFirst({
where: eq(members.userId, userId),
});
@@ -155,7 +147,6 @@ async function createOrUpdateMembership(
oneYearFromNow.setFullYear(oneYearFromNow.getFullYear() + 1);
if (existingMember) {
- // Renew membership
await db
.update(members)
.set({
@@ -168,7 +159,6 @@ async function createOrUpdateMembership(
})
.where(eq(members.id, existingMember.id));
} else {
- // Create new membership
await db.insert(members).values({
userId,
firstName,
diff --git a/packages/api/src/routers/user.ts b/packages/api/src/routers/user.ts
index 16ea7dc..10c0105 100644
--- a/packages/api/src/routers/user.ts
+++ b/packages/api/src/routers/user.ts
@@ -38,7 +38,6 @@ export const userRouter = createTRPCRouter({
})
)
.mutation(async ({ ctx, input }) => {
- // Update user name/image if provided
if (input.name !== undefined || input.image !== undefined) {
await ctx.db!
.update(users)
@@ -76,7 +75,6 @@ export const userRouter = createTRPCRouter({
},
});
- // Invalidate user cache
ctx.cache.deletePattern(`user:${ctx.userId}*`);
ctx.cache.deletePattern(`query:user.*:${ctx.userId}`);
diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts
index 2c9295d..968b73e 100644
--- a/packages/api/src/trpc.ts
+++ b/packages/api/src/trpc.ts
@@ -20,7 +20,6 @@ const t = initTRPC.context().create({
export const createTRPCRouter = t.router;
-// Middleware that ensures database is available and narrows the type
const requiresDb = t.middleware(async ({ ctx, next }) => {
if (!ctx.db) {
throw new TRPCError({
@@ -47,7 +46,6 @@ export const publicProcedure = t.procedure.use(async ({ ctx, next, type }) => {
});
}
- // Token-based rate limiting
const identifier = ctx.userId || `anon-${ctx.session?.user?.id || 'unknown'}`;
const config = RATE_LIMITS.public;
const tokens = type === 'mutation' ? config.mutationTokens : config.queryTokens;
@@ -124,7 +122,6 @@ const sanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => {
// Get raw input for validation
const rawInput = await getRawInput();
- // Validate request size (prevent large payload attacks)
if (rawInput && !validateRequestSize(rawInput)) {
logSecurityEvent({
type: 'validation_error',
@@ -137,11 +134,8 @@ const sanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => {
});
}
- // Validate the raw input - this throws if invalid patterns are detected
- // We don't modify the input, just validate it for security issues
sanitizeInput(rawInput);
- // Continue with the original input (Zod validation handles type checking)
const result = await next();
if (!result.ok) {
@@ -156,14 +150,11 @@ const sanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => {
});
const cacheInvalidationMiddleware = t.middleware(async ({ ctx, next, type, path }) => {
- // Execute the procedure first
const result = await next();
- // For mutations, invalidate related cache entries
if (type === 'mutation') {
const namespace = path.split('.')[0];
if (namespace) {
- // Invalidate all query cache for this namespace
ctx.cache.deletePattern(`query:${namespace}.*`);
}
}
diff --git a/sites/portal/src/app/judge/page.tsx b/sites/portal/src/app/judge/page.tsx
index c722d4b..750a100 100644
--- a/sites/portal/src/app/judge/page.tsx
+++ b/sites/portal/src/app/judge/page.tsx
@@ -57,7 +57,6 @@ export default function JudgePage() {
});
};
- // Loading states
if (!mounted || status === 'loading' || checkingJudge) {
return (
@@ -68,7 +67,6 @@ export default function JudgePage() {
if (!session) return null;
- // Not a judge
if (!judgeStatus?.isJudge) {
return (
@@ -89,7 +87,6 @@ export default function JudgePage() {
);
}
- // No hackathon
if (!hackathonId) {
return (
@@ -113,7 +110,6 @@ export default function JudgePage() {
const project = nextTable?.project;
const isDone = nextTable?.done;
- // All done
if (isDone) {
return (
@@ -137,7 +133,6 @@ export default function JudgePage() {
);
}
- // Loading next
if (loadingNext || !project) {
return (
@@ -148,13 +143,11 @@ export default function JudgePage() {
return (
- {/* Background */}
- {/* Progress bar */}
- {/* Content */}
- {/* Table number display */}
Current_Table
@@ -178,7 +169,6 @@ export default function JudgePage() {
- {/* Project info card */}
Project_Name
@@ -188,24 +178,21 @@ export default function JudgePage() {
)}
- {/* Score selector */}
Score_Value
{score}
- {/* Score buttons */}
{[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((n) => (
setScore(n)}
- className={`py-3 rounded font-mono font-bold text-sm transition-all ${
- score === n
+ className={`py-3 rounded font-mono font-bold text-sm transition-all ${score === n
? 'bg-[#00A8A8] text-white shadow-[0_0_20px_rgba(0,168,168,0.4)]'
: 'bg-white/5 text-gray-400 border border-white/10 hover:bg-white/10 active:scale-95'
- }`}
+ }`}
>
{n}
@@ -213,7 +200,6 @@ export default function JudgePage() {
- {/* Comment */}