fix(app): localize home session suspense (#39285)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import type { Session } from "@opencode-ai/sdk/v2/client"
|
import type { Session } from "@opencode-ai/sdk/v2/client"
|
||||||
import { type Accessor, createMemo, For, Show } from "solid-js"
|
import { type Accessor, createMemo, For, Show, Suspense } from "solid-js"
|
||||||
import { Spinner } from "@opencode-ai/ui/spinner"
|
import { Spinner } from "@opencode-ai/ui/spinner"
|
||||||
import { ScrollView } from "@opencode-ai/ui/scroll-view"
|
import { ScrollView } from "@opencode-ai/ui/scroll-view"
|
||||||
import { ButtonV2 } from "@opencode-ai/ui/v2/button-v2"
|
import { ButtonV2 } from "@opencode-ai/ui/v2/button-v2"
|
||||||
@@ -39,7 +39,6 @@ function isBackgroundOpen(event: MouseEvent) {
|
|||||||
export type HomeSessionsViewProps = {
|
export type HomeSessionsViewProps = {
|
||||||
language: ReturnType<typeof useLanguage>
|
language: ReturnType<typeof useLanguage>
|
||||||
groups: Accessor<HomeSessionGroup[]>
|
groups: Accessor<HomeSessionGroup[]>
|
||||||
loading: Accessor<boolean>
|
|
||||||
showProjectName: Accessor<boolean>
|
showProjectName: Accessor<boolean>
|
||||||
server: Accessor<ServerConnection.Key>
|
server: Accessor<ServerConnection.Key>
|
||||||
canCreateSession: Accessor<boolean>
|
canCreateSession: Accessor<boolean>
|
||||||
@@ -81,20 +80,22 @@ export function HomeSessionsView(props: HomeSessionsViewProps) {
|
|||||||
>
|
>
|
||||||
<div class="sticky top-0 z-30 shrink-0 bg-v2-background-bg-base pb-3 pt-6 lg:pt-12" onWheel={props.onWheel}>
|
<div class="sticky top-0 z-30 shrink-0 bg-v2-background-bg-base pb-3 pt-6 lg:pt-12" onWheel={props.onWheel}>
|
||||||
<HomeSessionSearch {...props} />
|
<HomeSessionSearch {...props} />
|
||||||
<Show when={props.groups().length > 0 && props.canCreateSession()}>
|
<Suspense>
|
||||||
<div class="pointer-events-none absolute right-0 top-[84px] z-20 flex lg:top-[108px]">
|
<Show when={props.groups().length > 0 && props.canCreateSession()}>
|
||||||
<ButtonV2
|
<div class="pointer-events-none absolute right-0 top-[84px] z-20 flex lg:top-[108px]">
|
||||||
data-action="home-new-session"
|
<ButtonV2
|
||||||
variant="ghost-muted"
|
data-action="home-new-session"
|
||||||
size="normal"
|
variant="ghost-muted"
|
||||||
icon="edit"
|
size="normal"
|
||||||
class="pointer-events-auto h-7 px-2 [font-weight:530]"
|
icon="edit"
|
||||||
onClick={props.onCreateSession}
|
class="pointer-events-auto h-7 px-2 [font-weight:530]"
|
||||||
>
|
onClick={props.onCreateSession}
|
||||||
{props.language.t("command.session.new")}
|
>
|
||||||
</ButtonV2>
|
{props.language.t("command.session.new")}
|
||||||
</div>
|
</ButtonV2>
|
||||||
</Show>
|
</div>
|
||||||
|
</Show>
|
||||||
|
</Suspense>
|
||||||
</div>
|
</div>
|
||||||
<div class="pointer-events-none sticky top-[84px] z-40 h-0 -mr-3 lg:top-[108px]">
|
<div class="pointer-events-none sticky top-[84px] z-40 h-0 -mr-3 lg:top-[108px]">
|
||||||
<div
|
<div
|
||||||
@@ -104,8 +105,7 @@ export function HomeSessionsView(props: HomeSessionsViewProps) {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="-mr-3 min-h-[calc(100cqh-72px)] lg:min-h-[calc(100cqh-96px)]">
|
<div class="-mr-3 min-h-[calc(100cqh-72px)] lg:min-h-[calc(100cqh-96px)]">
|
||||||
<Show
|
<Suspense
|
||||||
when={!props.loading()}
|
|
||||||
fallback={
|
fallback={
|
||||||
<div class="pt-3">
|
<div class="pt-3">
|
||||||
<HomeSessionSkeleton label={props.language.t("common.loading")} />
|
<HomeSessionSkeleton label={props.language.t("common.loading")} />
|
||||||
@@ -141,7 +141,7 @@ export function HomeSessionsView(props: HomeSessionsViewProps) {
|
|||||||
</For>
|
</For>
|
||||||
</div>
|
</div>
|
||||||
</Show>
|
</Show>
|
||||||
</Show>
|
</Suspense>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ export function HomeSessions(props: {
|
|||||||
<HomeSessionsView
|
<HomeSessionsView
|
||||||
language={props.sessions.copy.language}
|
language={props.sessions.copy.language}
|
||||||
groups={props.sessions.data.groups}
|
groups={props.sessions.data.groups}
|
||||||
loading={props.sessions.data.loading}
|
|
||||||
showProjectName={props.sessions.session.showProjectName}
|
showProjectName={props.sessions.session.showProjectName}
|
||||||
server={props.sessions.session.server}
|
server={props.sessions.session.server}
|
||||||
canCreateSession={props.sessions.session.canCreate}
|
canCreateSession={props.sessions.session.canCreate}
|
||||||
|
|||||||
Reference in New Issue
Block a user