UI: drop tab-bar tap highlight; don't slide the first screen on launch
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 44s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m0s

Tab bar: tapping a bottom-tab icon flashed a background — the icon square's
:active press tint plus the default WebKit tap flash, the same pair removed from
the lobby rows. Drop the press tint and set -webkit-tap-highlight-color:
transparent on .tab. The selected-tab highlight (Settings / Comms hubs) stays.

Startup slide: the route pane's in:slideX is local to its {#key} block, so it
plays on that block's own first mount when app.ready flips — the lobby slid in on
launch as if navigated into from another screen. Gate the slide duration to 0 for
the first pane shown after boot (a `started` flag set right after it mounts), so
launch is static while every later route change animates as before.
This commit is contained in:
Ilia Denisov
2026-06-11 23:19:16 +02:00
parent 5648f4a0bb
commit 9277a70565
2 changed files with 17 additions and 10 deletions
+5 -7
View File
@@ -34,12 +34,13 @@
width: 100%;
user-select: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent; /* no WebKit flash on tap */
}
:global(.tab:disabled) {
opacity: 0.4;
}
/* The icon square hugs the emoji (just a little padding) so it is the press-highlight
target and the badge can sit on its corner. */
/* The icon square hugs the emoji (just a little padding) so the badge can sit on its
corner. */
:global(.tab .sq) {
position: relative;
display: inline-grid;
@@ -50,12 +51,9 @@
line-height: 1;
transition: background-color 0.12s;
}
:global(.tab:active:not(:disabled) .sq) {
background: var(--surface-2);
}
/* A tab that navigates between peer views (Settings / Comms hubs) stays highlighted
while selected: a filled square with an accent underline, distinct from the
momentary press tint above. */
while selected: a filled square with an accent underline. A tap itself leaves no
highlight — there is no press tint, and the WebKit tap flash is disabled on .tab. */
:global(.tab.active .sq) {
background: var(--surface-2);
box-shadow: inset 0 -2px 0 var(--accent);