From cba24c5d95e2c9afbed0c6b0083e2026075c3380 Mon Sep 17 00:00:00 2001 From: talksik Date: Sat, 21 Mar 2026 11:39:43 -0700 Subject: [PATCH] enhance stream view --- .../features/compose/controls-indicator.tsx | 1 - .../particles/playback-page-indicator.tsx | 4 +- js/src/features/particles/stream-view.tsx | 118 ++++++++++-------- 3 files changed, 66 insertions(+), 57 deletions(-) diff --git a/js/src/features/compose/controls-indicator.tsx b/js/src/features/compose/controls-indicator.tsx index e46da0a..42da631 100644 --- a/js/src/features/compose/controls-indicator.tsx +++ b/js/src/features/compose/controls-indicator.tsx @@ -43,7 +43,6 @@ export default function ControlsIndicator({ type, children }: ControlsIndicatorP {children ?
{children}
:
} - {children && ยท}
Hold{" "} {/* Fill */}
-
- - - - - - navigate("/")} - > - - - - - - navigate(`/${networkId}`)} - > - - - - - {streamParticle && ( - - - - {getParticleDisplayName(streamParticle)} - - - )} - - {currentParticle && ( - <> - - - - - - )} - - - - -
+ {/* Main playback area */}
@@ -456,6 +406,65 @@ export function StreamView({ path, streamParticle }: StreamViewProps) { ); } +function TopBar({ networkId, particle, streamParticle }: { networkId: string; particle: Particle; streamParticle: Particle & { type: "stream" } }) { + const navigate = useNavigate(); + + return ( +
+ + + + + + navigate("/")} + > + + + + + + navigate(`/${networkId}`)} + > + + + + + {streamParticle && ( + <> + + + {getParticleDisplayName(streamParticle)} + + + )} + + {particle && ( + <> + + + + + + )} + + + + +
+ ); +} + function NetworkBreadcrumbContent({ networkId }: { networkId: string }) { const { data: networks } = useNetworks(); const network = networks?.find((n) => n.id === networkId); @@ -480,13 +489,14 @@ function ParticleBreadcrumbContent({ particle }: { particle: Particle }) { const initials = createdByEmail.slice(0, 2).toUpperCase(); return ( - + {initials} - {prefix} + {prefix} - {formatDistanceToNow(particle.created_at.toISOString())} ) }