modified assets/style.css +5 -1
| @@ -118,6 +118,8 @@ input[type=number] { -moz-appearance: textfield; appearance: textfield; } |
| 118 | 118 | .shell { |
| 119 | 119 | width: 100%; max-width: 430px; min-height: 100dvh; background: var(--color-bg); |
| 120 | 120 | display: flex; flex-direction: column; position: relative; |
| 121 | + /* Barre de statut translucide (PWA iOS) : le contenu passe dessous. */ |
| 122 | + padding-top: env(safe-area-inset-top, 0px); |
| 121 | 123 | } |
| 122 | 124 | |
| 123 | 125 | .app-header { |
| @@ -133,7 +135,9 @@ input[type=number] { -moz-appearance: textfield; appearance: textfield; } |
| 133 | 135 | .tabbar { |
| 134 | 136 | position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); |
| 135 | 137 | width: 100%; max-width: 430px; |
| 136 | | - display: flex; padding: var(--space-2) var(--space-2) calc(var(--space-3) + 6px); |
| 138 | + display: flex; |
| 139 | + padding: var(--space-2) var(--space-2) |
| 140 | + calc(var(--space-3) + 6px + env(safe-area-inset-bottom, 0px)); |
| 137 | 141 | background: var(--color-surface); |
| 138 | 142 | border-top-left-radius: var(--radius-lg); border-top-right-radius: var(--radius-lg); |
| 139 | 143 | box-shadow: var(--shadow-md); |
| @@ -118,6 +118,8 @@ input[type=number] { -moz-appearance: textfield; appearance: textfield; } |
| 118 | .shell { | 118 | .shell { |
| 119 | width: 100%; max-width: 430px; min-height: 100dvh; background: var(--color-bg); | 119 | width: 100%; max-width: 430px; min-height: 100dvh; background: var(--color-bg); |
| 120 | display: flex; flex-direction: column; position: relative; | 120 | display: flex; flex-direction: column; position: relative; |
| | 121 | + /* Barre de statut translucide (PWA iOS) : le contenu passe dessous. */ |
| | 122 | + padding-top: env(safe-area-inset-top, 0px); |
| 121 | } | 123 | } |
| 122 | | 124 | |
| 123 | .app-header { | 125 | .app-header { |
| @@ -133,7 +135,9 @@ input[type=number] { -moz-appearance: textfield; appearance: textfield; } |
| 133 | .tabbar { | 135 | .tabbar { |
| 134 | position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); | 136 | position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); |
| 135 | width: 100%; max-width: 430px; | 137 | width: 100%; max-width: 430px; |
| 136 | - display: flex; padding: var(--space-2) var(--space-2) calc(var(--space-3) + 6px); | 138 | + display: flex; |
| | 139 | + padding: var(--space-2) var(--space-2) |
| | 140 | + calc(var(--space-3) + 6px + env(safe-area-inset-bottom, 0px)); |
| 137 | background: var(--color-surface); | 141 | background: var(--color-surface); |
| 138 | border-top-left-radius: var(--radius-lg); border-top-right-radius: var(--radius-lg); | 142 | border-top-left-radius: var(--radius-lg); border-top-right-radius: var(--radius-lg); |
| 139 | box-shadow: var(--shadow-md); | 143 | box-shadow: var(--shadow-md); |
modified templates/base.html +3 -1
| @@ -2,8 +2,10 @@ |
| 2 | 2 | <html lang="fr"> |
| 3 | 3 | <head> |
| 4 | 4 | <meta charset="utf-8"> |
| 5 | | -<meta name="viewport" content="width=device-width, initial-scale=1"> |
| 5 | +<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> |
| 6 | 6 | <meta name="theme-color" content="#f5ead8"> |
| 7 | +<meta name="apple-mobile-web-app-title" content="time-time"> |
| 8 | +<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> |
| 7 | 9 | <link rel="manifest" href="/manifest.json"> |
| 8 | 10 | <link rel="icon" href="/icon-512.png"> |
| 9 | 11 | <link rel="apple-touch-icon" href="/icon-512.png"> |
| @@ -2,8 +2,10 @@ |
| 2 | <html lang="fr"> | 2 | <html lang="fr"> |
| 3 | <head> | 3 | <head> |
| 4 | <meta charset="utf-8"> | 4 | <meta charset="utf-8"> |
| 5 | -<meta name="viewport" content="width=device-width, initial-scale=1"> | 5 | +<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> |
| 6 | <meta name="theme-color" content="#f5ead8"> | 6 | <meta name="theme-color" content="#f5ead8"> |
| | 7 | +<meta name="apple-mobile-web-app-title" content="time-time"> |
| | 8 | +<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> |
| 7 | <link rel="manifest" href="/manifest.json"> | 9 | <link rel="manifest" href="/manifest.json"> |
| 8 | <link rel="icon" href="/icon-512.png"> | 10 | <link rel="icon" href="/icon-512.png"> |
| 9 | <link rel="apple-touch-icon" href="/icon-512.png"> | 11 | <link rel="apple-touch-icon" href="/icon-512.png"> |