fix(graph-pdf-chat): resolution de la propagation des clics sur le graphe et arret du detournement de copie sur le chat PDF
Some checks failed
CI / Lint, Test & Build (push) Failing after 47s
CI / Deploy production (on server) (push) Has been skipped

This commit is contained in:
Antigravity
2026-05-24 19:12:36 +00:00
parent 682f8b7118
commit 8697ae244f
2 changed files with 20 additions and 5 deletions

View File

@@ -86,7 +86,10 @@ export function DocumentQAOverlay({ attachment, noteId, noteContent, onClose, on
}
return (
<div className="fixed inset-0 z-[100] flex items-center justify-center p-6 bg-black/40 backdrop-blur-sm">
<div
onCopy={(e) => e.stopPropagation()}
className="fixed inset-0 z-[100] flex items-center justify-center p-6 bg-black/40 backdrop-blur-sm"
>
<div className="w-full max-w-6xl h-[88vh] bg-background border border-border rounded-2xl shadow-2xl flex overflow-hidden">
{/* Left: PDF Preview */}
<div className="flex-1 flex flex-col border-r border-border">

View File

@@ -482,7 +482,7 @@ export function NoteGraphView({ embedded = false }: { embedded?: boolean }) {
{/* Zoom to fit */}
{!loading && graphData.nodes.length > 0 && (
<button
onClick={handleZoomToFit}
onClick={(e) => { e.stopPropagation(); handleZoomToFit() }}
className="absolute top-4 right-4 z-10 flex items-center gap-1.5 px-3 py-1.5 bg-white border border-border/50 rounded-md text-[11px] text-ink font-medium shadow-sm hover:bg-gray-50 transition-colors animate-fade-in"
>
<Maximize2 size={12} />
@@ -492,7 +492,11 @@ export function NoteGraphView({ embedded = false }: { embedded?: boolean }) {
{/* Cluster legend (Interactive Notebook Filter) */}
{rawData && rawData.clusters && rawData.clusters.length > 0 && (
<div className="absolute top-4 left-4 z-10 flex flex-col gap-2 max-h-[42vh] overflow-y-auto pr-1">
<div
onClick={(e) => e.stopPropagation()}
onDoubleClick={(e) => e.stopPropagation()}
className="absolute top-4 left-4 z-10 flex flex-col gap-2 max-h-[42vh] overflow-y-auto pr-1"
>
<span className="text-[9px] font-bold text-slate-800 uppercase tracking-wider pl-1 select-none">{t('graphView.notebooks')}</span>
{(selectedNotebookId || focusNodeId) && (
<div className="flex flex-col gap-1">
@@ -545,7 +549,11 @@ export function NoteGraphView({ embedded = false }: { embedded?: boolean }) {
{/* Filtres de liens + seuil sémantique */}
{!loading && !error && rawData && (
<div className="absolute bottom-4 left-4 z-10 flex flex-col gap-2 max-w-[220px]">
<div
onClick={(e) => e.stopPropagation()}
onDoubleClick={(e) => e.stopPropagation()}
className="absolute bottom-4 left-4 z-10 flex flex-col gap-2 max-w-[220px]"
>
<button
type="button"
onClick={() => setControlsOpen(v => !v)}
@@ -612,7 +620,11 @@ export function NoteGraphView({ embedded = false }: { embedded?: boolean }) {
{/* Note detail panel */}
{selectedNode && (
<div className="absolute inset-y-0 right-0 w-80 backdrop-blur-md bg-white/95 dark:bg-stone-900/95 border-l border-border/40 flex flex-col shadow-[0_8px_30px_rgb(0,0,0,0.06)] z-20 transition-all duration-300">
<div
onClick={(e) => e.stopPropagation()}
onDoubleClick={(e) => e.stopPropagation()}
className="absolute inset-y-0 right-0 w-80 backdrop-blur-md bg-white/95 dark:bg-stone-900/95 border-l border-border/40 flex flex-col shadow-[0_8px_30px_rgb(0,0,0,0.06)] z-20 transition-all duration-300"
>
{/* Header */}
<div className="flex items-start justify-between p-5 border-b border-border/40">
<div className="flex-1 min-w-0 pr-3">