@ozdao/prometheus-framework 0.2.32 → 0.2.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. package/dist/main.css +1 -1
  2. package/dist/prometheus-framework.cjs.js +21 -21
  3. package/dist/prometheus-framework.es.js +1037 -1023
  4. package/package.json +1 -1
  5. package/src/components/Countdown/Countdown.vue +75 -0
  6. package/src/components/EditImages/EditImages.vue +10 -2
  7. package/src/components/Upload/Upload.vue +32 -6
  8. package/src/components/UploadImage/UploadImage.vue +12 -8
  9. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +4 -2
  10. package/src/modules/events/components/pages/EditEvent.vue +288 -1
  11. package/src/modules/events/components/pages/Event.vue +125 -46
  12. package/src/modules/events/components/sections/HeroEvent.vue +161 -0
  13. package/src/modules/events/components/sections/SectionLineup.vue +42 -0
  14. package/src/modules/events/components/sections/SectionMainGuest.vue +104 -0
  15. package/src/modules/events/components/sections/SectionPreviousEvents.vue +119 -0
  16. package/src/modules/events/components/sections/SectionSpecialGuests.vue +47 -0
  17. package/src/modules/events/controllers/events.controller.js +1 -0
  18. package/src/modules/events/controllers/utils/queryProcessor.js +2 -0
  19. package/src/modules/events/models/event.model.js +28 -0
  20. package/src/modules/events/store/events.js +4 -0
  21. package/src/modules/files/controllers/files.controller.js +3 -0
  22. package/src/modules/files/middlewares/server/middlewareBusboy.js +115 -100
  23. package/src/modules/files/routes/files.routes.js +3 -4
  24. package/src/modules/globals/globals.server.js +0 -1
  25. package/src/modules/orders/components/blocks/CardOrder.vue +5 -5
  26. package/src/modules/orders/components/blocks/StatusHistory.vue +84 -0
  27. package/src/modules/orders/components/pages/Order.vue +11 -54
  28. package/src/modules/orders/controllers/orders.controller.js +17 -9
  29. package/src/modules/orders/models/order.model.js +19 -0
  30. package/src/modules/orders/routes/orders.routes.js +4 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/prometheus-framework",
3
- "version": "0.2.32",
3
+ "version": "0.2.33",
4
4
  "description": "Web3 Framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -0,0 +1,75 @@
