From f1a0e9ab4025ea6aff3be0b9bbcc7b3673e12ed3 Mon Sep 17 00:00:00 2001 From: TerryM Date: Thu, 28 May 2026 22:01:17 +0800 Subject: [PATCH] feat: animate dropdown menus --- src/index.css | 5 +++++ src/layouts/PublicLayout.tsx | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index 5fa7c2c..ffdfa63 100644 --- a/src/index.css +++ b/src/index.css @@ -30,6 +30,11 @@ header button { -webkit-tap-highlight-color: transparent; } +.ark-dropdown-enter { + --animate-duration: 220ms; + transform-origin: top center; +} + /* Desktop header nav: thin scrollbar when links overflow (still 單列) */ .header-nav-scroll { scrollbar-width: thin; diff --git a/src/layouts/PublicLayout.tsx b/src/layouts/PublicLayout.tsx index 7ae9dc9..3ffc598 100644 --- a/src/layouts/PublicLayout.tsx +++ b/src/layouts/PublicLayout.tsx @@ -60,6 +60,9 @@ function navClassName(active: boolean) { ].join(" "); } +const dropdownAnimationClass = + "animate__animated animate__fadeInDown ark-dropdown-enter"; + type LanguageDropdownProps = { lang: Lang; setLang: (lang: Lang) => void; @@ -145,7 +148,7 @@ function LanguageDropdown({ {open ? (
@@ -232,7 +235,7 @@ function MobileLanguageButton({ {open ? (
@@ -462,7 +465,9 @@ export function PublicLayout() {
{open ? ( -
+