From 219ef8a01996a2a5ae5746ee9064817d532f50a1 Mon Sep 17 00:00:00 2001 From: Lutz Bender Date: Mon, 25 Aug 2025 11:27:24 +0200 Subject: [PATCH 1/4] modify group size calculation --- .../source/src/components/BaseCarousel.vue | 55 ++++++++++++++++--- .../source/src/components/BatteryCard.vue | 4 +- .../source/src/components/ChargePointCard.vue | 6 +- .../source/src/components/VehicleCard.vue | 2 +- 4 files changed, 52 insertions(+), 15 deletions(-) diff --git a/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue b/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue index 5a5d0ac250..d590571455 100644 --- a/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue +++ b/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue @@ -9,7 +9,7 @@ @update:model-value="handleSlideChange" padding :navigation="groupedItems.length > 1" - :arrows="groupedItems.length > 1 && $q.screen.gt.xs" + :arrows="showArrows" class="carousel-height" transition-next="slide-left" transition-prev="slide-right" @@ -35,23 +35,61 @@ diff --git a/packages/modules/web_themes/koala/source/src/components/ChargePointPowerData.vue b/packages/modules/web_themes/koala/source/src/components/ChargePointPowerData.vue index 51d2014227..c2eee22a49 100644 --- a/packages/modules/web_themes/koala/source/src/components/ChargePointPowerData.vue +++ b/packages/modules/web_themes/koala/source/src/components/ChargePointPowerData.vue @@ -1,7 +1,7 @@ diff --git a/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue b/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue index b6aec6421e..60aa272b80 100644 --- a/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue +++ b/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue @@ -4,6 +4,12 @@
{{ name }}
+ + @@ -117,6 +123,7 @@ const $q = useQuasar(); const props = defineProps<{ chargePointId: number; + closeButton?: boolean; }>(); const vehicleId = computed(() => { diff --git a/packages/modules/web_themes/koala/source/src/components/ChargePointInformation.vue b/packages/modules/web_themes/koala/source/src/components/ChargePointInformation.vue index a3ea6f294d..991ddacc30 100644 --- a/packages/modules/web_themes/koala/source/src/components/ChargePointInformation.vue +++ b/packages/modules/web_themes/koala/source/src/components/ChargePointInformation.vue @@ -108,18 +108,11 @@ :full-width="isSmallScreen" :backdrop-filter="$q.screen.width < 385 ? '' : 'blur(4px)'" > -
- - - -
+ diff --git a/packages/modules/web_themes/koala/source/src/components/ChargePointSettings.vue b/packages/modules/web_themes/koala/source/src/components/ChargePointSettings.vue index 32f146fa47..a46edf56a4 100644 --- a/packages/modules/web_themes/koala/source/src/components/ChargePointSettings.vue +++ b/packages/modules/web_themes/koala/source/src/components/ChargePointSettings.vue @@ -6,9 +6,14 @@ > -
+
Einstellungen:
{{ name }}
+ +
@@ -66,9 +71,6 @@ />
- - -
From 4d56b8d0b3ba7d08a42e0179523c95395877298a Mon Sep 17 00:00:00 2001 From: Lutz Bender Date: Mon, 25 Aug 2025 11:35:18 +0200 Subject: [PATCH 4/4] cleanup and formatting --- .../source/src/components/BaseCarousel.vue | 21 +++++++++----- .../src/components/BatterySettingsDialog.vue | 5 +--- .../source/src/components/ChargePointCard.vue | 5 +++- .../src/components/ChargePointModeButtons.vue | 11 ++----- .../src/components/ChargePointSettings.vue | 5 +--- .../src/components/SystemInformation.vue | 29 ------------------- 6 files changed, 21 insertions(+), 55 deletions(-) delete mode 100644 packages/modules/web_themes/koala/source/src/components/SystemInformation.vue diff --git a/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue b/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue index d590571455..cd87da0203 100644 --- a/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue +++ b/packages/modules/web_themes/koala/source/src/components/BaseCarousel.vue @@ -54,15 +54,15 @@ const showArrows = computed(() => { const storeSlideItemWidth = (width: number) => { console.log('Storing slide item width:', width); slideItemWidth.value = width; -} +}; const currentSlide = computed({ - get:() => { + get: () => { if (currentSlideItem.value == null) { return 0; // Always show the first slide if a specific item is not set } // Find the index of the slide containing the current item - let currentSlide = groupedItems.value.findIndex(group => + let currentSlide = groupedItems.value.findIndex((group) => group.includes(currentSlideItem.value), ); if (currentSlide === -1) { @@ -71,7 +71,7 @@ const currentSlide = computed({ // Ensure the index is within bounds return Math.min(currentSlide, groupedItems.value.length - 1); }, - set:(value: number) => { + set: (value: number) => { // Update currentSlideItem to the first item of the new slide currentSlideItem.value = groupedItems.value[value][0]; }, @@ -81,7 +81,10 @@ const groupSize = computed(() => { let itemWidth = 300; // Default width console.debug('Calculating group size...', itemRef.value); if (slideItemWidth.value == null) { - if (itemRef.value[0]?.clientWidth && itemRef.value[0].clientWidth != slideItemWidth.value) { + if ( + itemRef.value[0]?.clientWidth && + itemRef.value[0].clientWidth != slideItemWidth.value + ) { storeSlideItemWidth(itemRef.value[0].clientWidth); } else { console.warn('Item width is not set, using default:', itemWidth); @@ -99,7 +102,7 @@ const groupSize = computed(() => { padding = parseFloat(style.paddingLeft || '0') + parseFloat(style.paddingRight || '0'); - } + } const maxGroupSize = Math.max( 1, Math.floor((carouselSlideWidth - padding) / itemWidth), @@ -112,7 +115,7 @@ const groupSize = computed(() => { props.items.length <= maxGroupSize * 2 && props.items.length - maxGroupSize === 1 ) { - // Check if all items would fit side by side + // Check if all items would fit side by side if (props.items.length * itemWidth <= carouselSlideWidth) { return props.items.length; } @@ -122,7 +125,9 @@ const groupSize = computed(() => { const groupedItems = computed(() => { return props.items.reduce((resultArray, item, index) => { - const chunkIndex = Math.floor(index / (groupSize.value ? groupSize.value : props.items.length)); + const chunkIndex = Math.floor( + index / (groupSize.value ? groupSize.value : props.items.length), + ); if (!resultArray[chunkIndex]) { resultArray[chunkIndex] = []; } diff --git a/packages/modules/web_themes/koala/source/src/components/BatterySettingsDialog.vue b/packages/modules/web_themes/koala/source/src/components/BatterySettingsDialog.vue index 05cc0bfcc6..f096f6514e 100644 --- a/packages/modules/web_themes/koala/source/src/components/BatterySettingsDialog.vue +++ b/packages/modules/web_themes/koala/source/src/components/BatterySettingsDialog.vue @@ -10,10 +10,7 @@
Einstellungen:
{{ name }}
- +
diff --git a/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue b/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue index 60aa272b80..fd7de40941 100644 --- a/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue +++ b/packages/modules/web_themes/koala/source/src/components/ChargePointCard.vue @@ -8,7 +8,10 @@ diff --git a/packages/modules/web_themes/koala/source/src/components/ChargePointModeButtons.vue b/packages/modules/web_themes/koala/source/src/components/ChargePointModeButtons.vue index a1518837e3..f3e7000a54 100644 --- a/packages/modules/web_themes/koala/source/src/components/ChargePointModeButtons.vue +++ b/packages/modules/web_themes/koala/source/src/components/ChargePointModeButtons.vue @@ -1,8 +1,5 @@