jan/web/app/search/layout.tsx
Louis 925cd04d20
chore: change jan default data folder path to app's userData (#3443)
* chore: change jan default data folder path to app's userData

* fix: legacy factory reset does not work properly

* chore: update jan data folder path on UI accordingly

* chore: change jan data folder to Jan/data
2024-08-23 19:21:24 +07:00

64 lines
1.6 KiB
TypeScript

'use client'
import { useEffect } from 'react'
import { AppConfiguration, getUserHomePath, joinPath } from '@janhq/core'
import { useSetAtom } from 'jotai'
import ClipboardListener from '@/containers/Providers/ClipboardListener'
import JotaiWrapper from '@/containers/Providers/Jotai'
import ThemeWrapper from '@/containers/Providers/Theme'
import { useLoadTheme } from '@/hooks/useLoadTheme'
import { setupCoreServices } from '@/services/coreService'
import Search from './page'
import { defaultJanDataFolderAtom } from '@/helpers/atoms/App.atom'
import { janDataFolderPathAtom } from '@/helpers/atoms/AppConfig.atom'
export default function RootLayout() {
const setJanDataFolderPath = useSetAtom(janDataFolderPathAtom)
const setJanDefaultDataFolder = useSetAtom(defaultJanDataFolderAtom)
useEffect(() => {
setupCoreServices()
}, [])
useEffect(() => {
window.core?.api
?.getAppConfigurations()
?.then((appConfig: AppConfiguration) => {
setJanDataFolderPath(appConfig.data_folder)
})
}, [setJanDataFolderPath])
useEffect(() => {
async function getDefaultJanDataFolder() {
const defaultJanDataFolder = await getUserHomePath()
setJanDefaultDataFolder(defaultJanDataFolder)
}
getDefaultJanDataFolder()
}, [setJanDefaultDataFolder])
useLoadTheme()
return (
<html lang="en" suppressHydrationWarning>
<body className="font-sans antialiased">
<JotaiWrapper>
<ThemeWrapper>
<ClipboardListener>
<Search />
</ClipboardListener>
</ThemeWrapper>
</JotaiWrapper>
</body>
</html>
)
}