diff --git a/package.json b/package.json index 5b1d28c..9602cda 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { + "@fontsource-variable/inter": "^5.2.8", + "@fontsource/ibm-plex-mono": "^5.2.7", "@headlessui/react": "^2.2.9", "@heroicons/react": "^2.0.16", "@swc/helpers": "^0.5.11", @@ -27,6 +29,7 @@ "react-hook-form": "^7.42.1", "react-timeago": "^8.3.0", "sass": "^1.57.1", + "tailwind-merge": "^3.3.1", "true-myth": "^9.2.0", "usehooks-ts": "^3.1.1", "zod": "^4.1.12" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1680336..f30b3be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,12 @@ importers: .: dependencies: + '@fontsource-variable/inter': + specifier: ^5.2.8 + version: 5.2.8 + '@fontsource/ibm-plex-mono': + specifier: ^5.2.7 + version: 5.2.7 '@headlessui/react': specifier: ^2.2.9 version: 2.2.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -44,6 +50,9 @@ importers: sass: specifier: ^1.57.1 version: 1.93.2 + tailwind-merge: + specifier: ^3.3.1 + version: 3.3.1 true-myth: specifier: ^9.2.0 version: 9.2.0 @@ -357,6 +366,12 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@fontsource-variable/inter@5.2.8': + resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} + + '@fontsource/ibm-plex-mono@5.2.7': + resolution: {integrity: sha512-MKAb8qV+CaiMQn2B0dIi1OV3565NYzp3WN5b4oT6LTkk+F0jR6j0ZN+5BKJiIhffDC3rtBULsYZE65+0018z9w==} + '@headlessui/react@2.2.9': resolution: {integrity: sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ==} engines: {node: '>=10'} @@ -2508,6 +2523,9 @@ packages: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} engines: {node: '>=20'} + tailwind-merge@3.3.1: + resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} + tailwindcss@4.1.15: resolution: {integrity: sha512-k2WLnWkYFkdpRv+Oby3EBXIyQC8/s1HOFMBUViwtAh6Z5uAozeUSMQlIsn/c6Q2iJzqG6aJT3wdPaRNj70iYxQ==} @@ -2912,6 +2930,10 @@ snapshots: '@floating-ui/utils@0.2.10': {} + '@fontsource-variable/inter@5.2.8': {} + + '@fontsource/ibm-plex-mono@5.2.7': {} + '@headlessui/react@2.2.9(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -5139,6 +5161,8 @@ snapshots: tagged-tag@1.0.0: {} + tailwind-merge@3.3.1: {} + tailwindcss@4.1.15: {} tapable@2.3.0: {} diff --git a/src/components/common/ErrorCard.tsx b/src/components/common/ErrorCard.tsx index 5d4c2b2..ae7058d 100644 --- a/src/components/common/ErrorCard.tsx +++ b/src/components/common/ErrorCard.tsx @@ -1,6 +1,6 @@ import type { FunctionComponent, ReactNode } from "react"; import { XCircleIcon } from "@heroicons/react/20/solid"; -import clsx from "clsx"; +import { cn } from "@/lib/utils"; export type ErrorCardProps = { title: ReactNode; @@ -17,7 +17,7 @@ const ErrorCard: FunctionComponent = ({ }) => { return (
= ({ }) => { return ( <> -
{title}:
-
{children}
+
{title}:
+
{children}
); }; diff --git a/src/components/form/LookupInput.tsx b/src/components/form/LookupInput.tsx index 75ea498..0592d40 100644 --- a/src/components/form/LookupInput.tsx +++ b/src/components/form/LookupInput.tsx @@ -17,7 +17,7 @@ import { ListboxOption, Transition, } from "@headlessui/react"; -import clsx from "clsx"; +import { cn } from "@/lib/utils"; import type { Maybe } from "true-myth"; import { placeholders } from "@/constants"; @@ -121,7 +121,7 @@ const LookupInput: FunctionComponent = ({ <>