diff --git a/js/src/features/particles/stream-view.tsx b/js/src/features/particles/stream-view.tsx index 96908aa..82f5a1a 100644 --- a/js/src/features/particles/stream-view.tsx +++ b/js/src/features/particles/stream-view.tsx @@ -16,7 +16,7 @@ import { Button } from "@/components/ui/button"; import { Home, Settings } from "lucide-react"; import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "@/components/ui/breadcrumb"; import { WindowControls } from "@/components/window-controls"; -import { formatDistanceToNow } from "@/lib/time-utils"; +import { RelativeTimestamp } from "@/components/relative-timestamp"; import { useStreamPlayback } from "@/hooks/use-stream-playback"; import { usePrefetchAdjacentMedia } from "@/hooks/use-prefetch-adjacent-media"; @@ -179,8 +179,12 @@ export function StreamView({ path, streamParticle }: StreamViewProps) { ); // Click-to-navigate: left 30% = prev, right 70% = next + // Suppressed when the user has selected text (drag-to-select) const handlePlaybackClick = useCallback( (e: React.MouseEvent) => { + const selection = window.getSelection(); + if (selection && selection.toString().length > 0) return; + const rect = e.currentTarget.getBoundingClientRect(); const x = (e.clientX - rect.left) / rect.width; if (x < 0.3) prev(); @@ -391,7 +395,7 @@ function ParticleBreadcrumbContent({ particle, networkId }: { particle: Particle {initials} - {prefix} - {formatDistanceToNow(particle.created_at.toISOString())} + {prefix} - ) } diff --git a/js/src/features/particles/text-particle-view.tsx b/js/src/features/particles/text-particle-view.tsx index b5c8532..a1393a6 100644 --- a/js/src/features/particles/text-particle-view.tsx +++ b/js/src/features/particles/text-particle-view.tsx @@ -98,7 +98,7 @@ export function TextParticleView({

-

+

{content}