From e5116e9d4d6c21479560165aa69a32f334c97ad5 Mon Sep 17 00:00:00 2001 From: itskovacs Date: Mon, 6 Oct 2025 18:43:58 +0200 Subject: [PATCH] :lipstick: Trip: collapsible days on fullscreen map --- .../app/components/trip/trip.component.html | 34 ++++++++++++------- src/src/app/components/trip/trip.component.ts | 11 ++++-- src/src/styles.scss | 16 +++++++++ 3 files changed, 46 insertions(+), 15 deletions(-) diff --git a/src/src/app/components/trip/trip.component.html b/src/src/app/components/trip/trip.component.html index 7b8d83c..7cd0901 100644 --- a/src/src/app/components/trip/trip.component.html +++ b/src/src/app/components/trip/trip.component.html @@ -530,22 +530,32 @@
-
-

Days

- @for (day of trip?.days; track day.id) { -
- {{ - day.items.length }} -
+ @if (isMapFullscreenDays) { +
+ @for(day of trip?.days; track day.id) { +
-
+ + }
+ } + +
+

Days

+ +
} diff --git a/src/src/app/components/trip/trip.component.ts b/src/src/app/components/trip/trip.component.ts index a3d1401..5093714 100644 --- a/src/src/app/components/trip/trip.component.ts +++ b/src/src/app/components/trip/trip.component.ts @@ -101,6 +101,7 @@ export class TripComponent implements AfterViewInit { isPrinting = false; isMapFullscreen = false; + isMapFullscreenDays = false; totalPrice = 0; collapsedTripDays = false; collapsedTripPlaces = false; @@ -549,6 +550,10 @@ export class TripComponent implements AfterViewInit { }, 10); } + toggleMapFullscreenDays() { + this.isMapFullscreenDays = !this.isMapFullscreenDays; + } + updateTotalPrice(n?: number) { if (n) { this.totalPrice += n; @@ -562,7 +567,7 @@ export class TripComponent implements AfterViewInit { resetPlaceHighlightMarker() { if (this.tripMapHoveredElement) { - this.tripMapHoveredElement.classList.remove("listHover"); + this.tripMapHoveredElement.classList.remove("list-hover"); this.tripMapHoveredElement = undefined; } @@ -610,7 +615,7 @@ export class TripComponent implements AfterViewInit { const markerElement = marker.getElement() as HTMLElement; // search for Marker. If 'null', is inside Cluster if (markerElement) { // marker, not clustered - markerElement.classList.add("listHover"); + markerElement.classList.add("list-hover"); this.tripMapHoveredElement = markerElement; targetLatLng = marker.getLatLng(); } else { @@ -621,7 +626,7 @@ export class TripComponent implements AfterViewInit { if (parentCluster) { const clusterEl = parentCluster.getElement(); if (clusterEl) { - clusterEl.classList.add("listHover"); + clusterEl.classList.add("list-hover"); this.tripMapHoveredElement = clusterEl; } targetLatLng = parentCluster.getLatLng(); diff --git a/src/src/styles.scss b/src/src/styles.scss index 8918900..2d125e5 100644 --- a/src/src/styles.scss +++ b/src/src/styles.scss @@ -257,4 +257,20 @@ html { .a-slide-y { animation: slide-y 0.3s both reverse; +} + +.expand { + height: auto; + opacity: 1; + transition: + height 300ms ease-out, + opacity 300ms ease-out; +} + +.collapse { + height: 0; + opacity: 0; + transition: + height 300ms ease-in, + opacity 300ms ease-in; } \ No newline at end of file