1
+ <template>
2
+ <div class="gap-thin flex-nowrap flex flex-center">
3
+ <div v-if="isTimeOver" class="flex-child-grow-1 flex-child-shrink-0 flex-child-basis-auto pd-medium bg-blur-small bg-white-transp-5 radius-small">
4
+ <p class="p-small t-transp">Offer is over</p>
5
+ </div>
6
+
7
+ <div v-if="!isTimeOver" class="flex-child-grow-1 flex-child-shrink-0 flex-child-basis-auto pd-nano bg-blur-small bg-white-transp-5 radius-small">
8
+ <p class="p-big">{{ days }}</p>
9
+ <p class="p-small t-transp">Days</p>
10
+ </div>
11
+ <div v-if="!isTimeOver" class="flex-child-grow-1 flex-child-shrink-0 flex-child-basis-auto pd-nano bg-blur-small bg-white-transp-5 radius-small">
12
+ <p class="p-big">{{ hours }}</p>
13
+ <p class="p-small t-transp">hours</p>
14
+ </div>
15
+ <div v-if="!isTimeOver" class="flex-child-grow-1 flex-child-shrink-0 flex-child-basis-auto pd-nano bg-blur-small bg-white-transp-5 radius-small">
16
+ <p class="p-big">{{ minutes }}</p>
17
+ <p class="p-small t-transp">minutes</p>
18
+ </div>
19
+ <div v-if="!isTimeOver" class="flex-child-grow-1 flex-child-shrink-0 flex-child-basis-auto pd-nano bg-blur-small bg-white-transp-5 radius-small">
20
+ <p class="p-big">{{ seconds }}</p>
21
+ <p class="p-small t-transp">seconds</p>
22
+ </div>
23
+ </div>
24
+ </template>
25
+
26
+ <script setup>
27
+ import { ref, onMounted, onBeforeUnmount } from 'vue';
28
+
29
+ const props = defineProps([
30
+ 'content',
31
+ 'options'
32
+ ])
33
+
34
+ const targetDate = new Date(props.options?.date || 'January 13, 2024 16:00:00').getTime();
35
+ const currentDate = ref(new Date().getTime());
36
+
37
+ let interval;
38
+
39
+ const days = ref(0);
40
+ const hours = ref(0);
41
+ const minutes = ref(0);
42
+ const seconds = ref(0);
43
+
44
+ const isTimeOver = ref(false);
45
+
46
+ const calculateTime = () => {
47
+ const timeDifference = targetDate - currentDate.value;
48
+
49
+ if (timeDifference <= 0) {
50
+ // Target date has passed, set all values to 0
51
+ days.value = 0;
52
+ hours.value = 0;
53
+ minutes.value = 0;
54
+ seconds.value = 0;
55
+ isTimeOver.value = true
56
+ clearInterval(interval);
57
+ } else {
58
+ days.value = Math.floor(timeDifference / (1000 * 60 * 60 * 24));
59
+ hours.value = Math.floor((timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
60
+ minutes.value = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));
61
+ seconds.value = Math.floor((timeDifference % (1000 * 60)) / 1000);
62
+ }
63
+ };
64
+
65
+ onMounted(() => {
66
+ interval = setInterval(() => {
67
+ currentDate.value = new Date().getTime();
68
+ calculateTime();
69
+ }, 1000);
70
+ });
71
+
72
+ onBeforeUnmount(() => {
73
+ clearInterval(interval);
74
+ });
75
+ </script>
@@ -29,8 +29,10 @@
29
29
  <UploadImageMultiple
30
30
  v-if="localImages.length < 1"
31
31
  @update:images="onImagesUpdate"
32
- :uploadPath="'photos'"
33
- class="w-100 radius-medium pd-extra bg-white"
32
+ :uploadPath="props.uploadPath"
33
+ :text="props.text"
34
+ :options="props.options"
35
+ class="w-100 pd-extra"
34
36
  />
35
37
  </div>
36
38
  </template>
@@ -43,6 +45,12 @@ import IconCross from '@pf/src/modules/icons/navigation/IconCross.vue';
43
45
 
44
46
  const props = defineProps({
45
47
  images: Array,
48
+ text: Object,
49
+ options: Object,
50
+ uploadPath: {
51
+ type: Object,
52
+ default: 'unsorted'
53
+ }
46
54
  });
47
55
 
48
56
  const emit = defineEmits(['update:images'])
@@ -1,13 +1,21 @@
1
1
  <template>
2
2
  <div :class="[$attrs.class, { 'bg-fourth-nano': validation }]" class="flex-center flex-nowrap flex">
3
- {{fileURL}}
4
-
5
3
  <!-- Label -->
6
4
  <div v-if="label" class="t-transp mn-r-small">
7
5
  <span>{{label}}</span>
8
6
  </div>
9
7
 
10
- <div class="w-100">
8
+ <div v-if="fileURL" class="flex-nowrap flex w-100 flex-v-center">
9
+ <a :href="fileURL" class="w-100" target="_blank">{{ fileURL }}</a>
10
+
11
+ <IconCross
12
+ @click="removeFile"
13
+ class="cursor-pointer t-center flex-center flex radius-extra i-medium bg-red pd-micro"
14
+ />
15
+
16
+ </div>
17
+
18
+ <div v-else class="w-100">
11
19
  <!-- Input / File -->
12
20
  <input
13
21
  @change="onFileChange"
@@ -30,25 +38,36 @@
30
38
  </template>
31
39
 
32
40
  <script setup>
33
- import { ref, computed,} from 'vue'
41
+ import { ref, computed, watch} from 'vue'
34
42
  import axios from 'axios';
35
43
 
44
+ import IconCross from '@pf/src/modules/icons/navigation/IconCross.vue';
45
+
36
46
  const emit = defineEmits(['update:field', 'focus', 'blur', 'file-change']);
