@@ -2,7 +2,7 @@ import { generateDiffFile, DiffFile } from "@git-diff-view/file";
22import { Button , ButtonGroup , Card , FloatingIndicator , Group , LoadingOverlay , Popover , Tooltip } from "@mantine/core" ;
33import { useDisclosure , useMounted } from "@mantine/hooks" ;
44import { IconCode , IconPlayerPlay , IconRefresh , IconBrandReact , IconBrandVue } from "@tabler/icons-react" ;
5- import { useState , startTransition , useCallback , forwardRef , useMemo } from "react" ;
5+ import { useState , startTransition , useCallback , forwardRef , useMemo , useEffect } from "react" ;
66
77import { useDiffHighlighter } from "../hooks/useDiffHighlighter" ;
88
@@ -22,7 +22,7 @@ const getNewDiffFile = () => {
2222 return instance ;
2323} ;
2424
25- export const MainContentDiffExample = ( ) => {
25+ export const MainContentDiffExample = ( { onUpdate } : { onUpdate ?: ( diffFile : DiffFile ) => void } ) => {
2626 const [ code , { open, close } ] = useDisclosure ( ) ;
2727
2828 const isMounted = useMounted ( ) ;
@@ -56,6 +56,12 @@ export const MainContentDiffExample = () => {
5656
5757 const [ controlsRefs , setControlsRefs ] = useState < Record < string , HTMLButtonElement | null > > ( { } ) ;
5858
59+ useEffect ( ( ) => {
60+ if ( onUpdate ) {
61+ onUpdate ( diffFile ) ;
62+ }
63+ } , [ diffFile ] ) ;
64+
5965 const Element = useMemo (
6066 ( ) =>
6167 forwardRef < HTMLButtonElement , any > ( ( { onClick, ...props } , ref ) => (
0 commit comments