From fa6ad5c4fc388ea0f5d11623f4f56cdb8703cec3 Mon Sep 17 00:00:00 2001
From: FleetAdmiralJakob
Date: Mon, 12 May 2025 22:56:34 +0200
Subject: [PATCH 1/6] update a few things
tailwind to v4
removed forward ref via codemod
---
.idea/git_toolbox_blame.xml | 6 +
.idea/git_toolbox_prj.xml | 15 +
.idea/misc.xml | 4 +
convex/README.md | 2 +-
convex/chats.ts | 16 +-
convex/clearRequests.ts | 14 +-
convex/crons.ts | 2 +-
convex/lib/functions.ts | 8 +-
convex/messages.ts | 6 +-
convex/schema.ts | 6 +-
eslint.config.mjs | 4 +-
next.config.js | 2 +-
package.json | 30 +-
pnpm-lock.yaml | 617 +++++++++++-------
postcss.config.cjs | 3 +-
src/app/(auth)/sign-in/signin-form.tsx | 16 +-
src/app/(auth)/sign-up/page.tsx | 2 +-
src/app/(auth)/sign-up/signup-form.tsx | 8 +-
.../(internal-sites)/chats/[chatId]/page.tsx | 86 +--
src/app/(internal-sites)/profile/page.tsx | 4 +-
.../profile/settings/page.tsx | 62 +-
src/app/api/sign-up/route.ts | 22 +-
src/app/contributors/page.tsx | 24 +-
src/app/layout.tsx | 2 +-
src/components/add-user-dialog.tsx | 8 +-
src/components/chat-overview.tsx | 103 ++-
src/components/dev-mode-info.tsx | 2 +-
src/components/forward-message-dialog.tsx | 14 +-
src/components/login-dialog.tsx | 164 ++---
src/components/message.tsx | 121 ++--
src/components/navbar.tsx | 2 +-
src/components/reactions.tsx | 48 +-
src/components/ui/aurora-background.tsx | 27 +-
src/components/ui/avatar.tsx | 69 +-
src/components/ui/badge.tsx | 2 +-
src/components/ui/button.tsx | 37 +-
src/components/ui/checkbox.tsx | 39 +-
src/components/ui/dialog.tsx | 135 ++--
src/components/ui/form.tsx | 83 ++-
src/components/ui/input.tsx | 37 +-
src/components/ui/label.tsx | 14 +-
src/components/ui/popover.tsx | 39 +-
src/components/ui/progress.tsx | 40 +-
src/components/ui/resize.tsx | 8 +-
src/components/ui/select.tsx | 250 +++----
src/components/ui/skeleton.tsx | 2 +-
src/components/ui/tooltip.tsx | 32 +-
src/middleware.ts | 2 +-
src/styles/globals.css | 110 ++--
tailwind.config.ts | 58 +-
50 files changed, 1338 insertions(+), 1069 deletions(-)
create mode 100644 .idea/git_toolbox_blame.xml
create mode 100644 .idea/git_toolbox_prj.xml
create mode 100644 .idea/misc.xml
diff --git a/.idea/git_toolbox_blame.xml b/.idea/git_toolbox_blame.xml
new file mode 100644
index 00000000..7dc12496
--- /dev/null
+++ b/.idea/git_toolbox_blame.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml
new file mode 100644
index 00000000..02b915b8
--- /dev/null
+++ b/.idea/git_toolbox_prj.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..3c1d9a89
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/convex/README.md b/convex/README.md
index 63537b3c..b67aca14 100644
--- a/convex/README.md
+++ b/convex/README.md
@@ -80,7 +80,7 @@ function handleButtonPress() {
// OR
// use the result once the mutation has completed
mutation({ first: "Hello!", second: "me" }).then((result) =>
- console.log(result),
+ console.log(result)
);
}
```
diff --git a/convex/chats.ts b/convex/chats.ts
index c8bae8f2..2cba68fb 100644
--- a/convex/chats.ts
+++ b/convex/chats.ts
@@ -19,13 +19,13 @@ export const createChat = mutation({
if (!user1) {
throw new ConvexError(
- "User not found: " + args.friendsUsername + args.friendsUsernameId,
+ "User not found: " + args.friendsUsername + args.friendsUsernameId
);
}
if (!user2) {
throw new ConvexError(
- "Mismatch between Clerk and Convex. This is an error by us.",
+ "Mismatch between Clerk and Convex. This is an error by us."
);
} else if (user1.clerkId === identity.tokenIdentifier) {
throw new ConvexError("Cannot create a chat with yourself.");
@@ -65,10 +65,10 @@ export const initialConvexSetup = mutation({
if (!identity.nickname) {
console.error(
"Username is not defined. This is likely an error by us",
- identity,
+ identity
);
throw new ConvexError(
- "Username is not defined. This is likely an error by us.",
+ "Username is not defined. This is likely an error by us."
);
}
@@ -134,7 +134,7 @@ export const getChats = query({
const allMessages = [...textMessages, ...requests];
const sortedMessages = allMessages.sort(
- (a, b) => b._creationTime - a._creationTime,
+ (a, b) => b._creationTime - a._creationTime
);
const latestMessage = sortedMessages[0];
@@ -149,7 +149,7 @@ export const getChats = query({
}
const isReadMessage =
message.readBy.some(
- (user) => user.clerkId === identity.tokenIdentifier,
+ (user) => user.clerkId === identity.tokenIdentifier
) &&
(message.type !== "message" || !message.deleted);
if (isReadMessage) {
@@ -201,14 +201,14 @@ export const getChatInfoFromId = query({
!usersInChat.some((user) => user.clerkId === identity.tokenIdentifier)
) {
throw new ConvexError(
- "UNAUTHORIZED REQUEST: User requested chat info from a chat in which he is not in.",
+ "UNAUTHORIZED REQUEST: User requested chat info from a chat in which he is not in."
);
}
return {
basicChatInfo: chat,
otherUser: usersInChat.filter(
- (user) => user.clerkId !== identity.tokenIdentifier,
+ (user) => user.clerkId !== identity.tokenIdentifier
),
};
},
diff --git a/convex/clearRequests.ts b/convex/clearRequests.ts
index d244a1a7..db82f952 100644
--- a/convex/clearRequests.ts
+++ b/convex/clearRequests.ts
@@ -23,7 +23,7 @@ export const createClearRequest = mutation({
if (!convexUser) {
throw new ConvexError(
- "Mismatch between Clerk and Convex. This is an error by us.",
+ "Mismatch between Clerk and Convex. This is an error by us."
);
}
@@ -36,7 +36,7 @@ export const createClearRequest = mutation({
!usersInChat.some((user) => user.clerkId === identity.tokenIdentifier)
) {
throw new ConvexError(
- "UNAUTHORIZED REQUEST: User tried to create a request in a chat in which he is not in.",
+ "UNAUTHORIZED REQUEST: User tried to create a request in a chat in which he is not in."
);
}
@@ -91,13 +91,13 @@ export const rejectClearRequest = mutation({
!usersInChat.some((user) => user.clerkId === identity.tokenIdentifier)
) {
throw new ConvexError(
- "UNAUTHORIZED REQUEST: User tried to reject a clear request in a chat in which he is not in.",
+ "UNAUTHORIZED REQUEST: User tried to reject a clear request in a chat in which he is not in."
);
}
if ((await request.edge("user")).clerkId === identity.tokenIdentifier) {
throw new ConvexError(
- "UNAUTHORIZED REQUEST: User tried to reject his own clear request.",
+ "UNAUTHORIZED REQUEST: User tried to reject his own clear request."
);
}
@@ -136,13 +136,13 @@ export const acceptClearRequest = mutation({
!usersInChat.some((user) => user.clerkId === identity.tokenIdentifier)
) {
throw new ConvexError(
- "UNAUTHORIZED REQUEST: User tried to accept a clear request in a chat in which he is not in.",
+ "UNAUTHORIZED REQUEST: User tried to accept a clear request in a chat in which he is not in."
);
}
if ((await request.edge("user")).clerkId === identity.tokenIdentifier) {
throw new ConvexError(
- "UNAUTHORIZED REQUEST: User tried to accept his own clear request.",
+ "UNAUTHORIZED REQUEST: User tried to accept his own clear request."
);
}
@@ -164,7 +164,7 @@ export const expirePendingRequests = internalMutation({
handler: async (ctx) => {
for (const q1 of await ctx
.table("clearRequests", "by_creation_time", (q) =>
- q.lte("_creationTime", Date.now() - 24 * 60 * 60 * 1000),
+ q.lte("_creationTime", Date.now() - 24 * 60 * 60 * 1000)
)
.filter((q) => q.eq(q.field("status"), "pending"))) {
if (q1) {
diff --git a/convex/crons.ts b/convex/crons.ts
index 7f9276c1..a29cb4b6 100644
--- a/convex/crons.ts
+++ b/convex/crons.ts
@@ -6,7 +6,7 @@ const crons = cronJobs();
crons.interval(
"expire open requests",
{ minutes: 1 },
- internal.clearRequests.expirePendingRequests,
+ internal.clearRequests.expirePendingRequests
);
export default crons;
diff --git a/convex/lib/functions.ts b/convex/lib/functions.ts
index 0883c84c..babe49d5 100644
--- a/convex/lib/functions.ts
+++ b/convex/lib/functions.ts
@@ -19,7 +19,7 @@ export const query = customQuery(
table: entsTableFactory(ctx, entDefinitions),
db: undefined,
};
- }),
+ })
);
export const internalQuery = customQuery(
@@ -29,7 +29,7 @@ export const internalQuery = customQuery(
table: entsTableFactory(ctx, entDefinitions),
db: undefined,
};
- }),
+ })
);
export const mutation = customMutation(
@@ -39,7 +39,7 @@ export const mutation = customMutation(
table: entsTableFactory(ctx, entDefinitions),
db: undefined,
};
- }),
+ })
);
export const internalMutation = customMutation(
@@ -49,5 +49,5 @@ export const internalMutation = customMutation(
table: entsTableFactory(ctx, entDefinitions),
db: undefined,
};
- }),
+ })
);
diff --git a/convex/messages.ts b/convex/messages.ts
index ab4f19b4..1c969dff 100644
--- a/convex/messages.ts
+++ b/convex/messages.ts
@@ -407,14 +407,14 @@ export const reactToMessage = mutation({
throw new ConvexError("messageId was invalid");
}
- // Check if user already reacted to this message
+ // Check if the user already reacted to this message
const existingReaction = await ctx
.table("reactions", "messageId", (q) => q.eq("messageId", messageId))
.filter((q) => q.eq(q.field("userId"), convexUser._id))
.first();
if (existingReaction && existingReaction.emoji === trimmedReaction) {
- // Remove existing reaction
+ // Remove the existing reaction
await existingReaction.delete();
return null;
} else if (existingReaction) {
@@ -425,7 +425,7 @@ export const reactToMessage = mutation({
return existingReaction;
}
- // Create new reaction if none exists
+ // Create a new reaction if none exists
const reaction = await ctx.table("reactions").insert({
emoji: trimmedReaction,
userId: convexUser._id,
diff --git a/convex/schema.ts b/convex/schema.ts
index 37197e5c..964a5215 100644
--- a/convex/schema.ts
+++ b/convex/schema.ts
@@ -32,11 +32,7 @@ const schema = defineEntSchema({
clearRequests: defineEnt({})
.field(
"status",
- v.union(
- v.literal("pending"),
- v.literal("rejected"),
- v.literal("expired"),
- ),
+ v.union(v.literal("pending"), v.literal("rejected"), v.literal("expired"))
)
.edges("readBy", {
to: "users",
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 9133b9ee..ed94917c 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -23,8 +23,8 @@ export default [
"next/core-web-vitals",
"plugin:@typescript-eslint/recommended-type-checked",
"plugin:@typescript-eslint/stylistic-type-checked",
- "plugin:react-hooks/recommended",
- ),
+ "plugin:react-hooks/recommended"
+ )
),
{
languageOptions: {
diff --git a/next.config.js b/next.config.js
index 9589f907..dcc2f6c5 100644
--- a/next.config.js
+++ b/next.config.js
@@ -66,7 +66,7 @@ const baseConfig = withAxiom(
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return config;
},
- }),
+ })
);
const config = withSentryConfig(baseConfig, {
diff --git a/package.json b/package.json
index c0a1b9b7..07f91c95 100644
--- a/package.json
+++ b/package.json
@@ -23,21 +23,22 @@
"@ianvs/prettier-plugin-sort-imports": "^4.4.0",
"@icons-pack/react-simple-icons": "^12.0.0",
"@legendapp/state": "^3.0.0-beta.16",
- "@radix-ui/react-alert-dialog": "^1.1.11",
- "@radix-ui/react-avatar": "^1.1.1",
- "@radix-ui/react-checkbox": "^1.1.4",
- "@radix-ui/react-dialog": "^1.1.2",
+ "@radix-ui/react-alert-dialog": "^1.1.13",
+ "@radix-ui/react-avatar": "^1.1.9",
+ "@radix-ui/react-checkbox": "^1.3.1",
+ "@radix-ui/react-dialog": "^1.1.13",
"@radix-ui/react-icons": "^1.3.2",
- "@radix-ui/react-label": "^2.1.0",
- "@radix-ui/react-popover": "^1.1.2",
- "@radix-ui/react-progress": "^1.1.0",
- "@radix-ui/react-select": "^2.1.2",
- "@radix-ui/react-slot": "^1.1.0",
- "@radix-ui/react-tooltip": "^1.1.4",
+ "@radix-ui/react-label": "^2.1.6",
+ "@radix-ui/react-popover": "^1.1.13",
+ "@radix-ui/react-progress": "^1.1.6",
+ "@radix-ui/react-select": "^2.2.4",
+ "@radix-ui/react-slot": "^1.2.2",
+ "@radix-ui/react-tooltip": "^1.2.6",
"@reactuses/core": "^6.0.0",
"@sentry/nextjs": "^9.0.0",
"@serwist/next": "9.0.14",
"@t3-oss/env-nextjs": "^0.13.0",
+ "@tailwindcss/postcss": "^4.1.6",
"babel-plugin-react-compiler": "19.0.0-beta-e993439-20250328",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
@@ -65,8 +66,8 @@
"react-responsive": "^10.0.0",
"react-scan": "^0.3.0",
"sonner": "^2.0.0",
- "tailwind-merge": "^3.0.0",
- "tailwindcss-animate": "^1.0.7",
+ "tailwind-merge": "^3.3.0",
+ "tw-animate-css": "^1.2.9",
"zod": "^3.23.8"
},
"devDependencies": {
@@ -86,9 +87,9 @@
"eslint-plugin-react-hooks": "^5.0.0",
"postcss": "^8.4.49",
"prettier": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.8",
+ "prettier-plugin-tailwindcss": "^0.6.11",
"serwist": "^9.0.10",
- "tailwindcss": "^3.4.15",
+ "tailwindcss": "^4.1.6",
"typescript": "^5.6.3"
},
"ct3aMetadata": {
@@ -103,6 +104,7 @@
"onlyBuiltDependencies": [
"@clerk/shared",
"@sentry/cli",
+ "@tailwindcss/oxide",
"core-js",
"esbuild",
"sharp",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0699df98..048604c1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -33,37 +33,37 @@ importers:
specifier: ^3.0.0-beta.16
version: 3.0.0-beta.30(react@19.1.0)
'@radix-ui/react-alert-dialog':
- specifier: ^1.1.11
+ specifier: ^1.1.13
version: 1.1.13(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-avatar':
- specifier: ^1.1.1
+ specifier: ^1.1.9
version: 1.1.9(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-checkbox':
- specifier: ^1.1.4
+ specifier: ^1.3.1
version: 1.3.1(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-dialog':
- specifier: ^1.1.2
+ specifier: ^1.1.13
version: 1.1.13(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-icons':
specifier: ^1.3.2
version: 1.3.2(react@19.1.0)
'@radix-ui/react-label':
- specifier: ^2.1.0
+ specifier: ^2.1.6
version: 2.1.6(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-popover':
- specifier: ^1.1.2
+ specifier: ^1.1.13
version: 1.1.13(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-progress':
- specifier: ^1.1.0
+ specifier: ^1.1.6
version: 1.1.6(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-select':
- specifier: ^2.1.2
+ specifier: ^2.2.4
version: 2.2.4(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-slot':
- specifier: ^1.1.0
+ specifier: ^1.2.2
version: 1.2.2(@types/react@19.1.3)(react@19.1.0)
'@radix-ui/react-tooltip':
- specifier: ^1.1.4
+ specifier: ^1.2.6
version: 1.2.6(@types/react-dom@19.1.4(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@reactuses/core':
specifier: ^6.0.0
@@ -77,6 +77,9 @@ importers:
'@t3-oss/env-nextjs':
specifier: ^0.13.0
version: 0.13.4(arktype@2.1.20)(typescript@5.8.3)(zod@3.24.4)
+ '@tailwindcss/postcss':
+ specifier: ^4.1.6
+ version: 4.1.6
babel-plugin-react-compiler:
specifier: 19.0.0-beta-e993439-20250328
version: 19.0.0-beta-e993439-20250328
@@ -159,11 +162,11 @@ importers:
specifier: ^2.0.0
version: 2.0.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
tailwind-merge:
- specifier: ^3.0.0
+ specifier: ^3.3.0
version: 3.3.0
- tailwindcss-animate:
- specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.17)
+ tw-animate-css:
+ specifier: ^1.2.9
+ version: 1.2.9
zod:
specifier: ^3.23.8
version: 3.24.4
@@ -217,14 +220,14 @@ importers:
specifier: ^3.3.3
version: 3.5.3
prettier-plugin-tailwindcss:
- specifier: ^0.6.8
+ specifier: ^0.6.11
version: 0.6.11(@ianvs/prettier-plugin-sort-imports@4.4.1(prettier@3.5.3))(prettier@3.5.3)
serwist:
specifier: ^9.0.10
version: 9.0.14(typescript@5.8.3)
tailwindcss:
- specifier: ^3.4.15
- version: 3.4.17
+ specifier: ^4.1.6
+ version: 4.1.6
typescript:
specifier: ^5.6.3
version: 5.8.3
@@ -1052,6 +1055,10 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+
'@jridgewell/gen-mapping@0.3.8':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'}
@@ -2091,6 +2098,94 @@ packages:
zod:
optional: true
+ '@tailwindcss/node@4.1.6':
+ resolution: {integrity: sha512-ed6zQbgmKsjsVvodAS1q1Ld2BolEuxJOSyyNc+vhkjdmfNUDCmQnlXBfQkHrlzNmslxHsQU/bFmzcEbv4xXsLg==}
+
+ '@tailwindcss/oxide-android-arm64@4.1.6':
+ resolution: {integrity: sha512-VHwwPiwXtdIvOvqT/0/FLH/pizTVu78FOnI9jQo64kSAikFSZT7K4pjyzoDpSMaveJTGyAKvDjuhxJxKfmvjiQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/oxide-darwin-arm64@4.1.6':
+ resolution: {integrity: sha512-weINOCcqv1HVBIGptNrk7c6lWgSFFiQMcCpKM4tnVi5x8OY2v1FrV76jwLukfT6pL1hyajc06tyVmZFYXoxvhQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-darwin-x64@4.1.6':
+ resolution: {integrity: sha512-3FzekhHG0ww1zQjQ1lPoq0wPrAIVXAbUkWdWM8u5BnYFZgb9ja5ejBqyTgjpo5mfy0hFOoMnMuVDI+7CXhXZaQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-freebsd-x64@4.1.6':
+ resolution: {integrity: sha512-4m5F5lpkBZhVQJq53oe5XgJ+aFYWdrgkMwViHjRsES3KEu2m1udR21B1I77RUqie0ZYNscFzY1v9aDssMBZ/1w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.6':
+ resolution: {integrity: sha512-qU0rHnA9P/ZoaDKouU1oGPxPWzDKtIfX7eOGi5jOWJKdxieUJdVV+CxWZOpDWlYTd4N3sFQvcnVLJWJ1cLP5TA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.6':
+ resolution: {integrity: sha512-jXy3TSTrbfgyd3UxPQeXC3wm8DAgmigzar99Km9Sf6L2OFfn/k+u3VqmpgHQw5QNfCpPe43em6Q7V76Wx7ogIQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.6':
+ resolution: {integrity: sha512-8kjivE5xW0qAQ9HX9reVFmZj3t+VmljDLVRJpVBEoTR+3bKMnvC7iLcoSGNIUJGOZy1mLVq7x/gerVg0T+IsYw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.6':
+ resolution: {integrity: sha512-A4spQhwnWVpjWDLXnOW9PSinO2PTKJQNRmL/aIl2U/O+RARls8doDfs6R41+DAXK0ccacvRyDpR46aVQJJCoCg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-musl@4.1.6':
+ resolution: {integrity: sha512-YRee+6ZqdzgiQAHVSLfl3RYmqeeaWVCk796MhXhLQu2kJu2COHBkqlqsqKYx3p8Hmk5pGCQd2jTAoMWWFeyG2A==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-wasm32-wasi@4.1.6':
+ resolution: {integrity: sha512-qAp4ooTYrBQ5pk5jgg54/U1rCJ/9FLYOkkQ/nTE+bVMseMfB6O7J8zb19YTpWuu4UdfRf5zzOrNKfl6T64MNrQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.6':
+ resolution: {integrity: sha512-nqpDWk0Xr8ELO/nfRUDjk1pc9wDJ3ObeDdNMHLaymc4PJBWj11gdPCWZFKSK2AVKjJQC7J2EfmSmf47GN7OuLg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.6':
+ resolution: {integrity: sha512-5k9xF33xkfKpo9wCvYcegQ21VwIBU1/qEbYlVukfEIyQbEA47uK8AAwS7NVjNE3vHzcmxMYwd0l6L4pPjjm1rQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/oxide@4.1.6':
+ resolution: {integrity: sha512-0bpEBQiGx+227fW4G0fLQ8vuvyy5rsB1YIYNapTq3aRsJ9taF3f5cCaovDjN5pUGKKzcpMrZst/mhNaKAPOHOA==}
+ engines: {node: '>= 10'}
+
+ '@tailwindcss/postcss@4.1.6':
+ resolution: {integrity: sha512-ELq+gDMBuRXPJlpE3PEen+1MhnHAQQrh2zF0dI1NXOlEWfr2qWf2CQdr5jl9yANv8RErQaQ2l6nIFO9OSCVq/g==}
+
'@testing-library/dom@10.4.0':
resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
engines: {node: '>=18'}
@@ -2407,16 +2502,10 @@ packages:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
-
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
@@ -2526,6 +2615,11 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ browserslist@4.24.5:
+ resolution: {integrity: sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@@ -2553,10 +2647,6 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
caniuse-lite@1.0.30001707:
resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==}
@@ -2579,6 +2669,10 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+
chrome-trace-event@1.0.4:
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
engines: {node: '>=6.0'}
@@ -2613,10 +2707,6 @@ packages:
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
-
common-tags@1.8.2:
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
engines: {node: '>=4.0.0'}
@@ -2704,11 +2794,6 @@ packages:
css-mediaquery@0.1.2:
resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==}
- cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
@@ -2773,12 +2858,6 @@ packages:
detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
- didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
- dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
doctrine@2.1.0:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
@@ -2806,6 +2885,9 @@ packages:
electron-to-chromium@1.5.127:
resolution: {integrity: sha512-Ke5OggqOtEqzCzcUyV+9jgO6L6sv1gQVKGtSExXHjD/FK0p4qzPZbrDsrCdy0DptcQprD0V80RCBYSWLMhTTgQ==}
+ electron-to-chromium@1.5.152:
+ resolution: {integrity: sha512-xBOfg/EBaIlVsHipHl2VdTPJRSvErNUaqW8ejTq5OlOlIYx1wOllCHsAvAIrr55jD1IYEfdR86miUEt8H5IeJg==}
+
emoji-mart@5.6.0:
resolution: {integrity: sha512-eJp3QRe79pjwa+duv+n7+5YsNhRcMl812EcFVwrnRvYKoNPoQb5qxU8DG6Bgwji0akHdp6D4Ln6tYLG58MFSow==}
@@ -3443,10 +3525,6 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
- hasBin: true
-
jiti@2.4.2:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
@@ -3521,12 +3599,69 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
+ lightningcss-darwin-arm64@1.29.2:
+ resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.29.2:
+ resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.29.2:
+ resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.29.2:
+ resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.29.2:
+ resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.29.2:
+ resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.29.2:
+ resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-linux-x64-musl@1.29.2:
+ resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-win32-arm64-msvc@1.29.2:
+ resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.29.2:
+ resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ lightningcss@1.29.2:
+ resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==}
+ engines: {node: '>= 12.0.0'}
loader-runner@4.3.0:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
@@ -3650,9 +3785,18 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minizlib@3.0.2:
+ resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
+ engines: {node: '>= 18'}
+
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+ mkdirp@3.0.1:
+ resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
module-details-from-path@1.0.4:
resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==}
@@ -3669,9 +3813,6 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -3780,10 +3921,6 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
- object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
object-inspect@1.13.4:
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'}
@@ -3892,14 +4029,6 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
- pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
- pirates@4.0.7:
- resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
- engines: {node: '>= 6'}
-
pkce-challenge@5.0.0:
resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==}
engines: {node: '>=16.20.0'}
@@ -3918,40 +4047,6 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
- postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-js@4.0.1:
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
-
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
-
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
-
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
@@ -4196,9 +4291,6 @@ packages:
resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
engines: {node: '>=0.10.0'}
- read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
read-package-json-fast@4.0.0:
resolution: {integrity: sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==}
engines: {node: ^18.17.0 || >=20.5.0}
@@ -4496,11 +4588,6 @@ packages:
babel-plugin-macros:
optional: true
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -4524,20 +4611,17 @@ packages:
tailwind-merge@3.3.0:
resolution: {integrity: sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==}
- tailwindcss-animate@1.0.7:
- resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || insiders'
-
- tailwindcss@3.4.17:
- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
- engines: {node: '>=14.0.0'}
- hasBin: true
+ tailwindcss@4.1.6:
+ resolution: {integrity: sha512-j0cGLTreM6u4OWzBeLBpycK0WIh8w7kSwcUsQZoGLHZ7xDTdM69lN64AgoIEEwFi0tnhs4wSykUa5YWxAzgFYg==}
tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
+ tar@7.4.3:
+ resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
+ engines: {node: '>=18'}
+
terser-webpack-plugin@5.3.14:
resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
engines: {node: '>= 10.13.0'}
@@ -4559,13 +4643,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
-
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
-
tinyglobby@0.2.13:
resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==}
engines: {node: '>=12.0.0'}
@@ -4590,9 +4667,6 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
-
tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
@@ -4604,6 +4678,9 @@ packages:
engines: {node: '>=18.0.0'}
hasBin: true
+ tw-animate-css@1.2.9:
+ resolution: {integrity: sha512-9O4k1at9pMQff9EAcCEuy1UNO43JmaPQvq+0lwza9Y0BQ6LB38NiMj+qHqjoQf40355MX+gs6wtlR6H9WsSXFg==}
+
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -4709,9 +4786,6 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
uuid@9.0.1:
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
hasBin: true
@@ -4810,10 +4884,9 @@ packages:
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- yaml@2.7.0:
- resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
- engines: {node: '>= 14'}
- hasBin: true
+ yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
@@ -5457,6 +5530,10 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
+ '@isaacs/fs-minipass@4.0.1':
+ dependencies:
+ minipass: 7.1.2
+
'@jridgewell/gen-mapping@0.3.8':
dependencies:
'@jridgewell/set-array': 1.2.1
@@ -6541,6 +6618,78 @@ snapshots:
transitivePeerDependencies:
- arktype
+ '@tailwindcss/node@4.1.6':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ enhanced-resolve: 5.18.1
+ jiti: 2.4.2
+ lightningcss: 1.29.2
+ magic-string: 0.30.17
+ source-map-js: 1.2.1
+ tailwindcss: 4.1.6
+
+ '@tailwindcss/oxide-android-arm64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-wasm32-wasi@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide@4.1.6':
+ dependencies:
+ detect-libc: 2.0.4
+ tar: 7.4.3
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.1.6
+ '@tailwindcss/oxide-darwin-arm64': 4.1.6
+ '@tailwindcss/oxide-darwin-x64': 4.1.6
+ '@tailwindcss/oxide-freebsd-x64': 4.1.6
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.6
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.6
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.6
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.6
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.6
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.6
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.6
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.6
+
+ '@tailwindcss/postcss@4.1.6':
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ '@tailwindcss/node': 4.1.6
+ '@tailwindcss/oxide': 4.1.6
+ postcss: 8.5.3
+ tailwindcss: 4.1.6
+
'@testing-library/dom@10.4.0':
dependencies:
'@babel/code-frame': 7.26.2
@@ -6891,15 +7040,11 @@ snapshots:
ansi-styles@6.2.1: {}
- any-promise@1.3.0: {}
-
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
picomatch: 2.3.1
- arg@5.0.2: {}
-
argparse@2.0.1: {}
aria-hidden@1.2.4:
@@ -7053,6 +7198,13 @@ snapshots:
node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.24.4)
+ browserslist@4.24.5:
+ dependencies:
+ caniuse-lite: 1.0.30001717
+ electron-to-chromium: 1.5.152
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.3(browserslist@4.24.5)
+
buffer-from@1.1.2: {}
busboy@1.6.0:
@@ -7080,8 +7232,6 @@ snapshots:
callsites@3.1.0: {}
- camelcase-css@2.0.1: {}
-
caniuse-lite@1.0.30001707: {}
caniuse-lite@1.0.30001717: {}
@@ -7110,6 +7260,8 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ chownr@3.0.0: {}
+
chrome-trace-event@1.0.4: {}
cjs-module-lexer@1.4.3: {}
@@ -7142,8 +7294,6 @@ snapshots:
commander@2.20.3: {}
- commander@4.1.1: {}
-
common-tags@1.8.2: {}
commondir@1.0.1: {}
@@ -7200,8 +7350,6 @@ snapshots:
css-mediaquery@0.1.2: {}
- cssesc@3.0.0: {}
-
csstype@3.1.3: {}
damerau-levenshtein@1.0.8: {}
@@ -7252,15 +7400,10 @@ snapshots:
dequal@2.0.3: {}
- detect-libc@2.0.4:
- optional: true
+ detect-libc@2.0.4: {}
detect-node-es@1.1.0: {}
- didyoumean@1.2.2: {}
-
- dlv@1.1.3: {}
-
doctrine@2.1.0:
dependencies:
esutils: 2.0.3
@@ -7286,6 +7429,8 @@ snapshots:
electron-to-chromium@1.5.127: {}
+ electron-to-chromium@1.5.152: {}
+
emoji-mart@5.6.0: {}
emoji-regex@10.4.0: {}
@@ -8166,8 +8311,6 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jiti@1.21.7: {}
-
jiti@2.4.2: {}
js-cookie@3.0.5: {}
@@ -8224,9 +8367,50 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- lilconfig@3.1.3: {}
+ lightningcss-darwin-arm64@1.29.2:
+ optional: true
- lines-and-columns@1.2.4: {}
+ lightningcss-darwin-x64@1.29.2:
+ optional: true
+
+ lightningcss-freebsd-x64@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.29.2:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.29.2:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.29.2:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.29.2:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.29.2:
+ optional: true
+
+ lightningcss@1.29.2:
+ dependencies:
+ detect-libc: 2.0.4
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.29.2
+ lightningcss-darwin-x64: 1.29.2
+ lightningcss-freebsd-x64: 1.29.2
+ lightningcss-linux-arm-gnueabihf: 1.29.2
+ lightningcss-linux-arm64-gnu: 1.29.2
+ lightningcss-linux-arm64-musl: 1.29.2
+ lightningcss-linux-x64-gnu: 1.29.2
+ lightningcss-linux-x64-musl: 1.29.2
+ lightningcss-win32-arm64-msvc: 1.29.2
+ lightningcss-win32-x64-msvc: 1.29.2
loader-runner@4.3.0: {}
@@ -8325,8 +8509,14 @@ snapshots:
minipass@7.1.2: {}
+ minizlib@3.0.2:
+ dependencies:
+ minipass: 7.1.2
+
mitt@3.0.1: {}
+ mkdirp@3.0.1: {}
+
module-details-from-path@1.0.4: {}
motion-dom@12.11.0:
@@ -8339,12 +8529,6 @@ snapshots:
ms@2.1.3: {}
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
-
nanoid@3.3.11: {}
napi-postinstall@0.2.3: {}
@@ -8431,8 +8615,6 @@ snapshots:
object-assign@4.1.1: {}
- object-hash@3.0.0: {}
-
object-inspect@1.13.4: {}
object-keys@1.1.1: {}
@@ -8545,10 +8727,6 @@ snapshots:
pidtree@0.6.0: {}
- pify@2.3.0: {}
-
- pirates@4.0.7: {}
-
pkce-challenge@5.0.0: {}
playwright-core@1.51.1: {}
@@ -8561,35 +8739,6 @@ snapshots:
possible-typed-array-names@1.1.0: {}
- postcss-import@15.1.0(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.10
-
- postcss-js@4.0.1(postcss@8.5.3):
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.5.3
-
- postcss-load-config@4.0.2(postcss@8.5.3):
- dependencies:
- lilconfig: 3.1.3
- yaml: 2.7.0
- optionalDependencies:
- postcss: 8.5.3
-
- postcss-nested@6.2.0(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-selector-parser: 6.1.2
-
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
postcss-value-parser@4.2.0: {}
postcss@8.4.31:
@@ -8769,10 +8918,6 @@ snapshots:
react@19.1.0: {}
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
-
read-package-json-fast@4.0.0:
dependencies:
json-parse-even-better-errors: 4.0.0
@@ -9177,16 +9322,6 @@ snapshots:
optionalDependencies:
'@babel/core': 7.26.10
- sucrase@3.35.0:
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.7
- ts-interface-checker: 0.1.13
-
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -9207,39 +9342,19 @@ snapshots:
tailwind-merge@3.3.0: {}
- tailwindcss-animate@1.0.7(tailwindcss@3.4.17):
- dependencies:
- tailwindcss: 3.4.17
-
- tailwindcss@3.4.17:
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.3
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.7
- lilconfig: 3.1.3
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.5.3
- postcss-import: 15.1.0(postcss@8.5.3)
- postcss-js: 4.0.1(postcss@8.5.3)
- postcss-load-config: 4.0.2(postcss@8.5.3)
- postcss-nested: 6.2.0(postcss@8.5.3)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.10
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
+ tailwindcss@4.1.6: {}
tapable@2.2.1: {}
+ tar@7.4.3:
+ dependencies:
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.2
+ minizlib: 3.0.2
+ mkdirp: 3.0.1
+ yallist: 5.0.0
+
terser-webpack-plugin@5.3.14(webpack@5.98.0):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
@@ -9256,14 +9371,6 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
-
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
-
tinyglobby@0.2.13:
dependencies:
fdir: 6.4.4(picomatch@4.0.2)
@@ -9285,8 +9392,6 @@ snapshots:
dependencies:
typescript: 5.8.3
- ts-interface-checker@0.1.13: {}
-
tsconfig-paths@3.15.0:
dependencies:
'@types/json5': 0.0.29
@@ -9303,6 +9408,8 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ tw-animate-css@1.2.9: {}
+
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
@@ -9406,6 +9513,12 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
+ update-browserslist-db@1.1.3(browserslist@4.24.5):
+ dependencies:
+ browserslist: 4.24.5
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
@@ -9438,8 +9551,6 @@ snapshots:
dependencies:
react: 19.1.0
- util-deprecate@1.0.2: {}
-
uuid@9.0.1: {}
vary@1.1.2: {}
@@ -9470,7 +9581,7 @@ snapshots:
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
acorn: 8.14.1
- browserslist: 4.24.4
+ browserslist: 4.24.5
chrome-trace-event: 1.0.4
enhanced-resolve: 5.18.1
es-module-lexer: 1.7.0
@@ -9574,7 +9685,7 @@ snapshots:
yallist@3.1.1: {}
- yaml@2.7.0: {}
+ yallist@5.0.0: {}
yocto-queue@0.1.0: {}
diff --git a/postcss.config.cjs b/postcss.config.cjs
index e305dd92..19afca40 100644
--- a/postcss.config.cjs
+++ b/postcss.config.cjs
@@ -1,7 +1,6 @@
const config = {
plugins: {
- tailwindcss: {},
- autoprefixer: {},
+ "@tailwindcss/postcss": {},
},
};
diff --git a/src/app/(auth)/sign-in/signin-form.tsx b/src/app/(auth)/sign-in/signin-form.tsx
index 82439c25..3b295f69 100644
--- a/src/app/(auth)/sign-in/signin-form.tsx
+++ b/src/app/(auth)/sign-in/signin-form.tsx
@@ -103,7 +103,7 @@ export function SignInForm() {
},
{
keepErrors: false,
- },
+ }
);
}, [isEmailLogin, form]);
@@ -152,13 +152,15 @@ export function SignInForm() {
home page
.
- ,
+
);
} else if (
err.errors.some((err) => err.code === "form_identifier_not_found")
) {
setWholeFormError(
- `The ${isEmailLogin ? "email" : "username + id"} you entered does not exist. Please try again.`,
+ `The ${
+ isEmailLogin ? "email" : "username + id"
+ } you entered does not exist. Please try again.`
);
} else if (
err.errors.some((err) => err.code === "form_password_incorrect")
@@ -187,7 +189,9 @@ export function SignInForm() {
setIsEmailLogin(!isEmailLogin)}
>
Switch to {isEmailLogin ? "Username" : "Email"} Login
@@ -235,7 +239,7 @@ export function SignInForm() {
e.target.value
.toLowerCase()
.replace(/\s/g, "")
- .substring(0, 15),
+ .substring(0, 15)
)
}
/>
@@ -258,7 +262,7 @@ export function SignInForm() {
{...field}
onChange={(e) =>
field.onChange(
- e.target.value.replace(/\D/g, "").slice(0, 5),
+ e.target.value.replace(/\D/g, "").slice(0, 5)
)
}
/>
diff --git a/src/app/(auth)/sign-up/page.tsx b/src/app/(auth)/sign-up/page.tsx
index 01680288..a263eef7 100644
--- a/src/app/(auth)/sign-up/page.tsx
+++ b/src/app/(auth)/sign-up/page.tsx
@@ -9,7 +9,7 @@ const SignInPage = () => {
diff --git a/src/app/(auth)/sign-up/signup-form.tsx b/src/app/(auth)/sign-up/signup-form.tsx
index 5928db84..1d6a3177 100644
--- a/src/app/(auth)/sign-up/signup-form.tsx
+++ b/src/app/(auth)/sign-up/signup-form.tsx
@@ -67,7 +67,7 @@ export function SignUpForm() {
},
() => {
return undefined;
- },
+ }
);
}
}, [initialConvexSetup, isAuthenticated, router, signUpComplete]);
@@ -87,7 +87,7 @@ export function SignUpForm() {
});
const parsedResponseBody = signUpResponseSchema.safeParse(
- await response.json(),
+ await response.json()
);
if (parsedResponseBody.data?.statusText === "username_is_taken") {
@@ -217,7 +217,7 @@ export function SignUpForm() {
e.target.value
.toLowerCase()
.replace(" ", "")
- .substring(0, 15),
+ .substring(0, 15)
)
}
/>
@@ -240,7 +240,7 @@ export function SignUpForm() {
{...field}
onChange={(e) =>
field.onChange(
- e.target.value.replace(/\D/g, "").slice(0, 5),
+ e.target.value.replace(/\D/g, "").slice(0, 5)
)
}
/>
diff --git a/src/app/(internal-sites)/chats/[chatId]/page.tsx b/src/app/(internal-sites)/chats/[chatId]/page.tsx
index 86fb11b0..fccdaa7c 100644
--- a/src/app/(internal-sites)/chats/[chatId]/page.tsx
+++ b/src/app/(internal-sites)/chats/[chatId]/page.tsx
@@ -116,7 +116,7 @@ const SkeletonMessages = ({ count }: { count: number }) => {
};
const useScrollBehavior = (
- messages: FunctionReturnType | undefined,
+ messages: FunctionReturnType | undefined
) => {
const messagesEndRef = useRef(null);
// I have a isNearBottomRef because I want to to check if something is near the
@@ -192,7 +192,7 @@ const MessageContext: React.FC = ({
if (!replyToMessageId && !editingMessageId) return null;
const message = messages?.find(
- (msg) => msg._id === (replyToMessageId ?? editingMessageId),
+ (msg) => msg._id === (replyToMessageId ?? editingMessageId)
);
if (!message || message.type !== "message") return null;
@@ -215,15 +215,15 @@ const MessageContext: React.FC = ({
onMouseDown={() => {
scrollToMessage(message._id);
}}
- className="relative m-4 mb-2 cursor-pointer rounded-lg border border-secondary-foreground bg-secondary p-2"
+ className="border-secondary-foreground bg-secondary relative m-4 mb-2 cursor-pointer rounded-lg border p-2"
>
-
{contextText}
+
{contextText}
{
e.stopPropagation();
@@ -278,7 +278,7 @@ export default function Page() {
const posthog = usePostHog();
const sendMessage = useMutation(
- api.messages.createMessage,
+ api.messages.createMessage
).withOptimisticUpdate((localStore, args) => {
const chatId: Id<"privateChats"> = args.chatId as Id<"privateChats">;
const content = args.content;
@@ -291,7 +291,7 @@ export default function Page() {
// onto the lists.
if (existingMessages !== undefined && existingChats && userInfo.data) {
const replyTo = existingMessages?.find(
- (msg) => msg._id === args.replyToId,
+ (msg) => msg._id === args.replyToId
);
const now = Date.now();
const newMessage: NonNullable<
@@ -335,13 +335,13 @@ export default function Page() {
} else {
return chat;
}
- }),
+ })
);
}
});
const editMessage = useMutation(
- api.messages.editMessage,
+ api.messages.editMessage
).withOptimisticUpdate((localStore, args) => {
const chatId: Id<"privateChats"> = params.chatId as Id<"privateChats">;
const { newContent, messageId } = args;
@@ -368,11 +368,11 @@ export default function Page() {
} else {
return message;
}
- }),
+ })
);
const lastMessage = existingChats.find(
- (chat) => chat._id === chatId,
+ (chat) => chat._id === chatId
)?.lastMessage;
if (lastMessage?._id === messageId && lastMessage.type === "message") {
@@ -393,7 +393,7 @@ export default function Page() {
} else {
return chat;
}
- }),
+ })
);
}
});
@@ -482,7 +482,7 @@ export default function Page() {
}, [replyToMessageId]);
async function onTextMessageFormSubmit(
- values: z.infer,
+ values: z.infer
) {
const trimmedMessage = values.message.trim();
if (!trimmedMessage) return;
@@ -531,7 +531,7 @@ export default function Page() {
toast.error("A request to clear this chat is already pending");
} else {
toast.error(
- "Failed to create clear chat request. Please try again later.",
+ "Failed to create clear chat request. Please try again later."
);
}
} else {
@@ -591,7 +591,7 @@ export default function Page() {
className="fixed inset-0 z-50 bg-black opacity-75"
>
) : null}
-
+
chatId: {params.chatId}
devMode$.set(false)}>Disable dev mode
-
+
{
router.back();
}}
@@ -672,7 +672,7 @@ export default function Page() {
)}
-
+
{chatInfo.data ? (
"Offline"
) : (
@@ -693,30 +693,30 @@ export default function Page() {
-
{messages.data ? (
-
-
+
+
Let the Conversation Begin!
@@ -727,7 +727,7 @@ export default function Page() {
This is the beginning of an amazing chat. Share ideas,
express yourself, and connect!
-
+
@@ -757,10 +757,10 @@ export default function Page() {
scrollToBottom()}
- className="flex h-10 w-10 items-center justify-center rounded-full bg-primary shadow-lg hover:bg-accent"
+ className="bg-primary hover:bg-accent flex h-10 w-10 items-center justify-center rounded-full shadow-lg"
aria-label="Scroll to bottom"
>
-
+
@@ -787,13 +787,13 @@ export default function Page() {
setReplyToMessageId={setReplyToMessageId}
scrollToMessage={scrollToMessage}
/>
-