Co-authored-by: opencode <opencode@sst.dev> Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Victor Navarro <vn4varro@gmail.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Frank <frank@anoma.ly> Co-authored-by: Dax Raad <d@ironbay.co> Co-authored-by: Dax <mail@thdxr.com> Co-authored-by: Nabs <nabil@instafork.com> Co-authored-by: usrnk1 <7547651+usrnk1@users.noreply.github.com> Co-authored-by: Brendan Allan <git@brendonovich.dev> Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com> Co-authored-by: AidenGeunGeun <eastlandwyvern@gmail.com> Co-authored-by: Mark <geraint0923@users.noreply.github.com> Co-authored-by: Aiden Cline <aidenpcline@gmail.com> Co-authored-by: David Hill <1879069+iamdavidhill@users.noreply.github.com> Co-authored-by: Jay <air@live.ca> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: BB84 <110078428+BB-84C@users.noreply.github.com> Co-authored-by: Dustin Deus <deusdustin@gmail.com> Co-authored-by: Jack <jack@anoma.ly> Co-authored-by: Sebastian <hasta84@gmail.com> Co-authored-by: Jérôme Benoit <jerome.benoit@sap.com> Co-authored-by: Test User <test@test.com> Co-authored-by: Simon Klee <hello@simonklee.dk> Co-authored-by: Rahul A Mistry <149420892+ProdigyRahul@users.noreply.github.com> Co-authored-by: Qiping Li <liqiping1991@gmail.com> Co-authored-by: liqiping <liqiping@msh.team> Co-authored-by: OpeOginni <107570612+OpeOginni@users.noreply.github.com> Co-authored-by: Matthias Reso <13337103+mreso@users.noreply.github.com> Co-authored-by: tobwen <1864057+tobwen@users.noreply.github.com>
53 lines
1.9 KiB
TypeScript
53 lines
1.9 KiB
TypeScript
import { createEffect, Suspense, type ParentProps } from "solid-js"
|
|
import { createStore } from "solid-js/store"
|
|
import { useNavigate } from "@solidjs/router"
|
|
import { DebugBar } from "@/components/debug-bar"
|
|
import { TabsInfoPopup } from "@/components/help-button"
|
|
import { Titlebar, type TitlebarUpdate } from "@/components/titlebar"
|
|
import { usePlatform } from "@/context/platform"
|
|
import { setNavigate } from "@/utils/notification-click"
|
|
import { setV2Toast, ToastRegion } from "@/utils/toast"
|
|
|
|
export default function NewLayout(props: ParentProps) {
|
|
const platform = usePlatform()
|
|
const navigate = useNavigate()
|
|
setNavigate(navigate)
|
|
const [state, setState] = createStore({ debugTools: true })
|
|
|
|
createEffect(() => setV2Toast(true))
|
|
|
|
const update: TitlebarUpdate = {
|
|
version: () => {
|
|
const state = platform.updater?.state()
|
|
if (state?.status !== "ready") return
|
|
return state.version
|
|
},
|
|
installing: () => platform.updater?.state().status === "installing",
|
|
install: () => void platform.updater?.install(),
|
|
}
|
|
|
|
return (
|
|
<div
|
|
class="relative bg-v2-background-bg-deep flex-1 min-h-0 min-w-0 flex flex-col select-none [&_input]:select-text [&_textarea]:select-text [&_[contenteditable]]:select-text"
|
|
style={{
|
|
"padding-top": "env(safe-area-inset-top, 0px)",
|
|
"padding-bottom": "env(safe-area-inset-bottom, 0px)",
|
|
}}
|
|
>
|
|
<Titlebar
|
|
update={update}
|
|
debugTools={
|
|
import.meta.env.DEV
|
|
? { visible: state.debugTools, toggle: () => setState("debugTools", (value) => !value) }
|
|
: undefined
|
|
}
|
|
/>
|
|
<main class="flex-1 min-h-0 min-w-0 overflow-x-hidden flex flex-col items-start contain-strict">
|
|
<Suspense>{props.children}</Suspense>
|
|
</main>
|
|
{import.meta.env.DEV && state.debugTools && <DebugBar inline />}
|
|
<TabsInfoPopup />
|
|
<ToastRegion v2 />
|
|
</div>
|
|
)
|
|
}
|