feat(web-ui): pass search-select handlers from App to Topbar
Wires onOpenAsset and onOpenProject through Topbar so that selecting an asset/project from the global search opens the asset detail or navigates to the project view. Adds openProjectFromAnywhere helper.
This commit is contained in:
parent
45c0e0f914
commit
61d02d522b
1 changed files with 10 additions and 2 deletions
|
|
@ -24,6 +24,7 @@ function App() {
|
|||
}, []);
|
||||
|
||||
const navigate = (id) => { setOpenAsset(null); setRoute(id); };
|
||||
const openProjectFromAnywhere = (p) => { setOpenAsset(null); setOpenProject(p); setRoute('library'); };
|
||||
|
||||
const crumbs = React.useMemo(() => {
|
||||
if (openAsset) return [
|
||||
|
|
@ -67,7 +68,7 @@ function App() {
|
|||
switch (route) {
|
||||
case 'home': content = <Home navigate={navigate} />; break;
|
||||
case 'library': content = <Library navigate={navigate} onOpenAsset={setOpenAsset} openProject={openProject} />; break;
|
||||
case 'projects': content = <Projects navigate={navigate} onOpenProject={(p) => { setOpenProject(p); setRoute('library'); }} />; break;
|
||||
case 'projects': content = <Projects navigate={navigate} onOpenProject={openProjectFromAnywhere} />; break;
|
||||
case 'upload': content = <Upload navigate={navigate} />; break;
|
||||
case 'recorders': content = <Recorders navigate={navigate} onNew={() => setShowNewRecorder(true)} />; break;
|
||||
case 'schedule': content = <Schedule navigate={navigate} />; break;
|
||||
|
|
@ -88,7 +89,14 @@ function App() {
|
|||
<div className="app" data-density="comfortable" data-grid-size="md" data-sidebar="expanded">
|
||||
<Sidebar active={openAsset ? 'library' : route} onNavigate={navigate} />
|
||||
<div className="main">
|
||||
{!openAsset && <Topbar crumbs={crumbs} onNavigate={navigate} />}
|
||||
{!openAsset && (
|
||||
<Topbar
|
||||
crumbs={crumbs}
|
||||
onNavigate={navigate}
|
||||
onOpenAsset={setOpenAsset}
|
||||
onOpenProject={openProjectFromAnywhere}
|
||||
/>
|
||||
)}
|
||||
{content}
|
||||
</div>
|
||||
{showNewRecorder && <NewRecorderModal open={showNewRecorder} onClose={() => setShowNewRecorder(false)} />}
|
||||
|
|
|
|||
Loading…
Reference in a new issue