1- import React , { useMemo } from "react" ;
1+ import React , { useMemo , useState } from "react" ;
22import TextPanel from "roamjs-components/components/ConfigPanels/TextPanel" ;
33import FlagPanel from "roamjs-components/components/ConfigPanels/FlagPanel" ;
44import { getFormattedConfigTree } from "~/utils/discourseConfigRef" ;
55import refreshConfigTree from "~/utils/refreshConfigTree" ;
66import { DEFAULT_CANVAS_PAGE_FORMAT } from "~/index" ;
7+ import { Alert , Intent } from "@blueprintjs/core" ;
78
89const DiscourseGraphHome = ( ) => {
910 const settings = useMemo ( ( ) => {
1011 refreshConfigTree ( ) ;
1112 return getFormattedConfigTree ( ) ;
1213 } , [ ] ) ;
1314
15+ const [ isAlertOpen , setIsAlertOpen ] = useState ( false ) ;
16+
1417 return (
1518 < div className = "flex flex-col gap-4 p-1" >
1619 < TextPanel
@@ -37,7 +40,25 @@ const DiscourseGraphHome = () => {
3740 uid = { settings . leftSidebarEnabled . uid }
3841 parentUid = { settings . settingsUid }
3942 value = { settings . leftSidebarEnabled . value || false }
43+ options = { {
44+ onChange : ( checked : boolean ) => {
45+ if ( checked ) {
46+ setIsAlertOpen ( true ) ;
47+ }
48+ } ,
49+ } }
4050 />
51+ < Alert
52+ isOpen = { isAlertOpen }
53+ onConfirm = { ( ) => window . location . reload ( ) }
54+ onCancel = { ( ) => setIsAlertOpen ( false ) }
55+ confirmButtonText = "Reload Graph"
56+ cancelButtonText = "Later"
57+ intent = { Intent . PRIMARY }
58+ >
59+ < p > Enabling the Left Sidebar requires a graph reload to take effect.</ p >
60+ < p > Would you like to reload now?</ p >
61+ </ Alert >
4162 </ div >
4263 ) ;
4364} ;
0 commit comments