diff --git a/src/routes/Onboarding/index.tsx b/src/routes/Onboarding/index.tsx
index b27987bbe..82da6dd25 100644
--- a/src/routes/Onboarding/index.tsx
+++ b/src/routes/Onboarding/index.tsx
@@ -5,7 +5,7 @@ import Camera from './Camera'
import Sketching from './Sketching'
import { useCallback } from 'react'
import makeUrlPathRelative from '../../lib/makeUrlPathRelative'
-import { useSettingsAuthContext } from 'hooks/useSettingsAuthContext'
+import { useGlobalStateContext } from 'hooks/useGlobalStateContext'
import Streaming from './Streaming'
import CodeEditor from './CodeEditor'
import ParametricModeling from './ParametricModeling'
@@ -78,7 +78,7 @@ export function useNextClick(newStatus: string) {
const filePath = useAbsoluteFilePath()
const {
settings: { send },
- } = useSettingsAuthContext()
+ } = useGlobalStateContext()
const navigate = useNavigate()
return useCallback(() => {
@@ -94,7 +94,7 @@ export function useDismiss() {
const filePath = useAbsoluteFilePath()
const {
settings: { send },
- } = useSettingsAuthContext()
+ } = useGlobalStateContext()
const navigate = useNavigate()
return useCallback(() => {
diff --git a/src/routes/Settings.tsx b/src/routes/Settings.tsx
index 70bd5af4b..91f5ae601 100644
--- a/src/routes/Settings.tsx
+++ b/src/routes/Settings.tsx
@@ -5,38 +5,31 @@ import { open } from '@tauri-apps/api/dialog'
import {
BaseUnit,
DEFAULT_PROJECT_NAME,
- SETTINGS_PERSIST_KEY,
baseUnits,
- initialSettings,
- UnitSystem,
-} from 'lib/settings'
+} from '../machines/settingsMachine'
import { Toggle } from '../components/Toggle/Toggle'
import { useLocation, useNavigate, useRouteLoaderData } from 'react-router-dom'
import { useHotkeys } from 'react-hotkeys-hook'
import { type IndexLoaderData } from 'lib/types'
import { paths } from 'lib/paths'
import { Themes } from '../lib/theme'
-import { useSettingsAuthContext } from 'hooks/useSettingsAuthContext'
+import { useGlobalStateContext } from 'hooks/useGlobalStateContext'
import {
CameraSystem,
cameraSystems,
cameraMouseDragGuards,
} from 'lib/cameraControls'
+import { UnitSystem } from 'machines/settingsMachine'
import { useDotDotSlash } from 'hooks/useDotDotSlash'
import {
createNewProject,
getNextProjectIndex,
getProjectsInDir,
- getSettingsFilePath,
- initializeProjectDirectory,
interpolateProjectNameWithIndex,
} from 'lib/tauriFS'
import { ONBOARDING_PROJECT_NAME } from './Onboarding'
import { sep } from '@tauri-apps/api/path'
import { bracket } from 'lib/exampleKcl'
-import { isTauri } from 'lib/isTauri'
-import { invoke } from '@tauri-apps/api'
-import toast from 'react-hot-toast'
export const Settings = () => {
const APP_VERSION = import.meta.env.PACKAGE_VERSION || 'unknown'
@@ -62,14 +55,11 @@ export const Settings = () => {
},
},
},
- } = useSettingsAuthContext()
+ } = useGlobalStateContext()
async function handleDirectorySelection() {
- // the `recursive` property added following
- // this advice for permissions: https://github.com/tauri-apps/tauri/issues/4851#issuecomment-1210711455
const newDirectory = await open({
directory: true,
- recursive: true,
defaultPath: defaultDirectory || paths.INDEX,
title: 'Choose a new default directory',
})
@@ -316,59 +306,6 @@ export const Settings = () => {
Replay Onboarding
-
- Your settings are saved in{' '}
- {isTauri()
- ? 'a file in the app data folder for your OS.'
- : "your browser's local storage."}{' '}
- {isTauri() ? (
-
-
-
-
- ) : (
-
- )}
-
{/* This uses a Vite plugin, set in vite.config.ts
to inject the version from package.json */}
diff --git a/src/routes/SignIn.tsx b/src/routes/SignIn.tsx
index ef6fb2eb5..e7ab03485 100644
--- a/src/routes/SignIn.tsx
+++ b/src/routes/SignIn.tsx
@@ -4,7 +4,7 @@ import { invoke } from '@tauri-apps/api/tauri'
import { VITE_KC_SITE_BASE_URL, VITE_KC_API_BASE_URL } from '../env'
import { Themes, getSystemTheme } from '../lib/theme'
import { paths } from 'lib/paths'
-import { useSettingsAuthContext } from 'hooks/useSettingsAuthContext'
+import { useGlobalStateContext } from 'hooks/useGlobalStateContext'
import { APP_NAME } from 'lib/constants'
const SignIn = () => {
@@ -20,7 +20,7 @@ const SignIn = () => {
context: { theme },
},
},
- } = useSettingsAuthContext()
+ } = useGlobalStateContext()
const signInTauri = async () => {
// We want to invoke our command to login via device auth.