From 3d6be163e83bcc08557ce7234013335ce9039b7f Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sat, 11 Oct 2025 01:34:20 +0700 Subject: [PATCH] :triangular_flag_on_post: (flags) add username generator generate username from full name and combine with random string. --- features/auth/lib/submitRegisterForm.ts | 12 ++++++++++++ shared/helper/generateRandomString.ts | 7 +++++++ 2 files changed, 19 insertions(+) create mode 100644 shared/helper/generateRandomString.ts diff --git a/features/auth/lib/submitRegisterForm.ts b/features/auth/lib/submitRegisterForm.ts index 6ddcd47..e0e9c7b 100644 --- a/features/auth/lib/submitRegisterForm.ts +++ b/features/auth/lib/submitRegisterForm.ts @@ -3,6 +3,7 @@ import { apiErrorHandler } from "@/shared/lib/ky/errorHandler"; import { RegisterInputs } from "../ui/components/ProvisionInput"; import { ServerRequestCallback } from "@/shared/types/ServerRequestCallback"; +import { generateRandomString } from "@/shared/helper/generateRandomString"; export const submitRegisterForm = async ( data: RegisterInputs @@ -15,6 +16,17 @@ export const submitRegisterForm = async ( }); try { + console.log({ + ...data, + username: + data.fullname + .trim() + .split(" ")[0] + .toLowerCase() + .substring(0, 5) + + "_" + + generateRandomString(10), + }); await new Promise((resolve) => setTimeout(resolve, 3000)); return { success: true, diff --git a/shared/helper/generateRandomString.ts b/shared/helper/generateRandomString.ts new file mode 100644 index 0000000..3890f62 --- /dev/null +++ b/shared/helper/generateRandomString.ts @@ -0,0 +1,7 @@ +import { customAlphabet } from "nanoid"; + +export const generateRandomString = (length: number = 10): string => { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + return customAlphabet(characters, length)(); +};