From 7d1b86acdbcead8380e8ae302c897b8104e84ce0 Mon Sep 17 00:00:00 2001 From: Maulana Sodiqin Date: Wed, 26 Nov 2025 16:16:38 +0700 Subject: [PATCH] fix(ui): add dark mode support to Input, Textarea and profile modal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add dark mode styling to Input component (bg, text, border, placeholder) - Add dark mode styling to Textarea component - Update profile page with blurred backdrop overlay - Add shadow and proper dark mode to modal container 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- apps/hackathon/src/app/profile/page.tsx | 4 ++-- libs/ui/src/atoms/input/input.tsx | 2 +- libs/ui/src/atoms/textarea/textarea.tsx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/hackathon/src/app/profile/page.tsx b/apps/hackathon/src/app/profile/page.tsx index 5d1c195..59a28ff 100644 --- a/apps/hackathon/src/app/profile/page.tsx +++ b/apps/hackathon/src/app/profile/page.tsx @@ -128,8 +128,8 @@ const ProfilePage: FC = (): ReactElement => { const isLoading = isUpdating || isUploading; return ( -
-
+
+

Edit Profile

diff --git a/libs/ui/src/atoms/input/input.tsx b/libs/ui/src/atoms/input/input.tsx index fb2b579..6ee7bca 100644 --- a/libs/ui/src/atoms/input/input.tsx +++ b/libs/ui/src/atoms/input/input.tsx @@ -56,7 +56,7 @@ export const Input: FC = ({ }; const mergedClassName = cn( - `px-[12px] py-[8px] text-neutral-800 bg-white placeholder:text-neutral-300 border border-neutral-200 hover:border-blue-300 focus:outline-1 focus:outline-blue-500 rounded-md font-bai-jamjuree w-full ${ + `px-[12px] py-[8px] text-neutral-800 dark:text-white bg-white dark:bg-neutral-800 placeholder:text-neutral-300 dark:placeholder:text-neutral-500 border border-neutral-200 dark:border-neutral-600 hover:border-blue-300 dark:hover:border-blue-500 focus:outline-1 focus:outline-blue-500 dark:focus:outline-primary-500 rounded-md font-bai-jamjuree w-full ${ widthform === 'standard' ? 'min-w-70' : '' }`, sizeClasses[size].textSize, diff --git a/libs/ui/src/atoms/textarea/textarea.tsx b/libs/ui/src/atoms/textarea/textarea.tsx index 1c31100..eaab380 100644 --- a/libs/ui/src/atoms/textarea/textarea.tsx +++ b/libs/ui/src/atoms/textarea/textarea.tsx @@ -38,7 +38,7 @@ export const Textarea: FC = ({ ...rest }): ReactElement => { const mergedClassName = cn( - 'rounded-md border border-neutral-200 hover:border-blue-300 focus:outline-1 focus:outline-blue-500 px-[12px] py-[8px] invalid:border-danger-500 invalid:text-danger-500', + 'rounded-md border border-neutral-200 dark:border-neutral-600 hover:border-blue-300 dark:hover:border-blue-500 focus:outline-1 focus:outline-blue-500 dark:focus:outline-primary-500 px-[12px] py-[8px] bg-white dark:bg-neutral-800 text-neutral-800 dark:text-white placeholder:text-neutral-300 dark:placeholder:text-neutral-500 invalid:border-danger-500 invalid:text-danger-500', sizeClasses[size], disabled && disabledClass, error && errorClass,