()
| 14 | } |
| 15 | |
| 16 | const SettingPage: NextPage = () => { |
| 17 | const { t } = useTranslation(); |
| 18 | const router = useRouter(); |
| 19 | const [sidebarOpen, setSidebarOpen] = useState(false); |
| 20 | |
| 21 | const navigation = [ |
| 22 | { |
| 23 | name: t("common.back"), |
| 24 | href: "/", |
| 25 | icon: ArrowUturnLeftIcon, |
| 26 | current: false, |
| 27 | }, |
| 28 | { |
| 29 | name: t("setting.general"), |
| 30 | href: "/setting", |
| 31 | icon: Cog6ToothIcon, |
| 32 | current: true, |
| 33 | }, |
| 34 | ]; |
| 35 | |
| 36 | return ( |
| 37 | <> |
| 38 | <Head> |
| 39 | <title>{t("setting.self")}</title> |
| 40 | </Head> |
| 41 | |
| 42 | <div className="dark:bg-zinc-800"> |
| 43 | <Transition.Root show={sidebarOpen} as={Fragment}> |
| 44 | <Dialog as="div" className="relative z-50 lg:hidden" onClose={setSidebarOpen}> |
| 45 | <Transition.Child |
| 46 | as={Fragment} |
| 47 | enter="transition-opacity ease-linear duration-300" |
| 48 | enterFrom="opacity-0" |
| 49 | enterTo="opacity-100" |
| 50 | leave="transition-opacity ease-linear duration-300" |
| 51 | leaveFrom="opacity-100" |
| 52 | leaveTo="opacity-0" |
| 53 | > |
| 54 | <div className="fixed inset-0 bg-gray-900/80" /> |
| 55 | </Transition.Child> |
| 56 | |
| 57 | <div className="fixed inset-0 flex"> |
| 58 | <Transition.Child |
| 59 | as={Fragment} |
| 60 | enter="transition ease-in-out duration-300 transform" |
| 61 | enterFrom="-translate-x-full" |
| 62 | enterTo="translate-x-0" |
| 63 | leave="transition ease-in-out duration-300 transform" |
| 64 | leaveFrom="translate-x-0" |
| 65 | leaveTo="-translate-x-full" |
| 66 | > |
| 67 | <Dialog.Panel className="relative mr-16 flex w-full max-w-xs flex-1"> |
| 68 | <Transition.Child |
| 69 | as={Fragment} |
| 70 | enter="ease-in-out duration-300" |
| 71 | enterFrom="opacity-0" |
| 72 | enterTo="opacity-100" |
| 73 | leave="ease-in-out duration-300" |
nothing calls this directly
no test coverage detected