37
47
 
38
48
  const props = defineProps({
49
+ field: String,
39
50
  label: null,
40
51
  type: 'file',
41
52
  placeholder: 'Upload a file',
42
53
  validation: false,
54
+ uploadPath: {
55
+ type: String,
56
+ default: '/files'
57
+ },
43
58
  multiple: {
44
59
  type: Boolean,
45
60
  default: false
46
61
  }
47
62
  });
48
63
 
49
- const fileURL = ref(null);
64
+ const fileURL = ref(props.field);
50
65
  const fileInput = ref(null);
51
66
 
67
+ watch(() => props.field, (newValue) => {
68
+ fileURL.value = newValue;
69
+ });
70
+
52
71
  // Handles file change event
53
72
 
54
73
  async function onFileChange(e) {
@@ -67,12 +86,19 @@ async function onFileChange(e) {
67
86
  }
68
87
  });
69
88
 
70
- fileURL.value = response.data.filepath;
89
+ console.log(response.data)
90
+ fileURL.value = response.data[0].filepath;
71
91
  emit('file-change', fileURL.value);
72
92
  } catch (error) {
73
93
  console.error(error);
74
94
  }
75
95
  }
96
+
97
+ const removeFile = () => {
98
+ fileURL.value = null;
99
+ emit('update:field', null); // Обновляем значение, связанное с v-model:field
100
+ emit('file-change', null); // Посылаем событие об изменении файла
101
+ };
76
102
  </script>
77
103
 
78
104
  <style lang="scss" scoped>
@@ -17,7 +17,7 @@
17
17
  </svg>
18
18
  </div>
19
19
 
20
- <input type="file" ref="fileInput" @change="onFileChange" style="display: none"/>
20
+ <input type="file" name="file" ref="fileInput" @change="onFileChange" style="display: none"/>
21
21
  </div>
22
22
  </template>
23
23
 
@@ -45,25 +45,29 @@ function onComponentClick() {
45
45
 
46
46
  async function onFileChange(e) {
47
47
  let file = e.target.files[0];
48
+ if (!file) {
49
+ console.error("No file selected");
50
+ return;
51
+ }
52
+
48
53
  let formData = new FormData();
49
-
50
54
  formData.append("file", file);
51
55
 
56
+ console.log("Sending file:", file.name); // Логируем имя файла перед отправкой
57
+
52
58
  try {
53
59
  const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true });
54
60
 
55
- let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData, {
56
- headers: {
57
- "Content-Type": "multipart/form-data"
58
- }
59
- });
61
+ let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData);
62
+ console.log("Upload response:", response); // Логируем ответ сервера
60
63
  imageUrl.value = response.data[0].filepath;
61
64
  emit('update:photo', imageUrl.value);
62
65
  } catch (error) {
63
- console.error(error);
66
+ console.error("Upload error:", error); // Логируем ошибку
64
67
  }
65
68
  }
66
69
 
