From 842a2eb6c7bc8f215a3e6b700c5c8bf0b175b7d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Yusuf=20Akg=C3=BCl?= <s86116@bht-berlin.de>
Date: Thu, 13 Jul 2023 04:32:09 +0200
Subject: [PATCH] last fix no cap, now you cant use special charackters as a
 username :)

---
 components/user-name-form.tsx |  2 +-
 lib/validations/auth.ts       |  6 +++++-
 lib/validations/username.ts   |  6 +++---
 package-lock.json             | 16 ++++++++--------
 package.json                  |  4 ++--
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/components/user-name-form.tsx b/components/user-name-form.tsx
index a9a6bb6..609e0f7 100644
--- a/components/user-name-form.tsx
+++ b/components/user-name-form.tsx
@@ -91,7 +91,7 @@ export function UserNameForm({ user, className, ...props }: UserNameFormProps) {
                         </Label>
                         <Input
                             id='name'
-                            className='w-[400px] pl-6'
+                            className='w-full pl-6'
                             size={32}
                             {...register('name')}
                         />
diff --git a/lib/validations/auth.ts b/lib/validations/auth.ts
index cc3f635..7448163 100644
--- a/lib/validations/auth.ts
+++ b/lib/validations/auth.ts
@@ -7,7 +7,11 @@ export const userAuthSchema = z.object({
             z.string().email("Invalid email format"),
         ])
         .optional(),
-    username: z.string().min(3, "Username must be at least 3 characters").max(15, "Username must be at most 15 characters").optional(),
+    username: z.string()
+        .min(3, "Username must be at least 3 characters")
+        .max(15, "Username must be at most 15 characters")
+        .regex(/^[a-zA-Z0-9_]+$/, "Please dont use special characters in your username")
+        .optional(),
     email: z.string().email("Invalid email format").optional(),
     password: z.string().min(6, "Password must be at least 6 characters").max(18, "Password must be at most 18 characters"),
 })
\ No newline at end of file
diff --git a/lib/validations/username.ts b/lib/validations/username.ts
index 8d5202d..01f0578 100644
--- a/lib/validations/username.ts
+++ b/lib/validations/username.ts
@@ -3,7 +3,7 @@ import { z } from 'zod'
 export const UsernameValidator = z.object({
     name: z
         .string()
-        .min(3)
-        .max(32)
-        .regex(/^[a-zA-Z0-9_]+$/),
+        .min(3, "Username must be at least 3 characters")
+        .max(15, "Username must be at most 15 characters")
+        .regex(/^[a-zA-Z0-9_]+$/, "Please dont use special characters in your username")
 })
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 44f05c6..bef1938 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -59,10 +59,10 @@
                 "@testing-library/react": "^14.0.0",
                 "@types/bcrypt": "^5.0.0",
                 "@types/jest": "^29.5.3",
-                "@types/node": "^20.4.1",
+                "@types/node": "^20.4.2",
                 "@types/nodemailer": "^6.4.8",
                 "@types/react": "^18.2.14",
-                "@types/react-dom": "^18.2.6",
+                "@types/react-dom": "^18.2.7",
                 "@types/swagger-ui-react": "^4.18.0",
                 "autoprefixer": "10.4.14",
                 "eslint": "^8.44.0",
@@ -3387,9 +3387,9 @@
             "dev": true
         },
         "node_modules/@types/node": {
-            "version": "20.4.1",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz",
-            "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==",
+            "version": "20.4.2",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz",
+            "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==",
             "dev": true
         },
         "node_modules/@types/nodemailer": {
@@ -3431,9 +3431,9 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.2.6",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz",
-            "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==",
+            "version": "18.2.7",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
+            "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
             "devOptional": true,
             "dependencies": {
                 "@types/react": "*"
diff --git a/package.json b/package.json
index f0cefaf..08c4c33 100644
--- a/package.json
+++ b/package.json
@@ -64,10 +64,10 @@
         "@testing-library/react": "^14.0.0",
         "@types/bcrypt": "^5.0.0",
         "@types/jest": "^29.5.3",
-        "@types/node": "^20.4.1",
+        "@types/node": "^20.4.2",
         "@types/nodemailer": "^6.4.8",
         "@types/react": "^18.2.14",
-        "@types/react-dom": "^18.2.6",
+        "@types/react-dom": "^18.2.7",
         "@types/swagger-ui-react": "^4.18.0",
         "autoprefixer": "10.4.14",
         "eslint": "^8.44.0",
-- 
GitLab