Perf: remove user profile loading (#22710)
This commit is contained in:
52
web/app/components/browser-initializer.tsx
Normal file
52
web/app/components/browser-initializer.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
'use client'
|
||||
|
||||
class StorageMock {
|
||||
data: Record<string, string>
|
||||
|
||||
constructor() {
|
||||
this.data = {} as Record<string, string>
|
||||
}
|
||||
|
||||
setItem(name: string, value: string) {
|
||||
this.data[name] = value
|
||||
}
|
||||
|
||||
getItem(name: string) {
|
||||
return this.data[name] || null
|
||||
}
|
||||
|
||||
removeItem(name: string) {
|
||||
delete this.data[name]
|
||||
}
|
||||
|
||||
clear() {
|
||||
this.data = {}
|
||||
}
|
||||
}
|
||||
|
||||
let localStorage, sessionStorage
|
||||
|
||||
try {
|
||||
localStorage = globalThis.localStorage
|
||||
sessionStorage = globalThis.sessionStorage
|
||||
}
|
||||
catch {
|
||||
localStorage = new StorageMock()
|
||||
sessionStorage = new StorageMock()
|
||||
}
|
||||
|
||||
Object.defineProperty(globalThis, 'localStorage', {
|
||||
value: localStorage,
|
||||
})
|
||||
|
||||
Object.defineProperty(globalThis, 'sessionStorage', {
|
||||
value: sessionStorage,
|
||||
})
|
||||
|
||||
const BrowserInitializer = ({
|
||||
children,
|
||||
}: { children: React.ReactElement }) => {
|
||||
return children
|
||||
}
|
||||
|
||||
export default BrowserInitializer
|
Reference in New Issue
Block a user