11'use client' ;
22
33import { Fragment , useState , useEffect } from 'react' ;
4- import { Dialog , DialogPanel , DialogTitle , Transition , TransitionChild , Listbox , ListboxButton , ListboxOptions , ListboxOption } from '@headlessui/react' ;
4+ import { Dialog , DialogPanel , DialogTitle , Transition , TransitionChild , Listbox , ListboxButton , ListboxOptions , ListboxOption , Button } from '@headlessui/react' ;
55import { useTheme } from '@/contexts/ThemeContext' ;
66import { useConfig } from '@/contexts/ConfigContext' ;
77import { ChevronUpDownIcon , CheckIcon } from './icons/Icons' ;
@@ -68,7 +68,7 @@ export function SettingsModal({ isOpen, setIsOpen }: SettingsModalProps) {
6868 < label className = "block text-sm font-medium text-foreground" > Theme</ label >
6969 < Listbox value = { selectedTheme } onChange = { ( newTheme ) => setTheme ( newTheme . id ) } >
7070 < div className = "relative" >
71- < ListboxButton className = "relative w-full cursor-pointer rounded-lg bg-background py-2 pl-3 pr-10 text-left text-foreground shadow-sm focus:outline-none focus:ring-2 focus:ring-accent" >
71+ < ListboxButton className = "relative w-full cursor-pointer rounded-lg bg-background py-2 pl-3 pr-10 text-left text-foreground shadow-sm focus:outline-none focus:ring-2 focus:ring-accent transform transition-transform duration-200 ease-in-out hover:scale-[1.01] hover:text-accent " >
7272 < span className = "block truncate" > { selectedTheme . name } </ span >
7373 < span className = "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2" >
7474 < ChevronUpDownIcon className = "h-5 w-5 text-muted" />
@@ -134,12 +134,12 @@ export function SettingsModal({ isOpen, setIsOpen }: SettingsModalProps) {
134134 </ div >
135135
136136 < div className = "mt-6 flex justify-end space-x-3" >
137- < button
137+ < Button
138138 type = "button"
139139 className = "inline-flex justify-center rounded-lg bg-accent px-4 py-2 text-sm
140140 font-medium text-white hover:bg-accent/90 focus:outline-none
141141 focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2
142- transition-colors "
142+ transform transition-transform duration-200 ease-in-out hover:scale-[1.04] hover:text-background "
143143 onClick = { async ( ) => {
144144 await updateConfig ( {
145145 apiKey : localApiKey ,
@@ -149,21 +149,21 @@ export function SettingsModal({ isOpen, setIsOpen }: SettingsModalProps) {
149149 } }
150150 >
151151 Save
152- </ button >
153- < button
152+ </ Button >
153+ < Button
154154 type = "button"
155155 className = "inline-flex justify-center rounded-lg bg-background px-4 py-2 text-sm
156156 font-medium text-foreground hover:bg-background/90 focus:outline-none
157157 focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2
158- transition-colors "
158+ transform transition-transform duration-200 ease-in-out hover:scale-[1.04] hover:text-accent "
159159 onClick = { ( ) => {
160160 setLocalApiKey ( apiKey ) ;
161161 setLocalBaseUrl ( baseUrl ) ;
162162 setIsOpen ( false ) ;
163163 } }
164164 >
165165 Cancel
166- </ button >
166+ </ Button >
167167 </ div >
168168 </ DialogPanel >
169169 </ TransitionChild >
0 commit comments