Skip to content

Commit d1c3f5f

Browse files
committed
Refactor zoom functionality and add zoomedNodes state management
1 parent 9fee1e6 commit d1c3f5f

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

app/components/code-graph.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ interface Props {
4242
setCooldownTime: Dispatch<SetStateAction<number>>
4343
onCategoryClick: (name: string, show: boolean) => void
4444
handleDownloadImage: () => void
45+
zoomedNodes: Node[]
46+
setZoomedNodes: Dispatch<SetStateAction<Node[]>>
4547
}
4648

4749
export function CodeGraph({
@@ -68,7 +70,9 @@ export function CodeGraph({
6870
cooldownTime,
6971
setCooldownTime,
7072
onCategoryClick,
71-
handleDownloadImage
73+
handleDownloadImage,
74+
zoomedNodes,
75+
setZoomedNodes
7276
}: Props) {
7377

7478
const [url, setURL] = useState("");
@@ -82,7 +86,6 @@ export function CodeGraph({
8286
const [commitIndex, setCommitIndex] = useState<number>(0);
8387
const [currentCommit, setCurrentCommit] = useState(0);
8488
const containerRef = useRef<HTMLDivElement>(null);
85-
const [zoomedNodes, setZoomedNodes] = useState<Node[]>([]);
8689

8790
useEffect(() => {
8891
setData({ ...graph.Elements })

app/page.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export default function Home() {
7979
const chatPanel = useRef<ImperativePanelHandle>(null)
8080
const [activeIndex, setActiveIndex] = useState(0)
8181
const [carouselApi, setCarouselApi] = useState<CarouselApi>()
82+
const [zoomedNodes, setZoomedNodes] = useState<Node[]>([])
8283

8384
useEffect(() => {
8485
if (path?.start?.id && path?.end?.id) {
@@ -205,11 +206,9 @@ export default function Home() {
205206
graph.visibleLinks(true, [chartNode!.id])
206207
setData({ ...graph.Elements })
207208
}
208-
209+
210+
setZoomedNodes([chartNode])
209211
setSearchNode(chartNode)
210-
setTimeout(() => {
211-
chart.zoomToFit(1000, 150, (n: NodeObject<Node>) => n.id === chartNode!.id);
212-
}, 0)
213212
setOptionsOpen(false)
214213
}
215214
}
@@ -408,6 +407,8 @@ export default function Home() {
408407
setCooldownTime={setCooldownTime}
409408
onCategoryClick={onCategoryClick}
410409
handleDownloadImage={handleDownloadImage}
410+
zoomedNodes={zoomedNodes}
411+
setZoomedNodes={setZoomedNodes}
411412
/>
412413
</Panel>
413414
<PanelResizeHandle className={cn(!graph.Id && 'hidden')} />
@@ -526,6 +527,8 @@ export default function Home() {
526527
setCooldownTime={setCooldownTime}
527528
onCategoryClick={onCategoryClick}
528529
handleDownloadImage={handleDownloadImage}
530+
zoomedNodes={zoomedNodes}
531+
setZoomedNodes={setZoomedNodes}
529532
/>
530533
{graph.Id && (
531534
<div className='flex items-center p-4 gap-4'>

0 commit comments

Comments
 (0)