@@ -14,11 +14,13 @@ import { ReactNode, useCallback, useEffect } from "react";
1414import { RiDownload2Line , RiFolderOpenLine , RiHome2Line } from "react-icons/ri" ;
1515import { FormattedMessage , useIntl } from "react-intl" ;
1616import { useNavigate } from "react-router" ;
17+ import { useDeployment } from "../deployment" ;
1718import { flags } from "../flags" ;
18- import { SaveStep , TrainModelDialogStage } from "../model" ;
19+ import { useProject } from "../hooks/project-hooks" ;
20+ import { TrainModelDialogStage } from "../model" ;
1921import { SessionPageId } from "../pages-config" ;
2022import Tour from "../pages/Tour" ;
21- import { useSettings , useStore } from "../store" ;
23+ import { useStore } from "../store" ;
2224import { createHomePageUrl , createSessionPageUrl } from "../urls" ;
2325import ActionBar from "./ActionBar" ;
2426import AppLogo from "./AppLogo" ;
@@ -33,7 +35,6 @@ import SaveDialogs from "./SaveDialogs";
3335import SettingsMenu from "./SettingsMenu" ;
3436import ToolbarMenu from "./ToolbarMenu" ;
3537import TrainModelDialogs from "./TrainModelFlowDialogs" ;
36- import { useDeployment } from "../deployment" ;
3738
3839interface DefaultPageLayoutProps {
3940 titleId ?: string ;
@@ -59,7 +60,6 @@ const DefaultPageLayout = ({
5960 const isEditorOpen = useStore ( ( s ) => s . isEditorOpen ) ;
6061 const stage = useStore ( ( s ) => s . trainModelDialogStage ) ;
6162
62- const [ settings ] = useSettings ( ) ;
6363 const toast = useToast ( ) ;
6464 const { appNameFull } = useDeployment ( ) ;
6565
@@ -93,15 +93,10 @@ const DefaultPageLayout = ({
9393 navigate ( createHomePageUrl ( ) ) ;
9494 } , [ navigate ] ) ;
9595
96- const setSave = useStore ( ( s ) => s . setSave ) ;
97- const handleSave = useCallback ( ( ) => {
98- if ( settings . showPreSaveHelp ) {
99- setSave ( { step : SaveStep . PreSaveHelp } ) ;
100- } else {
101- setSave ( { step : SaveStep . ProjectName } ) ;
102- }
103- } , [ setSave , settings . showPreSaveHelp ] ) ;
104-
96+ const { saveHex } = useProject ( ) ;
97+ const handleSave = useCallback ( async ( ) => {
98+ await saveHex ( ) ;
99+ } , [ saveHex ] ) ;
105100 return (
106101 < >
107102 { /* Suppress dialogs to prevent overlapping dialogs */ }
0 commit comments