From a999d7a0d9ea8b365753d7ed1c6a773698920fbd Mon Sep 17 00:00:00 2001 From: chrbu92 Date: Thu, 3 Oct 2024 09:49:38 -0400 Subject: [PATCH] feat: added uuid generator tool --- components/utils/tools-list.ts | 6 +++ pages/utilities/uuid-generator.tsx | 68 ++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 pages/utilities/uuid-generator.tsx diff --git a/components/utils/tools-list.ts b/components/utils/tools-list.ts index 4a07f8f..9d127de 100644 --- a/components/utils/tools-list.ts +++ b/components/utils/tools-list.ts @@ -119,4 +119,10 @@ export const tools = [ "Quickly generate secure hashes for your text using algorithms like SHA-256, SHA-512, MD5, and more. Ideal for password hashing, data integrity checks, and cryptographic applications.", link: "/utilities/hash-generator", }, + { + title: "UUID Generator", + description: + "Generate random UUIDs.", + link: "/utilities/uuid-generator", + }, ]; diff --git a/pages/utilities/uuid-generator.tsx b/pages/utilities/uuid-generator.tsx new file mode 100644 index 0000000..4c10af6 --- /dev/null +++ b/pages/utilities/uuid-generator.tsx @@ -0,0 +1,68 @@ +import React, { useState } from "react"; +import PageHeader from "@/components/PageHeader"; +import { Card } from "@/components/ds/CardComponent"; +import { Button } from "@/components/ds/ButtonComponent"; +import Header from "@/components/Header"; +import { useCopyToClipboard } from "@/components/hooks/useCopyToClipboard"; +import CallToActionGrid from "@/components/CallToActionGrid"; +import Meta from "@/components/Meta"; +import { CMDK } from "@/components/CMDK"; +import { Input } from "@/components/ds/InputComponent"; +import GitHubContribution from "@/components/GitHubContribution"; + +export default function UuidGenerator() { + const { buttonText, handleCopy } = useCopyToClipboard(); + const { buttonText: copyAndNextText, handleCopy: handleCopyAndNext } = + useCopyToClipboard("Copy and Generate Next"); + + const copyAndNext = () => { + handleCopyAndNext(currentUuid); + setCurrentUUid(crypto.randomUUID()); + }; + + const [currentUuid, setCurrentUUid] = useState(crypto.randomUUID()); + + return ( +
+ +
+ + +
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ +
+
+ + + +
+ ); +}