Skip to content

Commit 70fba5e

Browse files
authored
Merge pull request #2309 from basecamp/mobile/prepare-webviews-2
Mobile/prepare webviews 2
2 parents 9cd94a7 + fefb288 commit 70fba5e

35 files changed

+232
-92
lines changed

app/assets/images/funnel.svg

Lines changed: 1 addition & 0 deletions
Loading

app/assets/stylesheets/_global.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
@layer reset, base, components, modules, utilities, native, platform;
22

33
:root {
4+
/* Insets - The mobile apps may inject their own custom insets based on native elements on screen, like a floating navigation */
5+
--custom-safe-inset-top: var(--injected-safe-inset-top, env(safe-area-inset-top, 0px));
6+
--custom-safe-inset-right: var(--injected-safe-inset-right, env(safe-area-inset-right, 0px));
7+
--custom-safe-inset-bottom: var(--injected-safe-inset-bottom, env(safe-area-inset-bottom, 0px));
8+
--custom-safe-inset-left: var(--injected-safe-inset-left, env(safe-area-inset-left, 0px));
9+
410
/* Spacing */
511
--inline-space: 1ch;
612
--inline-space-half: calc(var(--inline-space) / 2);

app/assets/stylesheets/android.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,12 @@
33
.hide-on-android {
44
display: none;
55
}
6+
7+
/* Filters
8+
/* ------------------------------------------------------------------------ */
9+
10+
.filters {
11+
--text-x-small: 1rem;
12+
}
613
}
714
}

app/assets/stylesheets/buttons.css

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,6 @@
107107
> * {
108108
grid-area: 1/1;
109109
}
110-
111-
@media (max-width: 639px) {
112-
--btn-size: 3em;
113-
--icon-size: 75%;
114-
}
115110
}
116111

117112
/* Make a normal button circular on mobile */
@@ -125,7 +120,7 @@
125120
inline-size: var(--btn-size);
126121

127122
kbd,
128-
span:last-of-type {
123+
span:last-of-type:not(.icon) {
129124
display: none;
130125
}
131126
}
@@ -224,17 +219,15 @@
224219
.btn--back {
225220
--btn-border-size: 0;
226221

227-
font-size: var(--text-medium);
228-
229222
@media (max-width: 639px) {
230-
padding: 0.5em;
231-
232223
strong, kbd {
233224
display: none;
234225
}
235226
}
236227

237228
@media (min-width: 640px) {
229+
font-size: var(--text-medium);
230+
238231
.icon--arrow-left {
239232
display: none;
240233
}

app/assets/stylesheets/card-columns.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@
232232
overflow-y: auto;
233233

234234
.is-expanded & {
235-
padding: var(--column-padding);
235+
padding: var(--column-padding) var(--column-padding) calc(var(--column-padding) + var(--custom-safe-inset-bottom));
236236

237237
/* Use the rest of the column height for scrolling */
238238
@media (max-width: 639px) {

app/assets/stylesheets/events.css

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -220,14 +220,14 @@
220220
.events__column-header {
221221
background-color: var(--color-canvas);
222222
grid-row-start: 1;
223-
inset-block-start: calc(var(--block-space) * -1);
224-
margin-block-end: var(--events-gap);
225-
padding-block: calc(var(--events-gap) * 3) var(--events-gap);
223+
inset-block-start: var(--custom-safe-inset-top);
224+
margin-block: calc(var(--events-gap) * 2) var(--events-gap);
225+
padding-block: var(--events-gap);
226226
position: sticky;
227227
z-index: var(--z-events-column-header);
228228

229229
@media (max-width: 639px) {
230-
margin-inline: calc(var(--main-padding) * -1);
230+
margin-inline: calc(var(--main-padding) * -0.5);
231231
padding-inline: var(--main-padding);
232232
}
233233
}
@@ -239,12 +239,16 @@
239239
}
240240

241241
.events__maximize-button {
242-
inset: calc(var(--events-gap) * 3) 0 auto auto;
242+
inset: 50% var(--events-gap) auto auto;
243243
outline-offset: -2px;
244244
position: absolute;
245-
transform: translateY(-10%);
245+
transform: translateY(-50%);
246246
z-index: 1;
247247

248+
@media (max-width: 639px) {
249+
inset-inline-end: 0;
250+
}
251+
248252
@media (any-hover: hover ) {
249253
opacity: 0;
250254

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@layer components {
2+
.expandable-on-native {
3+
body:not([data-platform~=native]) & {
4+
&::details-content {
5+
display: contents;
6+
}
7+
8+
summary {
9+
display: none;
10+
}
11+
}
12+
}
13+
}

app/assets/stylesheets/header.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"menu menu menu"
1414
"actions-start title actions-end";
1515
max-inline-size: 100dvw;
16-
padding-block: calc(var(--block-space-half) + env(safe-area-inset-top)) var(--block-space-half);
16+
padding-block: calc(var(--block-space-half) + var(--custom-safe-inset-top)) var(--block-space-half);
1717
padding-inline: var(--main-padding);
1818
position: relative;
1919
z-index: var(--z-nav);

app/assets/stylesheets/ios.css

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,27 @@
11
@layer platform {
2+
:root:has([data-platform~=ios]) {
3+
&[data-text-size=xsmall] { font-size: 14px; }
4+
&[data-text-size=small] { font-size: 15px; }
5+
&[data-text-size=medium] { font-size: 16px; }
6+
&[data-text-size=large] { font-size: 17px; }
7+
&[data-text-size=xlarge] { font-size: 19px; }
8+
&[data-text-size=xxlarge] { font-size: 21px; }
9+
&[data-text-size=xxxlarge] { font-size: 23px; }
10+
}
11+
212
[data-platform~=ios] {
313
.hide-on-ios {
414
display: none;
515
}
16+
17+
/* Events
18+
/* ------------------------------------------------------------------------ */
19+
20+
.events__column-header {
21+
-webkit-backdrop-filter: blur(16px);
22+
backdrop-filter: blur(16px);
23+
background-color: oklch(from var(--color-canvas) l c h / 0.5);
24+
border-radius: 10em;
25+
}
626
}
727
}

app/assets/stylesheets/layout.css

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
&.public {
77
grid-template-rows: auto 1fr auto;
88
}
9+
10+
&.compact-on-touch {
11+
@media (any-hover: none) {
12+
grid-template-rows: auto 1fr auto;
13+
min-height: unset;
14+
}
15+
}
916
}
1017

1118
/* Required for the card column page on mobile, but not needed otherwise */
@@ -23,8 +30,8 @@
2330
margin-inline: auto;
2431
max-inline-size: 100dvw;
2532
padding-inline:
26-
calc(var(--main-padding) + env(safe-area-inset-left))
27-
calc(var(--main-padding) + env(safe-area-inset-right));
33+
calc(var(--main-padding) + var(--custom-safe-inset-left))
34+
calc(var(--main-padding) + var(--custom-safe-inset-right));
2835
text-align: center;
2936
}
3037

0 commit comments

Comments
 (0)