70
+
67
71
  function onDrop(e) {
68
72
  e.preventDefault();
69
73
  onFileChange({
@@ -13,7 +13,7 @@
13
13
  fill="rgb(var(--main))"
14
14
  />
15
15
 
16
- <span v-if="options.showText" class="mn-t-thin mn-b-thin d-block h3 t-black">{{ text.title }}</span>
16
+ <span v-if="options.showText || options.showTitle" class="mn-t-thin mn-b-thin d-block h3 t-black">{{ text.title }}</span>
17
17
  <span v-if="options.showText" class="mn-b-thin t-transp d-block ">{{ text.subtitle }}</span>
18
18
  <span v-if="options.showText"class="mn-b-thin uppercase p-small t-medium d-block">or</span>
19
19
 
@@ -50,7 +50,8 @@ const props = defineProps({
50
50
  default: () => ({
51
51
  mimeType: ['jpg', 'png', 'gif'],
52
52
  maxSize: 10 * 1024 * 1024,
53
- showText: true
53
+ showText: true,
54
+ showTitle: true
54
55
  })
55
56
  },
56
57
  text: {
@@ -78,6 +79,7 @@ async function onFileChange(e) {
78
79
  formData.append("file", file);
79
80
  }
80
81
 
82
+
81
83
  try {
82
84
  const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true });
83
85
 
@@ -3,7 +3,7 @@
3
3
  <div class="mn-b-thin radius-small w-100 h-10r bg-grey flex-center flex-column flex">
4
4
  <UploadImage
5
5
  v-model:photo="event.cover"
6
- :uploadPath="'users/' + auth.state.user._id + '/events'"
6
+ :uploadPath="'specials'"
7
7
  class="h-4r w-4r aspect-1x1 o-hidden mn-b-thin radius-extra"
8
8
  />
9
9
  <h4>Upload Event Cover</h4>
@@ -21,6 +21,281 @@
21
21
  class="mn-b-semi w-100 bg-grey pd-medium radius-small"
22
22
  />
23
23
 
24
+
25
+ <h3
26
+
27
+ class="mn-b-small"
28
+ >
29
+ Special Details
30
+ </h3>
31
+
32
+
33
+ <Checkbox
34
+ :label="'Special'"
35
+ :radio="event.special"
36
+ @update:radio="updateEvent => event.special = !event.special"
37
+ class="mn-b-semi w-100 bg-black t-white pd-medium radius-small"
38
+ />
39
+
40
+ <div
41
+ v-if="event.special"
42
+ class="mn-b-semi"
43
+ >
44
+ <h4
45
+ class="mn-b-thin"
46
+ >
47
+ Hero Section
48
+ </h4>
49
+
50
+ <Field
51
+ v-model:field="event.specialData.subtitle"
52
+ placeholder="Event subtitle"
53
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
54
+ />
55
+
56
+ <EditImages
57
+ :images="event.specialData.logos"
58
+ :uploadPath="'/specials'"
59
+ :text="{
60
+ title: 'Drag & Drop Your Logos Here',
61
+ subtitle: 'Files supported: JPG, PNG, GIF'
62
+ }"
63
+ :options="{
64
+ showTitle: true,
65
+ showText: false
66
+ }"
67
+ @update:images="(newImages) => event.specialData.logos = newImages"
68
+ class="mn-b-thin bg-grey radius-small"
69
+ />
70
+ <h5
71
+ class="mn-b-thin"
72
+ >
73
+ Video in Hero Section
74
+ </h5>
75
+ <Upload
76
+ v-model:field="event.specialData.video"
77
+ :placeholder="'Upload video'"
78
+ @file-change="(videoURL) => event.specialData.video = videoURL"
79
+ uploadPath="specials"
80
+ type="file"
81
+ class="
82
+ mn-b-thin w-100 bg-grey pd-medium radius-small t-black
83
+ "
84
+ />
85
+
86
+ <h5
87
+ class="mn-b-thin"
88
+ >
89
+ Ticket
90
+ </h5>
91
+
92
+ <div
93
+ class="mn-b-small gap-small cols-2-fit-content"
94
+ >
95
+ <UploadImage
96
+ v-model:photo="event.specialData.ticketImage"
97
+ :uploadPath="'/specials'"
98
+ class="aspect-1x1 w-4r o-hidden radius-extra"
99
+ />
100
+
101
+ <div class="gap-thin flex-nowrap flex w-100">
102
+ <Field
103
+ v-model:field="event.specialData.ticketLinkStripe"
104
+ placeholder="Link to ticket stripe payment page"
105
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
106
+ />
107
+ <Field
108
+ v-model:field="event.specialData.ticketPrice"
109
+ type="number"
110
+ placeholder="Ticket price in baht"
111
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
112
+ />
113
+
114
+
115
+ </div>
116
+ </div>
117
+
118
+ <hr class="bg-black-transp-10 mn-b-semi mn-t-semi d-block">
119
+
120
+ <h4
121
+ class="mn-b-thin"
122
+ >
123
+ Guest Section
124
+ </h4>
125
+
126
+ <Field
127
+ v-model:field="event.specialData.titleMainGuest"
128
+ placeholder="Title for Main Guest section"
129
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
130
+ />
131
+
132
+ <Field
133
+ v-model:field="event.specialData.guestDescription"
134
+ placeholder="Description for Main Guest section"
135
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
136
+ />
137
+
138
+ <div class="gap-thin cols-3">
139
+
140
+ <Field
141
+ v-model:field="event.specialData.guestFacebook"
142
+ placeholder="Facebook of Main Guest"
143
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
144
+ />
145
+
146
+ <Field
147
+ v-model:field="event.specialData.guestInstagram"
148
+ placeholder="Instagram of Main Guest"
149
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
150
+ />
151
+
152
+ <Field
153
+ v-model:field="event.specialData.guestTwitter"
154
+ placeholder="Twitter of Main Guest"
155
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
156
+ />
157
+
158
+
159
+ <Field
160
+ v-model:field="event.specialData.guestTelegram"
161
+ placeholder="Telegram of Main Guest"
162
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
163
+ />
164
+
165
+ <Field
166
+ v-model:field="event.specialData.guestSoundcloud"
167
+ placeholder="Link to Main Guest soundcloud track"
168
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
169
+ />
170
+
171
+ <Field
172
+ v-model:field="event.specialData.guestSpotify"
173
+ placeholder="Link to Main guest spotify track"
174
+ class="mn-b-thin w-100 bg-grey pd-medium radius-small"
175
+ />
176
+ </div>
177
+
178
+ <h5
179
+ class="mn-b-thin"
180
+ >
181
+ Video in Guests Section
182
+ </h5>
183
+
184
+ <Upload
185
+ v-model:field="event.specialData.guestVideo"
186
+ :placeholder="'Upload video'"
187
+ @file-change="(videoURL) => event.specialData.guestVideo = videoURL"
188
+ uploadPath="/specials"
189
+ type="file"
190
+ class="
191
+ mn-b-thin w-100 bg-grey pd-medium radius-small t-black
192
+ "
193
+ />
194
+
195
+ <Block
196
+ title="Guests"
197
+ placeholder="No guests added yet"
198
+ :actions="[{
199
+ label: '+',
200
+ function: () => event.specialData.guests.push({name: null, description: null, photo: null, main: false})
201
+ }]"
202
+ class="cols-1 mn-b-thin t-black gap-thin"
203
+ >
204
+ <div
205
+ class="mn-b-small gap-small cols-2-fit-content"
206
+ v-for="(item, index) in event.specialData.guests"
207
+ :key="index"
208
+ >
209
+ <UploadImage
210
+ v-model:photo="item.photo"
211
+ :uploadPath="'/specials'"
212
+ class="aspect-1x1 w-8r o-hidden radius-extra"
213
+ />
214
+
215
+ <div class="gap-thin flex-nowrap flex w-100">
216
+ <div class="w-100">
217
+ <Field
218
+ v-model:field="item.name"
219
+ placeholder="Name"
220
+ class="w-100 mn-b-thin bg-white radius-small pd-medium"
221
+ />
222
+ <Field
223
+ v-model:field="item.description"
224
+ placeholder="Description"
225
+ class="w-100 mn-b-thin bg-white radius-small pd-medium"
226
+ />
227
+ </div>
228
+ <div class="radius-small h-100 i-big flex-center flex aspect-1x1 bg-red">
229
+ <IconDelete
230
+ @click="() => event.specialData.guests.splice(index, 1)"
231
+ class="i-medium"
232
+ />
233
+ </div>
234
+ </div>
235
+ </div>
236
+ </Block>
237
+
238
+ <hr class="bg-black-transp-10 mn-b-semi mn-t-semi d-block">
239
+
240
+ <h4
241
+ class="mn-b-thin"
242
+ >
243
+ Lineup Section
244
+ </h4>
245
+
246
+ <Block
247
+ title="Line Up"
248
+ placeholder="No line ups added yet"
249
+ :actions="[{
250
+ label: '+',
251
+ function: () => event.specialData.lineup.push({name: null, description: null, photo: null, main: false})
252
+ }]"
253
+ class="cols-1 t-black gap-thin"
254
+ >
255
+ <div
256
+ class="mn-b-thin gap-small flex-nowrap flex"
257
+ v-for="(item, index) in event.specialData.lineup"
258
+ :key="index"
259
+ >
260
+ <Field
261
+ v-model:field="item.name"
262
+ placeholder="Name"
263
+ class="w-100 bg-grey radius-small pd-medium"
264
+ />
265
+ <Field
266
+ v-model:field="item.time"
267
+ placeholder="Time"
268
+ class="w-100 bg-grey radius-small pd-medium"
269
+ />
270
+ <div class="radius-small h-100 i-big flex-center flex aspect-1x1 bg-red">
271
+ <IconDelete
272
+ @click="() => event.specialData.lineup.splice(index, 1)"
273
+ class="i-medium"
274
+ />
275
+ </div>
276
+ </div>
277
+ </Block>
278
+
279
+ <h5
280
+ class="mn-b-thin"
281
+ >
282
+ Background in Lineup Section
283
+ </h5>
284
+
285
+ <Upload
286
+ v-model:field="event.specialData.lineupBackground"
287
+ :placeholder="'Upload image'"
288
+ @file-change="(videoURL) => event.specialData.lineupBackground = videoURL"
289
+ uploadPath="/specials"
290
+ type="file"
291
+ class="
292
+ mn-b-thin w-100 bg-grey pd-medium radius-small t-black
293
+ "
294
+ />
295
+
296
+
297
+ </div>
298
+
24
299
  <h3 class="mn-b-small">Date</h3>
