///
/**
* This is a common wrapper component for csr.tsx and ssg-client.tsx
*/
import React, { useState } from 'react'
import { Router } from 'react-router-dom'
import { createBrowserHistory } from 'history'
import { dataCacheCtx, setDataCacheCtx } from '../ctx'
import type { PageLoaded } from '../../../clientTypes'
// // @ts-expect-error
// const Router = __HASH_ROUTER__ ? HashRouter : BrowserRouter
// @ts-expect-error
const basename = __HASH_ROUTER__
? undefined
: import.meta.env.BASE_URL?.replace(/\/$/, '')
const history = createBrowserHistory({
basename,
}) // eslint-disable-line
window.sls_vite_page_history = history
interface Props {
readonly initCache?: PageLoaded
readonly children: React.ReactNode
}
const ClientAppWrapper: React.FC> = ({
initCache,
children,
}) => {
const [dataCache, setDataCache] = useState(initCache ?? {})
return (
{children}
)
}
export default ClientAppWrapper