Skip to content

Commit a79da7d

Browse files
committed
feat: Improve iPhoneX statusbar handling
1 parent 75b3768 commit a79da7d

File tree

5 files changed

+38
-1
lines changed

5 files changed

+38
-1
lines changed

src/body.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ function getBodyClasses ({ is, has, within }, cfg) {
1818
width = window.screen.width * ratio,
1919
height = window.screen.height * ratio
2020

21-
if (width !== 1125 && height !== 2001 /* 2436 for iPhoneX fullscreen */) {
21+
if (width === 1125 && height === 2436) { // iPhoneX fullscreen
22+
cls.push('q-ios-statusbar-x')
23+
}
24+
if (width !== 1125 || height !== 2001) { // not iPhoneX on non-fullscreen
2225
cls.push('q-ios-statusbar-padding')
2326
}
2427
}

src/components/layout/layout.ios.styl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ body.q-ios-statusbar-padding
7979
padding-top $ios-statusbar-height
8080
min-height ($toolbar-min-height + $ios-statusbar-height)
8181

82+
body.q-ios-statusbar-x
83+
.q-layout-header > .q-toolbar:nth-child(2),
84+
.q-layout-header > .q-tabs:nth-child(2) .q-tabs-head
85+
.q-layout-drawer.top-padding
86+
padding-top env(safe-area-inset-top)
87+
.q-layout-footer > .q-toolbar:last-child,
88+
.q-layout-footer > .q-tabs:last-child .q-tabs-head
89+
.q-layout-drawer.top-padding
90+
padding-bottom env(safe-area-inset-bottom)
91+
min-height ($toolbar-min-height + $ios-statusbar-height)
92+
8293
/* body */
8394
.q-layout-animate .q-layout-transition
8495
transition $layout-transition

src/components/layout/layout.mat.styl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,17 @@ body.q-ios-statusbar-padding
7777
padding-top $ios-statusbar-height
7878
min-height ($toolbar-min-height + $ios-statusbar-height)
7979

80+
body.q-ios-statusbar-x
81+
.q-layout-header > .q-toolbar:nth-child(2),
82+
.q-layout-header > .q-tabs:nth-child(2) .q-tabs-head
83+
.q-layout-drawer.top-padding
84+
padding-top env(safe-area-inset-top)
85+
.q-layout-footer > .q-toolbar:last-child,
86+
.q-layout-footer > .q-tabs:last-child .q-tabs-head
87+
.q-layout-drawer.top-padding
88+
padding-bottom env(safe-area-inset-bottom)
89+
min-height ($toolbar-min-height + $ios-statusbar-height)
90+
8091
/* body */
8192
.q-layout-animate .q-layout-transition
8293
transition $layout-transition

src/components/notify/notify.ios.styl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
.q-notification-list-bottom
1616
bottom 0
1717

18+
body.q-ios-statusbar-x
19+
.q-notification-list-center, .q-notification-list-top
20+
top env(safe-area-inset-top)
21+
.q-notification-list-center, .q-notification-list-bottom
22+
bottom env(safe-area-inset-bottom)
23+
1824
.q-notification
1925
border-radius 5px
2026
pointer-events all

src/components/notify/notify.mat.styl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
.q-notification-list-bottom
1616
bottom 0
1717

18+
body.q-ios-statusbar-x
19+
.q-notification-list-center, .q-notification-list-top
20+
top env(safe-area-inset-top)
21+
.q-notification-list-center, .q-notification-list-bottom
22+
bottom env(safe-area-inset-bottom)
23+
1824
.q-notification
1925
border-radius 5px
2026
pointer-events all

0 commit comments

Comments
 (0)