25
300
  <VueDatePicker v-model="date" :alt-position="customPosition" range class="mn-b-semi" />
26
301
 
@@ -33,6 +308,8 @@
33
308
  />
34
309
  </section>
35
310
 
311
+
312
+
36
313
  <section v-if="event" class="pd-thin pos-sticky pos-l-0 pos-b-0 w-100 ">
37
314
  <div class="pd-thin radius-big bg-main w-100 flex-nowrap flex">
38
315
  <a v-if="route.params.url" @click="onDelete()" class="mn-r-auto bg-red t-white t-black button">Delete</a>
@@ -87,14 +364,20 @@ import Constructor from '@pf/src/modules/constructor/components/sections/Constru
87
364
  import VueDatePicker from '@vuepic/vue-datepicker';
88
365
  import '@vuepic/vue-datepicker/dist/main.css'
89
366
 
367
+ import Block from '@pf/src/components/Block/Block.vue';
90
368
  import Popup from '@pf/src/components/Popup/Popup.vue';
91
369
  import Field from '@pf/src/components/Field/Field.vue'
92
370
  import BlockTags from '@pf/src/components/FieldTags/BlockTags.vue';
93
371
  import Checkbox from '@pf/src/components/Checkbox/Checkbox.vue';
94
372
  import SelectMulti from '@pf/src/components/SelectMulti/SelectMulti.vue';
