Skip to content

Commit c41e5aa

Browse files
authored
Merge pull request #2437 from nqst/dialog-ux-improvements
Modal dialogs: smoother animations and QR code dialog improvements
2 parents edb2f91 + 8855d74 commit c41e5aa

File tree

3 files changed

+22
-12
lines changed

3 files changed

+22
-12
lines changed

app/assets/stylesheets/dialog.css

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,37 @@
77
:is(.dialog) {
88
border: 0;
99
opacity: 0;
10-
transform: scale(0.2);
11-
transform-origin: top center;
12-
transition: var(--dialog-duration) allow-discrete;
10+
transform: scale(0.85);
11+
transform-origin: center;
12+
transition-behavior: allow-discrete;
13+
transition-duration: calc(var(--dialog-duration) / 2); /* Faster closing */
1314
transition-property: display, opacity, overlay, transform;
15+
transition-timing-function: ease-out;
1416

1517
&::backdrop {
1618
background-color: var(--color-black);
1719
opacity: 0;
18-
transform: scale(1);
19-
transition: var(--dialog-duration) allow-discrete;
20+
transition-behavior: allow-discrete;
21+
transition-duration: calc(var(--dialog-duration) / 2);
2022
transition-property: display, opacity, overlay;
23+
transition-timing-function: ease-out;
2124
}
2225

2326
&[open] {
2427
opacity: 1;
2528
transform: scale(1);
29+
transition-duration: var(--dialog-duration); /* Normal opening speed */
2630

2731
&::backdrop {
2832
opacity: 0.5;
33+
transition-duration: var(--dialog-duration);
2934
}
3035
}
3136

3237
@starting-style {
3338
&[open] {
3439
opacity: 0;
35-
transform: scale(0.2);
40+
transform: scale(0.85);
3641
}
3742

3843
&[open]::backdrop {

app/views/account/join_codes/show.html.erb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@
3939
<span>Get QR code</span>
4040
<% end %>
4141

42-
<dialog class="dialog panel shadow" data-dialog-target="dialog">
43-
<p class="margin-none-block-start"><strong>Scan this code with the camera on your mobile device</strong></p>
42+
<dialog class="dialog panel shadow" data-dialog-target="dialog" style="--panel-size: 50ch;">
43+
<p class="margin-none-block-start txt-balance">
44+
<strong>Scan this code to join <%= Current.account.name %>:</strong>
45+
</p>
4446

4547
<%= qr_code_image(url) %>
4648

app/views/users/_transfer.html.erb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@
1515
<span class="for-screen-reader">Display auto-login QR code</span>
1616
<% end %>
1717

18-
<dialog class="dialog panel shadow" data-dialog-target="dialog">
18+
<dialog class="dialog panel shadow" data-dialog-target="dialog" style="--panel-size: 50ch;">
19+
<p class="margin-none-block-start txt-balance">
20+
<strong>Scan this code to instantly log in on another device:</strong>
21+
</p>
22+
1923
<%= qr_code_image(url) %>
2024

2125
<form method="dialog" class="margin-block-start flex justify-center">
22-
<button class="btn" data-controller="tooltip">
23-
<%= icon_tag "remove" %>
24-
<span class="for-screen-reader">Close dialog</span>
26+
<button class="btn">
27+
<span>Done</span>
2528
</button>
2629
</form>
2730
</dialog>

0 commit comments

Comments
 (0)