From 7c2316fe0fc382469b43a159952201ca725804f8 Mon Sep 17 00:00:00 2001 From: mortezaei Date: Sun, 17 May 2026 12:08:37 +0330 Subject: [PATCH] feat: implement view paddings management with ViewPaddingsBridge and related components --- src/app/globals.css | 6 ++ src/app/layout.tsx | 9 ++ src/app/providers.tsx | 6 +- src/components/ui/sticky-header.tsx | 8 +- src/components/utils/fixed-bottom.tsx | 22 +++++ .../utils/view-paddings-provider.tsx | 12 +++ src/hooks/use-view-paddings.ts | 14 +++ src/lib/view-paddings.ts | 92 +++++++++++++++++++ src/types/window.d.ts | 9 +- src/view-paddings.ts | 3 + 10 files changed, 178 insertions(+), 3 deletions(-) create mode 100644 src/components/utils/fixed-bottom.tsx create mode 100644 src/components/utils/view-paddings-provider.tsx create mode 100644 src/hooks/use-view-paddings.ts create mode 100644 src/lib/view-paddings.ts create mode 100644 src/view-paddings.ts diff --git a/src/app/globals.css b/src/app/globals.css index 61a1716..042edb2 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -2,6 +2,10 @@ :root { --default-page-background-image: url("/assets/images/home-Checkups-List.svg"); + --safe-top: 0px; + --safe-bottom: 0px; + --safe-left: 0px; + --safe-right: 0px; } @theme inline { @@ -50,6 +54,8 @@ html:lang(ar) body, width: 100%; min-height: 100vh; padding-inline: 17px; + padding-top: var(--safe-top); + padding-bottom: var(--safe-bottom); box-sizing: border-box; background-color: var(--background); background-image: var(--default-page-background-image); diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 278017b..9ebb39a 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -143,6 +143,15 @@ export default function RootLayout({ `, }} /> +