@@ -366,6 +365,29 @@ const getOptimizedImageUrl = (publicId, transformations) => {
return `https://res.cloudinary.com/${config.public.cloudinaryCloudName}/image/upload/${transformations}/f_auto,q_auto/${publicId}`
}
+// Get image URL with fallback logic
+const getImageUrl = (featureImage) => {
+ if (!featureImage) return ''
+
+ // If we have a direct URL, use it as primary (since seed data uses external URLs)
+ if (featureImage.url) {
+ return featureImage.url
+ }
+
+ // Fallback to Cloudinary if we have a publicId
+ if (featureImage.publicId) {
+ return getOptimizedImageUrl(featureImage.publicId, 'w_1200,h_400,c_fill')
+ }
+
+ return ''
+}
+
+// Handle image loading errors
+const handleImageError = (event) => {
+ console.warn('Image failed to load:', event.target.src)
+ // Optionally hide the image container or show a placeholder
+}
+
// Handle registration submission
const handleRegistration = async () => {
isRegistering.value = true
diff --git a/app/pages/events/index.vue b/app/pages/events/index.vue
index dcbd7b1..5c23b52 100644
--- a/app/pages/events/index.vue
+++ b/app/pages/events/index.vue
@@ -85,9 +85,10 @@
@@ -325,6 +326,29 @@ const getOptimizedImageUrl = (publicId, transformations) => {
return `https://res.cloudinary.com/${config.public.cloudinaryCloudName}/image/upload/${transformations}/f_auto,q_auto/${publicId}`
}
+// Get image URL with fallback logic
+const getImageUrl = (featureImage) => {
+ if (!featureImage) return ''
+
+ // If we have a direct URL, use it as primary (since seed data uses external URLs)
+ if (featureImage.url) {
+ return featureImage.url
+ }
+
+ // Fallback to Cloudinary if we have a publicId
+ if (featureImage.publicId) {
+ return getOptimizedImageUrl(featureImage.publicId, 'w_400,h_200,c_fill')
+ }
+
+ return ''
+}
+
+// Handle image loading errors
+const handleImageError = (event) => {
+ console.warn('Image failed to load:', event.target.src)
+ // Optionally hide the image container or show a placeholder
+}
+
// Handle calendar event click
const onEventClick = (event) => {
if (event.id) {