diff --git a/src/App.css b/src/App.css index fb77e43d..ba3f3ec8 100644 --- a/src/App.css +++ b/src/App.css @@ -2619,7 +2619,34 @@ body.has-player .chat-fab { } } -/* Below-header search row — small viewports only */ +/* Below-header search row — small viewports only. The reveal wrapper eases + its single grid track between 0fr and 1fr so the row (theme borders and + all) slides open and shut; the clip keeps the collapsed track at zero. */ +.header-search-reveal { + display: grid; + grid-template-rows: 0fr; + opacity: 0; + transition: + grid-template-rows var(--dur-reveal) var(--ease-out), + opacity var(--dur-reveal) var(--ease-out); +} + +.header-search-reveal--open { + grid-template-rows: 1fr; + opacity: 1; +} + +.header-search-reveal-clip { + min-height: 0; + overflow: hidden; +} + +@media (prefers-reduced-motion: reduce) { + .header-search-reveal { + transition: none; + } +} + .header-search-below { display: flex; align-items: center; @@ -2637,7 +2664,7 @@ body.has-player .chat-fab { } @media (min-width: 860px) { - .header-search-below { + .header-search-reveal { display: none; } } diff --git a/src/components/AppHeader.tsx b/src/components/AppHeader.tsx index 4e80c8ff..d7a3eb2b 100644 --- a/src/components/AppHeader.tsx +++ b/src/components/AppHeader.tsx @@ -117,14 +117,23 @@ export function AppHeader( - {searchExpanded && ( -
{profileUser.username}
@@ -856,7 +859,7 @@ export function UserPublicProfile() {