Commit d90f6408 authored by Mahmoud Aglan's avatar Mahmoud Aglan

fix: center content properly on desktop using margin-inline-end

Use CSS variable --desktop-nav-width (72px on lg+) with
marginInlineEnd for RTL-correct nav offset. Content now
truly centers in the remaining viewport space.
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent 82710c95
screenshots/02-home.png

32.3 KB | W: | H:

screenshots/02-home.png

32.4 KB | W: | H:

screenshots/02-home.png
screenshots/02-home.png
screenshots/02-home.png
screenshots/02-home.png
  • 2-up
  • Swipe
  • Onion skin
screenshots/03-play.png

46.1 KB | W: | H:

screenshots/03-play.png

46.1 KB | W: | H:

screenshots/03-play.png
screenshots/03-play.png
screenshots/03-play.png
screenshots/03-play.png
  • 2-up
  • Swipe
  • Onion skin
screenshots/04-bots.png

44.8 KB | W: | H:

screenshots/04-bots.png

44.7 KB | W: | H:

screenshots/04-bots.png
screenshots/04-bots.png
screenshots/04-bots.png
screenshots/04-bots.png
  • 2-up
  • Swipe
  • Onion skin
screenshots/07-friends.png

28.2 KB | W: | H:

screenshots/07-friends.png

28.2 KB | W: | H:

screenshots/07-friends.png
screenshots/07-friends.png
screenshots/07-friends.png
screenshots/07-friends.png
  • 2-up
  • Swipe
  • Onion skin
screenshots/11-profile.png

44.8 KB | W: | H:

screenshots/11-profile.png

44.9 KB | W: | H:

screenshots/11-profile.png
screenshots/11-profile.png
screenshots/11-profile.png
screenshots/11-profile.png
  • 2-up
  • Swipe
  • Onion skin
screenshots/13-settings.png

35.1 KB | W: | H:

screenshots/13-settings.png

35 KB | W: | H:

screenshots/13-settings.png
screenshots/13-settings.png
screenshots/13-settings.png
screenshots/13-settings.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -9,10 +9,10 @@ export function AppShell() { ...@@ -9,10 +9,10 @@ export function AppShell() {
return ( return (
<div className="min-h-dvh"> <div className="min-h-dvh">
<DesktopNav /> <DesktopNav />
<div className="flex flex-col min-h-dvh lg:pr-[72px]"> <div className="flex flex-col min-h-dvh" style={{ marginInlineEnd: 'var(--desktop-nav-width, 0px)' }}>
<Header /> <Header />
<main className="flex-1 pb-[calc(var(--bottom-nav-height)+env(safe-area-inset-bottom))] lg:pb-6"> <main className="flex-1 pb-[calc(var(--bottom-nav-height)+env(safe-area-inset-bottom))] lg:pb-6">
<div className="w-full max-w-[720px] mx-auto"> <div className="w-full max-w-[680px] mx-auto">
<Outlet /> <Outlet />
</div> </div>
</main> </main>
......
...@@ -9,9 +9,9 @@ interface HeaderProps { ...@@ -9,9 +9,9 @@ interface HeaderProps {
export function Header({ coins = 0, gems = 0, level = 1, unreadCount = 0 }: HeaderProps) { export function Header({ coins = 0, gems = 0, level = 1, unreadCount = 0 }: HeaderProps) {
return ( return (
<header className="sticky top-0 z-40 bg-bg-1/95 backdrop-blur-sm border-b border-white/6 lg:pr-[72px]" <header className="sticky top-0 z-40 bg-bg-1/95 backdrop-blur-sm border-b border-white/6"
style={{ paddingTop: 'env(safe-area-inset-top)' }}> style={{ paddingTop: 'env(safe-area-inset-top)', marginInlineEnd: 'var(--desktop-nav-width)' }}>
<div className="flex items-center justify-between h-[var(--header-height)] px-5 max-w-[720px] mx-auto"> <div className="flex items-center justify-between h-[var(--header-height)] px-5 max-w-[680px] mx-auto">
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<Link to="/" className="text-gold font-bold text-lg font-latin tracking-tight"> <Link to="/" className="text-gold font-bold text-lg font-latin tracking-tight">
EL3AB EL3AB
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
/* Sizes */ /* Sizes */
--header-height: 56px; --header-height: 56px;
--bottom-nav-height: 64px; --bottom-nav-height: 64px;
--desktop-nav-width: 0px;
--touch-min: 48px; --touch-min: 48px;
--touch-comfortable: 56px; --touch-comfortable: 56px;
} }
...@@ -111,6 +112,12 @@ input, button, textarea, select { ...@@ -111,6 +112,12 @@ input, button, textarea, select {
unicode-bidi: embed; unicode-bidi: embed;
} }
@media (min-width: 1024px) {
:root {
--desktop-nav-width: 72px;
}
}
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
*, *::before, *::after { *, *::before, *::after {
animation-duration: 0.01ms !important; animation-duration: 0.01ms !important;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment