From 7ca39ef4b9328d773d3e11c7f3c5937687b98b0b Mon Sep 17 00:00:00 2001 From: DerEchteAlec Date: Sun, 23 Aug 2026 22:09:47 +0200 Subject: [PATCH] FIX - refine SkyRide navigation and trip layout (#35) Co-authored-by: Leon.Schmidt <159480018+leonw21342315@users.noreply.github.com> --- .../views/apps/SkyRideApp.contract.test.ts | 46 ++++++++++++ frontend/src/views/apps/SkyRideApp.vue | 72 ++++++++++++------- 2 files changed, 93 insertions(+), 25 deletions(-) diff --git a/frontend/src/views/apps/SkyRideApp.contract.test.ts b/frontend/src/views/apps/SkyRideApp.contract.test.ts index 715e5d3..1de681d 100644 --- a/frontend/src/views/apps/SkyRideApp.contract.test.ts +++ b/frontend/src/views/apps/SkyRideApp.contract.test.ts @@ -32,6 +32,52 @@ describe('SkyRide app layout', () => { ) }) + it('scrolls Ride and Drive away without full-width nav backgrounds', () => { + expect(source).toMatch( + /\.skyride-navbar :deep\(\.sky-navbar__blur\),\s*\.skyride-navbar :deep\(\.sky-navbar__background\)\s*\{[^}]*display:\s*none;/s, + ) + expect(source).toMatch( + /
\s*
/s, + ) + expect(source).toMatch( + /\.skyride-scroll\s*\{[^}]*box-sizing:\s*border-box;[^}]*inset:\s*114px 0 0;[^}]*padding:\s*0 0 116px;/s, + ) + expect(source).toMatch( + /\.skyride-tabbar :deep\(\.sky-tabbar__blur\),\s*\.skyride-tabbar :deep\(\.sky-tabbar__background\)\s*\{[^}]*display:\s*none;/s, + ) + expect(source).not.toMatch( + /\.skyride-tabbar :deep\(\.sky-tabbar__pane\)\s*\{\s*border:/s, + ) + }) + + it('keeps active-ride card spacing even and outline actions contrasted', () => { + expect(source).toMatch( + /\.skyride-ride-status-card\s*\{[^}]*margin-bottom:\s*12px;/s, + ) + expect(source).toMatch( + /\.skyride-person-card\s*\{[^}]*margin-bottom:\s*12px;/s, + ) + expect(source).toMatch( + /\.skyride-trip-card\s*\{[^}]*margin-bottom:\s*12px;/s, + ) + expect(source).toContain('.sky-button--primary:not(.sky-button--outline)') + expect(source).not.toMatch( + /\.skyride-app :deep\(\.sky-button--primary\)\s*\{/, + ) + }) + + it('aligns pickup and destination text to one timeline axis', () => { + expect(source).toMatch( + /\.skyride-route-stop\s*\{[^}]*grid-template-columns:\s*18px minmax\(0, 1fr\);/s, + ) + expect(source).toMatch( + /\.skyride-route-stop > \.skyride-dot\s*\{[^}]*justify-self:\s*center;/s, + ) + expect(source).toMatch( + /\.skyride-trip-card > i\s*\{[^}]*margin:\s*1px 0 1px 8px;/s, + ) + }) + it('uses a compact swipeable profile editor with equal actions', () => { expect(source).toContain('class="skyride-profile-sheet"') expect(source).toContain('swipe-to-close') diff --git a/frontend/src/views/apps/SkyRideApp.vue b/frontend/src/views/apps/SkyRideApp.vue index e8bf809..09128de 100644 --- a/frontend/src/views/apps/SkyRideApp.vue +++ b/frontend/src/views/apps/SkyRideApp.vue @@ -622,26 +622,26 @@ onBeforeUnmount(() => {