@@ -172,7 +172,9 @@ class HassTabsSubpage extends LitElement {
172172 ? html `<div id= "tabbar" class = "botto m- bar"> ${ tabs } </ div> `
173173 : "" }
174174 </ div>
175- <div class= "container" >
175+ <div
176+ class= ${ classMap ( { container : true , tabs : showTabs && this . narrow } ) }
177+ >
176178 ${ this . pane
177179 ? html `<div class= "pane" >
178180 <div class= "shadow-container" > </ div>
@@ -225,11 +227,9 @@ class HassTabsSubpage extends LitElement {
225227
226228 .container {
227229 display : flex;
228- height : calc (100% - var (--header-height ));
229- }
230-
231- : host ([narrow ]) .container {
232- height : 100% ;
230+ height : calc (
231+ 100% - var (--header-height , 0px ) - var (--safe-area-inset-top , 0px )
232+ );
233233 }
234234
235235 ha-menu-button {
@@ -240,26 +240,28 @@ class HassTabsSubpage extends LitElement {
240240
241241 .toolbar {
242242 font-size : var (--ha-font-size-xl );
243- height : calc (var (--header-height ) + var (--safe-area-inset-top ));
243+ height : calc (
244+ var (--header-height , 0px ) + var (--safe-area-inset-top , 0px )
245+ );
244246 padding-top : var (--safe-area-inset-top );
245247 padding-right : var (--safe-area-inset-right );
246- padding-left : var (--safe-area-inset-left );
247248 background-color : var (--sidebar-background-color );
248249 font-weight : var (--ha-font-weight-normal );
249250 border-bottom : 1px solid var (--divider-color );
250251 box-sizing : border-box;
251252 }
253+ : host ([narrow ]) .toolbar {
254+ padding-left : var (--safe-area-inset-left );
255+ }
252256 .toolbar-content {
253257 padding : 8px 12px ;
254258 display : flex;
255259 align-items : center;
256260 height : 100% ;
257261 box-sizing : border-box;
258262 }
259- @media (max-width : 599px ) {
260- .toolbar-content {
261- padding : 4px ;
262- }
263+ : host ([narrow ]) .toolbar-content {
264+ padding : 4px ;
263265 }
264266 .toolbar a {
265267 color : var (--sidebar-text-color );
@@ -323,53 +325,46 @@ class HassTabsSubpage extends LitElement {
323325
324326 .content {
325327 position : relative;
326- width : calc (
327- 100% - var (--safe-area-inset-left ) - var (--safe-area-inset-right )
328- );
329- margin-left : var (--safe-area-inset-left );
328+ width : 100% ;
330329 margin-right : var (--safe-area-inset-right );
331- margin-inline-start : var (--safe-area-inset-left );
332330 margin-inline-end : var (--safe-area-inset-right );
331+ margin-bottom : var (--safe-area-inset-bottom );
333332 overflow : auto;
334333 -webkit-overflow-scrolling : touch;
335334 }
336-
337335 : host ([narrow ]) .content {
338- height : calc (100% - var (--header-height ));
339- height : calc (
340- 100% - var (--header-height ) - var (--safe-area-inset-bottom )
341- );
336+ margin-left : var (--safe-area-inset-left );
337+ margin-inline-start : var (--safe-area-inset-left );
342338 }
343-
344339 : host ([narrow ]) .content .tabs {
345- height : calc ( 100 % - 2 * var ( -- header- height));
346- height : calc (
347- 100 % - 2 * var (--header-height ) - var (--safe-area-inset-bottom )
340+ /* Bottom bar reuses header height */
341+ margin-bottom : calc (
342+ var (--header-height , 0 px ) + var (--safe-area-inset-bottom , 0 px )
348343 );
349344 }
350345
351346 .content .fab-bottom-space {
352- height : calc (64px + var (--safe-area-inset-bottom ));
347+ height : calc (64px + var (--safe-area-inset-bottom , 0 px ));
353348 }
354349
355350 : host ([narrow ]) .content .tabs .fab-bottom-space {
356- height : calc (80px + var (--safe-area-inset-bottom ));
351+ height : calc (80px + var (--safe-area-inset-bottom , 0 px ));
357352 }
358353
359354 # fab {
360355 position : fixed;
361- right : calc (16px + var (--safe-area-inset-right ));
356+ right : calc (16px + var (--safe-area-inset-right , 0 px ));
362357 inset-inline-end : calc (16px + var (--safe-area-inset-right ));
363358 inset-inline-start : initial;
364- bottom : calc (16px + var (--safe-area-inset-bottom ));
359+ bottom : calc (16px + var (--safe-area-inset-bottom , 0 px ));
365360 z-index : 1 ;
366361 display : flex;
367362 flex-wrap : wrap;
368363 justify-content : flex-end;
369364 gap : 8px ;
370365 }
371366 : host ([narrow ]) # fab .tabs {
372- bottom : calc (84px + var (--safe-area-inset-bottom ));
367+ bottom : calc (84px + var (--safe-area-inset-bottom , 0 px ));
373368 }
374369 # fab [is-wide ] {
375370 bottom : 24px ;
0 commit comments