Skip to content

Commit 985189c

Browse files
authored
fix(app): improve mobile home layout (anomalyco#32789)
1 parent f81f255 commit 985189c

1 file changed

Lines changed: 43 additions & 21 deletions

File tree

packages/app/src/pages/home.tsx

Lines changed: 43 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ export function NewHome() {
329329

330330
return (
331331
<div class="rounded-[10px] shadow-[var(--v2-elevation-raised)] m-2 min-h-0 lg:overflow-hidden bg-v2-background-bg-base self-stretch flex-1">
332-
<div class="mx-auto grid w-full h-full max-w-[1080px] gap-8 px-6 pb-16 lg:grid-cols-[280px_minmax(0,720px)]">
332+
<div class="mx-auto grid h-full w-full max-w-[1080px] grid-rows-[auto_minmax(0,1fr)_auto] gap-4 px-3 pb-3 lg:grid-cols-[280px_minmax(0,720px)] lg:grid-rows-1 lg:gap-8 lg:px-6 lg:pb-16">
333333
<HomeProjectColumn
334334
projects={projects()}
335335
selected={state.selection}
@@ -355,7 +355,7 @@ export function NewHome() {
355355
/>
356356

357357
<section
358-
class="min-h-0 min-w-0 flex-1 flex flex-col pt-12"
358+
class="min-h-0 min-w-0 flex-1 flex flex-col pt-6 lg:pt-12"
359359
aria-label={language.t("sidebar.project.recentSessions")}
360360
>
361361
<HomeSessionSearch
@@ -419,6 +419,12 @@ export function NewHome() {
419419
</div>
420420
</ScrollView>
421421
</section>
422+
<HomeUtilityNav
423+
class="flex lg:hidden"
424+
openSettings={openSettings}
425+
openHelp={() => platform.openLink("https://opencode.ai/desktop-feedback")}
426+
language={language}
427+
/>
422428
</div>
423429
</div>
424430
)
@@ -443,7 +449,7 @@ function HomeProjectColumn(props: {
443449
const dialog = useDialog()
444450
const controller = useServerManagementController({ navigateOnAdd: false })
445451
return (
446-
<aside class="flex min-w-0 flex-col lg:pt-[52px] mt-14 gap-4" aria-label={props.language.t("home.projects")}>
452+
<aside class="mt-6 flex min-w-0 flex-col gap-4 lg:mt-14 lg:pt-[52px]" aria-label={props.language.t("home.projects")}>
447453
<div class="flex h-7 min-w-0 items-center justify-between pl-1.5">
448454
<div class={HOME_SECTION_LABEL}>{props.language.t("home.projects")}</div>
449455
<Show when={global.servers.list().length === 1}>
@@ -489,28 +495,44 @@ function HomeProjectColumn(props: {
489495
}}
490496
</For>
491497
</Show>
492-
<div class="mt-4 flex min-w-0 flex-col gap-1">
493-
<button
494-
type="button"
495-
class={`${HOME_PROJECT_NAV_ROW} text-v2-text-text-faint [&>[data-slot=icon-svg]]:text-v2-icon-icon-muted`}
496-
onClick={props.openSettings}
497-
>
498-
<IconV2 name="settings-gear" size="small" />
499-
<span class={HOME_PROJECT_NAV_LABEL}>{props.language.t("sidebar.settings")}</span>
500-
</button>
501-
<button
502-
type="button"
503-
class={`${HOME_PROJECT_NAV_ROW} text-v2-text-text-faint [&>[data-slot=icon-svg]]:text-v2-icon-icon-muted`}
504-
onClick={props.openHelp}
505-
>
506-
<IconV2 name="help" size="small" />
507-
<span class={HOME_PROJECT_NAV_LABEL}>{props.language.t("sidebar.help")}</span>
508-
</button>
509-
</div>
498+
<HomeUtilityNav
499+
class="mt-4 hidden lg:flex"
500+
openSettings={props.openSettings}
501+
openHelp={props.openHelp}
502+
language={props.language}
503+
/>
510504
</aside>
511505
)
512506
}
513507

508+
function HomeUtilityNav(props: {
509+
class?: string
510+
openSettings: () => void
511+
openHelp: () => void
512+
language: ReturnType<typeof useLanguage>
513+
}) {
514+
return (
515+
<div class={`${props.class ?? ""} min-w-0 flex-col gap-1`}>
516+
<button
517+
type="button"
518+
class={`${HOME_PROJECT_NAV_ROW} text-v2-text-text-faint [&>[data-slot=icon-svg]]:text-v2-icon-icon-muted`}
519+
onClick={props.openSettings}
520+
>
521+
<IconV2 name="settings-gear" size="small" />
522+
<span class={HOME_PROJECT_NAV_LABEL}>{props.language.t("sidebar.settings")}</span>
523+
</button>
524+
<button
525+
type="button"
526+
class={`${HOME_PROJECT_NAV_ROW} text-v2-text-text-faint [&>[data-slot=icon-svg]]:text-v2-icon-icon-muted`}
527+
onClick={props.openHelp}
528+
>
529+
<IconV2 name="help" size="small" />
530+
<span class={HOME_PROJECT_NAV_LABEL}>{props.language.t("sidebar.help")}</span>
531+
</button>
532+
</div>
533+
)
534+
}
535+
514536
function HomeServerRow(props: {
515537
server: ServerConnection.Any
516538
selected: boolean

0 commit comments

Comments
 (0)