diff --git a/CHANGELOG b/CHANGELOG
index 93ccf2e6..a76150db 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,13 @@
All notable changes to this project will be documented in this file.
+### 1.0.2 (alpha)
+ - improve oauth flow UI
+ - [WordPress plugin](https://wordpress.org/plugins/wpgancio/)
+ - fix h-event import
+ - improve error logging (add stack trace to exception)
+ - choose start date for recurreing events (#120)
+ - fix user delete from admin
+
### 1.0.1 (alpha)
- fix AP resource removal
diff --git a/components/Calendar.vue b/components/Calendar.vue
index 4e49ebfa..327241ac 100644
--- a/components/Calendar.vue
+++ b/components/Calendar.vue
@@ -8,6 +8,7 @@
:locale='$i18n.locale'
:attributes='attributes'
transition='fade'
+ aria-label='Calendar'
is-expanded
is-inline
@dayclick='click')
diff --git a/components/Footer.vue b/components/Footer.vue
index 86df34a3..a31c28fa 100644
--- a/components/Footer.vue
+++ b/components/Footer.vue
@@ -1,5 +1,5 @@
- v-footer(color='secondary')
+ v-footer(color='secondary' aria-label='Footer')
v-dialog(v-model='showFollowMe' destroy-on-close max-width='700px')
FollowMe(@close='showFollowMe=false' is-dialog)
diff --git a/components/Nav.vue b/components/Nav.vue
index 2ba83a3a..b791b3de 100644
--- a/components/Nav.vue
+++ b/components/Nav.vue
@@ -14,23 +14,23 @@
v-tooltip(bottom) {{$t('common.add_event')}}
template(v-slot:activator='{ on }')
- v-btn(v-if='could_add' icon nuxt to='/add' v-on='on')
+ v-btn(v-if='could_add' icon nuxt to='/add' v-on='on' :aria-label='$t("common.add_event")')
v-icon(large color='primary') mdi-plus
v-tooltip(bottom) {{$t('common.share')}}
template(v-slot:activator='{ on }')
- v-btn(icon nuxt to='/export' v-on='on')
+ v-btn(icon nuxt to='/export' v-on='on' :aria-label='$t("common.share")')
v-icon mdi-share-variant
v-tooltip(v-if='!$auth.loggedIn' bottom) {{$t('common.login')}}
template(v-slot:activator='{ on }')
- v-btn(icon nuxt to='/login' v-on='on')
+ v-btn(icon nuxt to='/login' v-on='on' :aria-label='$t("common.login")')
v-icon mdi-login
v-menu(v-else
offset-y bottom open-on-hover transition="slide-y-transition")
template(v-slot:activator="{ on, attrs }")
- v-btn(icon v-bind='attrs' v-on='on')
+ v-btn(icon v-bind='attrs' v-on='on' aria-label='Menu')
v-icon mdi-dots-vertical
v-list
v-list-item(nuxt to='/settings')
@@ -51,7 +51,7 @@
v-list-item-content
v-list-item-title {{$t('common.logout')}}
- v-btn(icon v-clipboard:copy='feedLink' v-clipboard:success='copyLink')
+ v-btn(icon v-clipboard:copy='feedLink' v-clipboard:success='copyLink' aria-label='RSS')
v-icon(color='orange') mdi-rss
diff --git a/docs/changelog.md b/docs/changelog.md
index a4e2692b..e407ac99 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -8,6 +8,15 @@ nav_order: 10
All notable changes to this project will be documented in this file.
+
+### 1.0.2 (alpha)
+ - improve oauth flow UI
+ - [WordPress plugin](https://wordpress.org/plugins/wpgancio/)
+ - fix h-event import
+ - improve error logging (add stack trace to exception)
+ - choose start date for recurreing events (#120)
+ - fix user delete from admin
+
### 1.0.1 (alpha)
- fix AP resource removal
diff --git a/docs/docker/Dockerfile b/docs/docker/Dockerfile
index 7ea8472d..9ca1d1d2 100644
--- a/docs/docker/Dockerfile
+++ b/docs/docker/Dockerfile
@@ -1,5 +1,6 @@
FROM node:buster
-RUN yarn global add --silent https://gancio.org/latest.tgz 2> /dev/null
+RUN yarn cache clean gancio
+RUN yarn global add --latest --silent https://gancio.org/latest.tgz 2> /dev/null
ADD entrypoint.sh /
RUN chmod 755 /entrypoint.sh
diff --git a/docs/install/debian.md b/docs/install/debian.md
index b61c84d8..3621a3c9 100644
--- a/docs/install/debian.md
+++ b/docs/install/debian.md
@@ -64,6 +64,7 @@ sudo pm2 startup -u gancio
## Upgrade
```bash
+sudo yarn cache clean gancio
sudo yarn global add --silent {{site.url}}/latest.tgz 2> /dev/null
sudo service pm2 restart
```
diff --git a/docs/instances.md b/docs/instances.md
index 0de24ac8..43cb5b28 100644
--- a/docs/instances.md
+++ b/docs/instances.md
@@ -8,7 +8,7 @@ nav_order: 7
- [gancio.cisti.org](https://gancio.cisti.org) (Turin, Italy)
- [lapunta.org](https://lapunta.org) (Florence, Italy)
-- [chesefa.org](https://chesefa.org) (Naples, Italy)
+- [termine.161.social](https://termine.161.social) (Germany)
-Do you want your instance to appear here? [Write us]({% link contact.md %}).
\ No newline at end of file
+Do you want your instance to appear here? [Write us]({% link contact.md %}).
diff --git a/locales/en.json b/locales/en.json
index dd51d655..cb0e4ec2 100644
--- a/locales/en.json
+++ b/locales/en.json
@@ -197,7 +197,7 @@
"resources": "Resources",
"user_blocked": "User {user} blocked",
"favicon": "Logo",
- "user_block_confirm": "Are you sure you want block user {user}?",
+ "user_block_confirm": "Are you sure you want to block user {user}?",
"instance_block_confirm": "Are you sure you want block instance {instance}?",
"delete_announcement_confirm": "Are you sure you want to remove the announcement?",
"announcement_remove_ok": "Announce removed",
diff --git a/locales/it.json b/locales/it.json
index 208da69f..77401f1a 100644
--- a/locales/it.json
+++ b/locales/it.json
@@ -200,7 +200,7 @@
"favicon": "Logo",
"user_block_confirm": "Confermi di voler bloccare l'utente {user}?",
"instance_block_confirm": "Confermi di voler bloccare l'istanza {instance}?",
- "delete_announcement_confirm": " Vuoieliminare questo l'annuncio?",
+ "delete_announcement_confirm": "Vuoi eliminare questo l'annuncio?",
"announcement_remove_ok": "Annuncio rimosso",
"announcement_description": "In questa sezione puoi inserire annunci che rimarranno in homepage",
"instance_locale": "Lingua predefinita",
diff --git a/package.json b/package.json
index 1754bed5..29d21536 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gancio",
- "version": "1.0.1-alpha",
+ "version": "1.0.2-alpha",
"description": "A shared agenda for local communities",
"author": "lesion",
"scripts": {
diff --git a/pages/add/DateInput.vue b/pages/add/DateInput.vue
index 9a47f8b3..41cc5dc8 100644
--- a/pages/add/DateInput.vue
+++ b/pages/add/DateInput.vue
@@ -7,8 +7,10 @@ v-col(cols=12)
v-btn(v-if='settings.allow_recurrent_event' value='recurrent' label="recurrent") {{$t('event.recurrent')}}
p {{$t(`event.${type}_description`)}}
+
v-btn-toggle.v-col-6.flex-column.flex-sm-row(v-if='type === "recurrent"' color='primary' :value='value.recurrent.frequency' @change='fq => change("frequency", fq)')
v-btn(v-for='f in frequencies' :key='f.value' :value='f.value') {{f.text}}
+
client-only
.datePicker.mt-3
v-input(:value='fromDate'
@@ -43,11 +45,6 @@ v-col(cols=12)
:value='dueHour' clearable
:items='hourList' @change='hr => change("dueHour", hr)')
- //- div.col-md-12(v-if='isRecurrent')
- //- p(v-if='value.recurrent.frequency !== "1m" && value.recurrent.frequency !== "2m"') 🡲 {{whenPatterns}}
- //- v-btn-toggle(v-else dense group v-model='value.recurrent.type' color='primary')
- //- v-btn(text link v-for='whenPattern in whenPatterns' :value='whenPattern.key' :key='whenPatterns.key') {{whenPattern.label}}
-
List(v-if='type==="normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")')
@@ -66,12 +63,7 @@ export default {
data () {
return {
type: 'normal',
- time: { start: null, end: null },
- fromDateMenu: null,
- dueDateMenu: null,
- date: null,
page: null,
- frequency: '',
events: [],
frequencies: [
{ value: '1w', text: this.$t('event.each_week') },
@@ -106,16 +98,15 @@ export default {
},
hourList () {
const hourList = []
- const pad = '00'
+ const leftPad = h => ('00' + h).slice(-2)
for (let h = 0; h < 24; h++) {
- hourList.push(`${(pad + h).slice(-pad.length)}:00`)
- hourList.push(`${(pad + h).slice(-pad.length)}:30`)
+ const textHour = leftPad(h < 13 ? h : h - 12)
+ hourList.push({ text: textHour + ':00 ' + (h <= 12 ? 'AM' : 'PM'), value: leftPad(h) + ':00' })
+ hourList.push({ text: textHour + ':30 ' + (h <= 12 ? 'AM' : 'PM'), value: leftPad(h) + ':30' })
}
+
return hourList
},
- isRecurrent () {
- return !!this.value.recurrent
- },
whenPatterns () {
if (!this.value.from) { return }
const date = dayjs(this.value.from)
@@ -181,7 +172,7 @@ export default {
if (what === 'type') {
if (typeof value === 'undefined') { this.type = 'normal' }
if (value === 'recurrent') {
- this.$emit('input', { ...this.value, recurrent: {}, multidate: false })
+ this.$emit('input', { ...this.value, recurrent: { frequency: '1w' }, multidate: false })
} else if (value === 'multidate') {
this.$emit('input', { ...this.value, recurrent: null, multidate: true })
} else {