feat(design): the header search is a 40 glass pill; a wrapper field dims for its input only (E28 S3c)

This commit is contained in:
2026-09-25 00:05:31 +02:00
parent dac9d89f91
commit db10bfbbca
13 changed files with 78 additions and 39 deletions
+3 -3
View File
@@ -32,12 +32,12 @@ import { IconButton } from "./ui/IconButton";
// so the trigger deliberately lives OUTSIDE it.
export default function VideoInfoCard({
video,
onMedia = false,
round = false,
className,
}: {
video: Video;
/** The trigger sits on the thumbnail: the round, dark translucent IconButton (A2). */
onMedia?: boolean;
round?: boolean;
/** Trigger placement + hover-reveal. The reveal/touch-suppression rules live with the host, which
* knows its surface (overlay vs inline); the skin is the IconButton's. */
className?: string;
@@ -95,7 +95,7 @@ export default function VideoInfoCard({
return (
<>
<IconButton
variant={onMedia ? "media" : "ghost"}
variant={round ? "media" : "ghost"}
ref={pop.refs.setReference}
{...pop.getReferenceProps()}
// The overlay trigger sits inside the thumbnail's <a> (like the play buttons), so a click must