"use client"; // The persistent search bar, as a composition of two pieces: // // • SearchBar — the query box, the submit, and one chip row. The standard // path, and the only thing a first-time visitor must read. // • FiltersPanel — the profile row and every filter, placed by // FiltersContainer (inline from xl, a sheet below it). // // It stays mounted in the workspace shell, so the committed search survives // `/` ⇄ `/ask`. All of its state comes from the shared SearchSession. import type { ReactNode } from "react"; import SearchBar from "./SearchBar"; import { FiltersSection } from "./FiltersContainer"; export default function WorkspaceSearchBar({ // The [Search | Chat | Split] control, when the caller has one. It is an // export-app component and this lives in common/, so it arrives as a slot — // and it belongs beside the search box, not below the filters. nav, }: { nav?: ReactNode; }) { // A fragment, not a column: the search form is `position: sticky` below lg // and can only travel inside its containing block, so it has to reach its // caller's column — the one that spans the bar AND the results — as a direct // child. A wrapper here would pin it for its own height and no further. return ( <> ); }