373
+ import Upload from '@pf/src/components/Upload/Upload.vue';
95
374
  import UploadImage from '@pf/src/components/UploadImage/UploadImage.vue';
375
+ import EditImages from '@pf/src/components/EditImages/EditImages.vue';
96
376
  import Button from '@pf/src/components/Button/Button.vue';
97
377
 
378
+
379
+ import IconDelete from '@pf/src/modules/icons/navigation/IconDelete.vue';
380
+
98
381
  import { ref, onMounted } from 'vue';
99
382
  import { useRoute, useRouter } from 'vue-router';
100
383
 
@@ -120,8 +403,11 @@ onMounted(async () =>{
120
403
 
121
404
  if (route.params.url) {
122
405
  const data = await events.read({ user: auth.state.user._id, url: route.params.url });
406
+
123
407
  event.value = data.pop();
124
408
 
409
+ console.log(event.value)
410
+
125
411
  const startDate = event.value.date.start;
126
412
  const endDate = event.value.date.end;
127
413
 
@@ -224,6 +510,7 @@ function onSubmit() {
224
510
 
225
511
  console.log(date.value)
226
512
  if (route.params.url) {
513
+ console.log(event.value)
227
514
  events.update(event.value)
228
515
  .then(response => {
229
516
  router.push({ name: 'Event', params: { url: response.url } });