diff --git a/frontend/app/components/SearchBar.vue b/frontend/app/components/SearchBar.vue index 7e997cc96..136075a26 100644 --- a/frontend/app/components/SearchBar.vue +++ b/frontend/app/components/SearchBar.vue @@ -110,11 +110,11 @@ const props = withDefaults(defineProps(), { expanded: false, }); -const localValue = ref(props.modelValue || ""); +const localValue = ref(props?.modelValue || ""); watch( props, (newVal) => { - localValue.value = newVal.modelValue || ""; + localValue.value = newVal?.modelValue || ""; }, { immediate: true } ); diff --git a/frontend/app/components/card/search-result-entity/CardSearchResultEntity.vue b/frontend/app/components/card/search-result-entity/CardSearchResultEntity.vue index ff718a9ae..864fb0250 100644 --- a/frontend/app/components/card/search-result-entity/CardSearchResultEntity.vue +++ b/frontend/app/components/card/search-result-entity/CardSearchResultEntity.vue @@ -4,9 +4,15 @@ class="card-style flex flex-col justify-center px-3 py-4 md:grow md:flex-row md:justify-start md:py-3 lg:px-5" >
-
- -
+
+ +
-
+
@@ -39,17 +47,13 @@ name="menu" />
-
+
@@ -97,7 +101,6 @@ const props = defineProps<{ isReduced?: boolean; }>(); -const aboveMediumBP = useBreakpoint("md"); const localePath = useLocalePath(); const imageSizeClass = computed(() => ({ diff --git a/frontend/app/components/card/search-result-entity/CardSearchResultEntityEvent.vue b/frontend/app/components/card/search-result-entity/CardSearchResultEntityEvent.vue index 382bf9ffb..5032812ea 100644 --- a/frontend/app/components/card/search-result-entity/CardSearchResultEntityEvent.vue +++ b/frontend/app/components/card/search-result-entity/CardSearchResultEntityEvent.vue @@ -14,10 +14,10 @@ > diff --git a/frontend/app/components/media/image-carousel/MediaImageCarousel.vue b/frontend/app/components/media/image-carousel/MediaImageCarousel.vue index af639bffa..dc499d123 100644 --- a/frontend/app/components/media/image-carousel/MediaImageCarousel.vue +++ b/frontend/app/components/media/image-carousel/MediaImageCarousel.vue @@ -11,7 +11,9 @@ :spaceBetween="0" > @@ -19,8 +21,8 @@ :alt="$t('i18n.components.media_image_carousel.img_alt_text')" class="object-cover object-center" :class="{ - 'h-5/6 w-5/6': props.fullscreen, - 'h-70': !props.fullscreen, + 'h-5/6 w-5/6': fullscreen, + 'h-70': !fullscreen, }" :src="img" /> @@ -57,6 +59,9 @@ const props = defineProps(); register(); +// MARK: State to track when SSR hydration is complete +const isMounted = ref(false); + const uploadError = ref(false); const currentImageId = ref(""); const { openModal: openModalUploadImageOrganization } = useModalHandlers( @@ -65,17 +70,20 @@ const { openModal: openModalUploadImageOrganization } = useModalHandlers( const { openModal: openModalUploadImageGroup } = useModalHandlers( "ModalUploadImageGroup" ); + const handleOpenModalUploadImage = () => { if (props.entityType === EntityType.GROUP) openModalUploadImageGroup(); if (props.entityType === EntityType.ORGANIZATION) openModalUploadImageOrganization(); }; -// Get the swiper instance. Use this instance to listen for the slideChange event. + const swiperRef = ref<{ swiper?: SwiperInstance } | null>(null); onMounted(() => { + // MARK: Inform the template that JS has loaded + isMounted.value = true; + const swiperEl = swiperRef.value; - // Now we assert swiperRef value is a Swiper instance. if (swiperEl?.swiper) { swiperEl.swiper.on("slideChange", () => { const activeIndex = swiperEl?.swiper?.realIndex ?? 1; diff --git a/frontend/app/components/media/image-carousel/MediaImageCarouselFull.vue b/frontend/app/components/media/image-carousel/MediaImageCarouselFull.vue index 56d6c6954..320230403 100644 --- a/frontend/app/components/media/image-carousel/MediaImageCarouselFull.vue +++ b/frontend/app/components/media/image-carousel/MediaImageCarouselFull.vue @@ -43,7 +43,7 @@ const imageUrls = ref([]); watch( props, (newValue) => { - if (newValue.images && newValue.images.length > 0) { + if (newValue?.images && newValue?.images?.length > 0) { imageUrls.value = newValue.images.map( (image: ContentImage) => `/api/${image.fileObject}` ); diff --git a/frontend/app/components/media/map/MediaMap.vue b/frontend/app/components/media/map/MediaMap.vue index 62f6c72b6..1f3705e98 100644 --- a/frontend/app/components/media/map/MediaMap.vue +++ b/frontend/app/components/media/map/MediaMap.vue @@ -9,8 +9,6 @@