Skip to content

fix: Improve mobile layout and responsiveness across multiple pages#211

Draft
hhvrc wants to merge 11 commits into
developfrom
fix/mobile-layout-and-scaling
Draft

fix: Improve mobile layout and responsiveness across multiple pages#211
hhvrc wants to merge 11 commits into
developfrom
fix/mobile-layout-and-scaling

Conversation

@hhvrc

@hhvrc hhvrc commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

This is a huge PR, needs much consideration before merging...

Copilot AI review requested due to automatic review settings June 12, 2026 13:07
@hhvrc hhvrc added the enhancement New feature or request label Jun 12, 2026
@hhvrc hhvrc marked this pull request as draft June 12, 2026 13:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR focuses on improving mobile responsiveness and reducing layout overflow issues by restructuring the global header/layout, standardizing page headers, and ensuring wide tables scroll horizontally instead of breaking the page.

Changes:

  • Added a dedicated mobile header layout with a back/menu control, centered title, and user menu.
  • Made the main content area the primary vertical scroll container and adjusted width handling to reduce viewport overflow.
  • Updated tables and page headers to behave better on small screens (horizontal table scrolling; hide redundant page titles on mobile).

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/routes/Header.svelte Adds mobile-specific header UI (back/menu + centered label) and refactors user menu into a snippet.
src/routes/+layout.svelte Adjusts root container width and makes <main> vertically scrollable.
src/routes/(app)/shockers/own/+page.svelte Hides the page <h1> on small screens to avoid duplicating the mobile header title.
src/routes/(app)/shares/user/outgoing/+page.svelte Switches table wrapper to horizontal overflow scrolling.
src/routes/(app)/shares/user/invites/+page.svelte Switches both invites tables to horizontal overflow scrolling.
src/routes/(app)/shares/user/incoming/+page.svelte Switches table wrapper to horizontal overflow scrolling.
src/routes/(app)/shares/public/[shareId=guid]/edit/+page.svelte Reworks header area layout for better small-screen stacking and spacing.
src/routes/(app)/settings/sessions/+page.svelte Migrates to PageHeader for consistent responsive headers/actions.
src/routes/(app)/settings/connections/+page.svelte Migrates to PageHeader and adjusts layout wrapper away from Card.Content.
src/routes/(app)/settings/api-tokens/new/+page.svelte Makes the card full-width (with max width) for small screens.
src/routes/(app)/settings/api-tokens/+page.svelte Migrates to PageHeader and simplifies structure around the DataTable.
src/routes/(app)/profile/+page.svelte Hides the page <h1> on small screens.
src/routes/(app)/hubs/[hubId=guid]/update/+page.svelte Wraps update-history table in a horizontal overflow container.
src/routes/(app)/home/+page.svelte Adjusts grids to show 2 columns on small screens where appropriate.
src/lib/components/Table/DataTableTemplate.svelte Changes DataTable wrapper overflow behavior (now horizontal scrolling).
src/lib/components/PageHeader.svelte Updates header layout to stack on mobile and hides the title on small screens.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/routes/Header.svelte
let sidebar = useSidebar();

let crumbs = $derived(breadcrumbs.state);
let currentLabel = $derived(crumbs[crumbs.length - 1]?.label ?? '');
Comment thread src/routes/Header.svelte
Comment on lines +87 to +91
<a
href={prefixBase(parent.href)}
class="text-muted-foreground hover:text-foreground flex size-8 shrink-0 items-center justify-center"
title="Back to {parent.label}"
>
Comment thread src/routes/Header.svelte
<Button
variant="ghost"
class="size-8 shrink-0"
title="Toggle Sidebar"
</script>

<div class={cn('overflow-y-auto rounded-md border', className)}>
<div class={cn('overflow-x-auto rounded-md border', className)}>
Comment thread src/routes/Header.svelte
Comment on lines +70 to +72
<Button variant="outline" href={resolve('/login')}>Login <LogIn /></Button>
<Button variant="outline" href={resolve('/signup')}>Sign Up <UserPlus /></Button>
<div class="hidden sm:flex sm:flex-row">
Replaces the data table on the sessions page with a card-based layout
that works well on both mobile and desktop. Each card shows device type
icon, parsed user agent, IP, and relative timestamps. Current session
is visually distinguished with a green tint and "This device" badge.
Also tightens mobile padding in Container from px-4 to px-2 globally.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants