@@ -105,10 +102,7 @@
mdi-currency-eur
-
- €{{ memberPrice || nonMemberPrice }}
- (Members)
-
+ {{ priceDisplay }}
@@ -236,8 +230,29 @@ const iconColor = computed(() => {
return 'white';
});
+const memberPrice = computed(() => props.event?.cost_members || '');
const nonMemberPrice = computed(() => props.event?.cost_non_members || '');
+const priceDisplay = computed(() => {
+ if (!props.event || props.event.is_paid !== 'true') return '';
+
+ const memberCost = props.event.cost_members;
+ const nonMemberCost = props.event.cost_non_members;
+
+ if (memberCost && nonMemberCost) {
+ // Show both prices
+ return `€${memberCost} (Members) | €${nonMemberCost} (Non-Members)`;
+ } else if (memberCost) {
+ // Only member price
+ return `€${memberCost} (Members)`;
+ } else if (nonMemberCost) {
+ // Only non-member price
+ return `€${nonMemberCost}`;
+ }
+
+ return '';
+});
+
const formatEventDate = computed(() => {
if (!props.event) return '';
@@ -261,16 +276,6 @@ const formatEventDate = computed(() => {
return `${format(startDate, 'MMM d')} - ${format(endDate, 'MMM d')}`;
});
-const memberPrice = computed(() => {
- if (!props.event || props.event.is_paid !== 'true') return '';
-
- if (props.event.cost_members && props.event.cost_non_members) {
- return `€${props.event.cost_members} (Members)`;
- }
-
- return `€${props.event.cost_members || props.event.cost_non_members}`;
-});
-
const capacityInfo = computed(() => {
if (!props.event?.max_attendees) return '';
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 2028d0d..6a190ce 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -100,6 +100,19 @@ export default defineNuxtConfig({
wasm: true
}
},
+ vite: {
+ optimizeDeps: {
+ exclude: ['minio', 'sharp']
+ },
+ build: {
+ rollupOptions: {
+ external: ['minio', 'sharp', 'fs', 'path', 'crypto', 'stream']
+ }
+ },
+ ssr: {
+ noExternal: []
+ }
+ },
runtimeConfig: {
// Server-side configuration
keycloak: {