diff --git a/pages/add/_edit.vue b/pages/add/_edit.vue
index a3039681..9e793f37 100644
--- a/pages/add/_edit.vue
+++ b/pages/add/_edit.vue
@@ -1,170 +1,131 @@
- el-main#add_event
- h4
{{edit?$t('common.edit_event'):$t('common.add_event')}}
+ el-main
+ h5.text-center {{edit?$t('common.edit_event'):$t('common.add_event')}}
el-form(v-loading='loading')
+
+ //- NOT LOGGED EVENT
+ div(v-if='!$auth.loggedIn')
+ el-divider {{$t('event.anon')}}
+ p(v-html="$t('event.anon_description')")
+
+ //- title
+ span {{$t('event.what_description')}}
+ el-input.mb-3(v-model='event.title' ref='title' autofocus)
+
+ //- description
+ span {{$t('event.description_description')}}
+ Editor.mb-3(v-model='event.description' border no-save style='max-height: 400px;')
+
+ //- tags
+ div {{$t('event.tag_description')}}
+ el-select.mb-3(v-model='event.tags' multiple filterable
+ @input.native='queryTags=$event.target.value' @change='queryTags=""'
+ allow-create default-first-option placeholder='Tag')
+ el-option(v-for='tag in filteredTags' :key='tag' :label='tag' :value='tag')
+
+ //- WHERE
+ el-divider
+ i.el-icon-location-outline
+ span {{$t('common.where')}}
+ p(v-html="$t('event.where_description')")
+
+ el-autocomplete(v-model='event.place.name' @blur='selectPlace($event.target.value)'
+ highlight-first-item
+ :fetch-suggestions='filterPlaces' @select='selectPlace')
+
+ div {{$t("common.address")}}
+ el-input.mb-3(ref='address' v-model='event.place.address' :disabled='disableAddress')
+
+ //- WHEN
+ el-divider {{$t('common.when')}}
+
+ .text-center
+ el-radio-group(v-model="event.type")
+ el-radio-button(label="normal") {{$t('event.normal')}}
+ el-radio-button(label="multidate") {{$t('event.multidate')}}
+ el-radio-button(v-if='settings.allow_recurrent_event' label="recurrent") {{$t('event.recurrent')}}
+ br
+ span {{$t(`event.${event.type}_description`)}}
+ el-select.ml-2(v-if='event.type==="recurrent"' v-model='event.recurrent.frequency' placeholder='Frequenza')
+ el-option(:label="$t('event.each_week')" value='1w' key='1w')
+ el-option(:label="$t('event.each_2w')" value='2w' key='2w')
+ //- el-option(:label="$t('event.each_month')" value='1m' key='1m')
+
client-only
- el-tabs.mb-2(v-model='activeTab')
+ #picker.mx-auto
+ v-date-picker.mb-2.mt-3(
+ :mode='event.type === "multidate" ? "range" : event.type === "recurrent" ? "multiple" : "single"'
+ :attributes='attributes'
+ v-model='date'
+ :locale='$i18n.locale'
+ :from-page.sync='page'
+ is-inline
+ is-expanded
+ :min-date='event.type !== "recurrent" && new Date()')
- //- NOT LOGGED EVENT
- el-tab-pane(v-if='!$auth.loggedIn')
- span(slot='label') {{$t('event.anon')}}
- p(v-html="$t('event.anon_description')")
- el-button.float-right(@click='next' :disabled='!couldProceed') {{$t('common.next')}}
+ div.text-center.mb-2(v-if='event.type === "recurrent"')
+ span(v-if='event.recurrent.frequency !== "1m" && event.recurrent.frequency !== "2m"') {{whenPatterns}}
+ el-radio-group(v-else v-model='event.recurrent.type')
+ el-radio-button(v-for='whenPattern in whenPatterns' :label='whenPattern.key' :key='whenPatterns.key')
+ span {{whenPattern.label}}
- //- WHAT
- el-tab-pane
- span(slot='label') {{$t('common.what')}}
- span {{$t('event.what_description')}}
- el-input.mb-3(v-model='event.title' ref='title')
- span {{$t('event.description_description')}}
- el-input.mb-3(v-model='event.description' type='textarea' :rows='9')
- span {{$t('event.tag_description')}}
- br
- el-select(v-model='event.tags' multiple filterable allow-create
- default-first-option placeholder='Tag')
- el-option(v-for='tag in tags' :key='tag'
- :label='tag' :value='tag')
+ .text-center(inline)
+ el-form-item(:label="$t('event.from')")
+ el-time-select.mr-2(ref='time_start'
+ v-model="time.start"
+ :picker-options="{ start: '00:00', step: '00:30', end: '24:00'}")
+ el-form-item(:label="$t('event.due')")
+ el-time-select(v-model='time.end'
+ :picker-options="{start: '00:00', step: '00:30', end: '24:00'}")
- el-button.float-right(@click.native='next' :disabled='!couldProceed') {{$t('common.next')}}
+ List(v-if='event.type==="normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")')
+ //- el-button.float-right(@click='next' type='succes' :disabled='!couldProceed') {{$t('common.next')}}
- //- WHERE
- el-tab-pane
- span(slot='label') {{$t('common.where')}}
- p(v-html="$t('event.where_description')")
- span {{event.place.name}}
- el-select.mb-3(v-model='event.place.name'
- @keypress.tab='testBlur'
- @change='placeChoosed'
- filterable allow-create
- default-first-option
- @blur='testBlur'
- )
- el-option(v-for='place in places' :label='place.name' :value='place.name' :key='place.id')
- div {{$t("common.address")}}
- el-input.mb-3(ref='address' v-model='event.place.address'
- :disabled='places_name.indexOf(event.place.name)>-1'
- @keydown.native.enter='next')
- el-button.float-right(@click='next' :disabled='!couldProceed') {{$t('common.next')}}
+ //- MEDIA / FLYER / POSTER
+ el-divider {{$t('common.media')}}
- //- WHEN
- el-tab-pane
- span(slot='label') {{$t('common.when')}}
- .text-center
- el-radio-group(v-model="event.type")
- el-radio-button(label="normal") {{$t('event.normal')}}
- el-radio-button(label="multidate") {{$t('event.multidate')}}
- el-radio-button(v-if='settings.allow_recurrent_event' label="recurrent") {{$t('event.recurrent')}}
- br
- span {{$t(`event.${event.type}_description`)}}
- el-select.ml-2(v-if='event.type==="recurrent"' v-model='event.recurrent.frequency' placeholder='Frequenza')
- el-option(:label="$t('event.each_week')" value='1w' key='1w')
- el-option(:label="$t('event.each_2w')" value='2w' key='2w')
- //- el-option(:label="$t('event.each_month')" value='1m' key='1m')
-
- #picker.mx-auto
- v-date-picker.mb-2.mt-3(
- :mode='event.type === "multidate" ? "range" : event.type === "recurrent" ? "multiple" : "single"'
- :attributes='attributes'
- v-model='date'
- :locale='$i18n.locale'
- :from-page.sync='page'
- is-inline
- is-expanded
- :min-date='event.type !== "recurrent" && new Date()'
- )
-
- div.text-center.mb-2(v-if='event.type === "recurrent"')
- span(v-if='event.recurrent.frequency !== "1m" && event.recurrent.frequency !== "2m"') {{whenPatterns}}
- el-radio-group(v-else v-model='event.recurrent.type')
- el-radio-button(v-for='whenPattern in whenPatterns' :label='whenPattern.key' :key='whenPatterns.key')
- span {{whenPattern.label}}
-
- el-form.text-center(inline)
- el-form-item(:label="$t('event.from')")
- el-time-select.mr-2(ref='time_start'
- v-model="time.start"
- :picker-options="{ start: '00:00', step: '00:30', end: '24:00'}")
- el-form-item(:label="$t('event.due')")
- el-time-select(v-model='time.end'
- :picker-options="{start: '00:00', step: '00:30', end: '24:00'}")
-
- List(v-if='event.type==="normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")')
- el-button.float-right(@click='next' type='succes' :disabled='!couldProceed') {{$t('common.next')}}
-
- //- MEDIA / FLYER / POSTER
- el-tab-pane
- span(slot='label') {{$t('common.media')}}
- div.mb-2 {{$t('event.media_description')}}
- img(:src='mediaUrl' @load='imageLoaded')
- el-upload.text-center(
- action=''
- :limit="1"
- :auto-upload='false'
- drag
- accept='image/*'
- :on-remove='cleanFile'
- :on-change='uploadedFile'
- :multiple='false')
- i.el-icon-upload
- el-input(v-model='mediaUrl' @blur='checkMediaUrl')
- el-button.mt-2.float-right(@click='done' :disabled='!couldProceed') {{edit?$t('common.edit'):$t('common.send')}}
+ div.mb-2 {{$t('event.media_description')}}
+ //- img(:src='mediaUrl' @load='imageLoaded')
+ el-upload.text-center(
+ action=''
+ :limit="1"
+ :auto-upload='false'
+ drag
+ accept='image/*'
+ :on-remove='cleanFile'
+ :on-change='uploadedFile'
+ :multiple='false')
+ i.el-icon-upload
+ //- el-input(v-model='mediaUrl')
+ el-button.mt-2.float-right(@click='done' :disabled='!couldProceed') {{edit?$t('common.edit'):$t('common.send')}}
-