diff --git a/app/pages/admin/events/create.vue b/app/pages/admin/events/create.vue
index a3d56e3..07267e5 100644
--- a/app/pages/admin/events/create.vue
+++ b/app/pages/admin/events/create.vue
@@ -232,6 +232,26 @@
+
+
+
Ticketing
@@ -584,6 +604,11 @@ const formErrors = ref([]);
const fieldErrors = ref({});
const selectedSeriesId = ref(null);
const availableSeries = ref([]);
+const availableTags = ref([]);
+
+const tagOptions = computed(() =>
+ availableTags.value.map((t) => ({ label: t.label, value: t.slug }))
+);
const eventForm = reactive({
title: "",
@@ -599,6 +624,7 @@ const eventForm = reactive({
isCancelled: false,
cancellationMessage: "",
targetCircles: [],
+ tags: [],
maxAttendees: "",
registrationRequired: false,
registrationDeadline: "",
@@ -632,15 +658,17 @@ const removeAgendaItem = (index) => {
eventForm.agenda.splice(index, 1);
};
-// Load available series
+// Load available series and tags
onMounted(async () => {
try {
- const response = await $fetch("/api/admin/series");
- console.log("Loaded series:", response);
- availableSeries.value = response;
- console.log("availableSeries.value:", availableSeries.value);
+ const [seriesResponse, tagsResponse] = await Promise.all([
+ $fetch("/api/admin/series"),
+ $fetch("/api/tags"),
+ ]);
+ availableSeries.value = seriesResponse;
+ availableTags.value = tagsResponse.tags || [];
} catch (error) {
- console.error("Failed to load series:", error);
+ console.error("Failed to load form data:", error);
}
});
@@ -692,6 +720,7 @@ if (route.query.edit) {
isCancelled: event.isCancelled || false,
cancellationMessage: event.cancellationMessage || "",
targetCircles: event.targetCircles || [],
+ tags: event.tags || [],
maxAttendees: event.maxAttendees || "",
registrationRequired: event.registrationRequired,
registrationDeadline: event.registrationDeadline
@@ -912,6 +941,7 @@ const saveAndCreateAnother = async () => {
isCancelled: false,
cancellationMessage: "",
targetCircles: [],
+ tags: [],
maxAttendees: "",
registrationRequired: false,
registrationDeadline: "",
diff --git a/server/models/event.js b/server/models/event.js
index 16245bc..ff2e2b0 100644
--- a/server/models/event.js
+++ b/server/models/event.js
@@ -142,6 +142,7 @@ const eventSchema = new mongoose.Schema({
maxAttendees: Number,
registrationRequired: { type: Boolean, default: false },
registrationDeadline: Date,
+ tags: [String], // Tag slugs from Tag collection
agenda: [String],
speakers: [
{