From 8bfb9ddf1a167c461212c0a731e6cfbbd9a7bc04 Mon Sep 17 00:00:00 2001 From: Thomas Citharel <tcit@tcit.fr> Date: Thu, 3 Oct 2019 12:32:20 +0200 Subject: [PATCH] Hide groups and multiple fixes Closes #169 Signed-off-by: Thomas Citharel <tcit@tcit.fr> --- js/src/components/Event/EventListCard.vue | 9 ++-- js/src/components/NavBar.vue | 46 +++++--------------- js/src/components/Report/ReportCard.vue | 3 -- js/src/graphql/admin.ts | 1 + js/src/router/actor.ts | 52 +++++++++++------------ js/src/views/Account/MyAccount.vue | 10 ++--- js/src/views/Admin/Dashboard.vue | 22 +++++----- js/src/views/Event/Event.vue | 3 +- js/src/views/Home.vue | 6 +-- js/src/views/Moderation/Logs.vue | 18 ++++---- js/src/views/Moderation/Report.vue | 26 +++++------- js/src/views/Moderation/ReportList.vue | 14 +++--- js/src/views/Search.vue | 36 ++++++++-------- js/src/views/User/Login.vue | 6 ++- js/src/views/User/PasswordChange.vue | 10 ++--- js/src/views/User/Register.vue | 9 ++-- js/src/views/User/Validate.vue | 3 +- 17 files changed, 117 insertions(+), 157 deletions(-) diff --git a/js/src/components/Event/EventListCard.vue b/js/src/components/Event/EventListCard.vue index ee29a9584..4abac1302 100644 --- a/js/src/components/Event/EventListCard.vue +++ b/js/src/components/Event/EventListCard.vue @@ -44,7 +44,7 @@ <div class="actions column is-narrow"> <ul> <li v-if="!([ParticipantRole.PARTICIPANT, ParticipantRole.NOT_APPROVED].includes(participation.role))"> - <router-link :to="{ name: EventRouteName.EDIT_EVENT, params: { eventId: participation.event.uuid } }"> + <router-link :to="{ name: RouteName.EDIT_EVENT, params: { eventId: participation.event.uuid } }"> <b-icon icon="pencil" /> {{ $t('Edit') }} </router-link> </li> @@ -52,12 +52,12 @@ <a @click="openDeleteEventModalWrapper"><b-icon icon="delete" /> {{ $t('Delete') }}</a> </li> <li v-if="!([ParticipantRole.PARTICIPANT, ParticipantRole.NOT_APPROVED].includes(participation.role))"> - <router-link :to="{ name: EventRouteName.PARTICIPATIONS, params: { eventId: participation.event.uuid } }"> + <router-link :to="{ name: RouteName.PARTICIPATIONS, params: { eventId: participation.event.uuid } }"> <b-icon icon="account-multiple-plus" /> {{ $t('Manage participations') }} </router-link> </li> <li> - <router-link :to="{ name: EventRouteName.EVENT, params: { uuid: participation.event.uuid } }"><b-icon icon="view-compact" /> {{ $t('View event page') }}</router-link> + <router-link :to="{ name: RouteName.EVENT, params: { uuid: participation.event.uuid } }"><b-icon icon="view-compact" /> {{ $t('View event page') }}</router-link> </li> </ul> </div> @@ -70,7 +70,6 @@ import { IParticipant, ParticipantRole, EventVisibility } from '@/types/event.mo import { Component, Prop } from 'vue-property-decorator'; import DateCalendarIcon from '@/components/Event/DateCalendarIcon.vue'; import { IActor, IPerson, Person } from '@/types/actor'; -import { EventRouteName } from '@/router/event'; import { mixins } from 'vue-class-component'; import ActorMixin from '@/mixins/actor'; import { CURRENT_ACTOR_CLIENT, LOGGED_USER_PARTICIPATIONS } from '@/graphql/actor'; @@ -100,8 +99,8 @@ export default class EventListCard extends mixins(ActorMixin, EventMixin) { currentActor!: IPerson; ParticipantRole = ParticipantRole; - EventRouteName = EventRouteName; EventVisibility = EventVisibility; + RouteName = RouteName; defaultOptions: IEventCardOptions = { hideDate: true, diff --git a/js/src/components/NavBar.vue b/js/src/components/NavBar.vue index fb1a14791..27425aa2d 100644 --- a/js/src/components/NavBar.vue +++ b/js/src/components/NavBar.vue @@ -4,8 +4,8 @@ <b-navbar-item tag="router-link" :to="{ name: RouteName.HOME }"><logo /></b-navbar-item> </template> <template slot="start"> - <b-navbar-item tag="router-link" :to="{ name: EventRouteName.EXPLORE }">{{ $t('Explore') }}</b-navbar-item> - <b-navbar-item tag="router-link" :to="{ name: EventRouteName.MY_EVENTS }">{{ $t('Events') }}</b-navbar-item> + <b-navbar-item tag="router-link" :to="{ name: RouteName.EXPLORE }">{{ $t('Explore') }}</b-navbar-item> + <b-navbar-item tag="router-link" :to="{ name: RouteName.MY_EVENTS }">{{ $t('Events') }}</b-navbar-item> <b-navbar-item tag="span"> <b-button tag="router-link" :to="{ name: RouteName.CREATE_EVENT }" type="is-success">{{ $t('Create') }}</b-button> </b-navbar-item> @@ -40,16 +40,16 @@ </b-navbar-item> - <b-navbar-item> - <router-link :to="{ name: 'UpdateIdentity' }">{{ $t('My account') }}</router-link> + <b-navbar-item tag="router-link" :to="{ name: RouteName.UPDATE_IDENTITY }"> + {{ $t('My account') }} </b-navbar-item> - <b-navbar-item> - <router-link :to="{ name: ActorRouteName.CREATE_GROUP }">{{ $t('Create group') }}</router-link> - </b-navbar-item> +<!-- <b-navbar-item tag="router-link" :to="{ name: RouteName.CREATE_GROUP }">--> +<!-- {{ $t('Create group') }}--> +<!-- </b-navbar-item>--> - <b-navbar-item v-if="currentUser.role === ICurrentUserRole.ADMINISTRATOR"> - <router-link :to="{ name: AdminRouteName.DASHBOARD }">{{ $t('Administration') }}</router-link> + <b-navbar-item v-if="currentUser.role === ICurrentUserRole.ADMINISTRATOR" tag="router-link" :to="{ name: RouteName.DASHBOARD }"> + {{ $t('Administration') }} </b-navbar-item> <b-navbar-item tag="span"> @@ -74,17 +74,14 @@ import { Component, Vue, Watch } from 'vue-property-decorator'; import { CURRENT_USER_CLIENT } from '@/graphql/user'; import { changeIdentity, logout } from '@/utils/auth'; -import { CURRENT_ACTOR_CLIENT, IDENTITIES, UPDATE_CURRENT_ACTOR_CLIENT } from '@/graphql/actor'; +import { CURRENT_ACTOR_CLIENT, IDENTITIES } from '@/graphql/actor'; import { IPerson, Person } from '@/types/actor'; import { CONFIG } from '@/graphql/config'; import { IConfig } from '@/types/config.model'; import { ICurrentUser, ICurrentUserRole } from '@/types/current-user.model'; import Logo from '@/components/Logo.vue'; import SearchField from '@/components/SearchField.vue'; -import { ActorRouteName } from '@/router/actor'; -import { AdminRouteName } from '@/router/admin'; import { RouteName } from '@/router'; -import { EventRouteName } from '@/router/event'; @Component({ apollo: { @@ -108,10 +105,6 @@ import { EventRouteName } from '@/router/event'; }, }) export default class NavBar extends Vue { - notifications = [ - { header: 'Coucou' }, - { title: 'T\'as une notification', subtitle: 'Et elle est cool' }, - ]; currentActor!: IPerson; config!: IConfig; currentUser!: ICurrentUser; @@ -119,10 +112,6 @@ export default class NavBar extends Vue { identities: IPerson[] = []; RouteName = RouteName; - ActorRouteName = ActorRouteName; - AdminRouteName = AdminRouteName; - EventRouteName = EventRouteName; - @Watch('currentActor') async initializeListOfIdentities() { const { data } = await this.$apollo.query<{ identities: IPerson[] }>({ @@ -133,21 +122,6 @@ export default class NavBar extends Vue { } } - // @Watch('currentUser') - // async onCurrentUserChanged() { - // // Refresh logged person object - // if (this.currentUser.isLoggedIn) { - // const result = await this.$apollo.query({ - // query: CURRENT_ACTOR_CLIENT, - // }); - // console.log(result); - // - // this.loggedPerson = result.data.currentActor; - // } else { - // this.loggedPerson = null; - // } - // } - async logout() { await logout(this.$apollo.provider.defaultClient); this.$buefy.notification.open({ diff --git a/js/src/components/Report/ReportCard.vue b/js/src/components/Report/ReportCard.vue index e0bc9d46d..0a10af3e0 100644 --- a/js/src/components/Report/ReportCard.vue +++ b/js/src/components/Report/ReportCard.vue @@ -27,13 +27,10 @@ <script lang="ts"> import { Component, Prop, Vue } from 'vue-property-decorator'; import { IReport } from '@/types/report.model'; -import { EventRouteName } from '@/router/event'; @Component export default class ReportCard extends Vue { @Prop({ required: true }) report!: IReport; - - EventRouteName = EventRouteName; } </script> <style lang="scss"> diff --git a/js/src/graphql/admin.ts b/js/src/graphql/admin.ts index d646bb565..ab7de6f41 100644 --- a/js/src/graphql/admin.ts +++ b/js/src/graphql/admin.ts @@ -4,6 +4,7 @@ export const DASHBOARD = gql` query { dashboard { lastPublicEventPublished { + uuid, title, picture { alt diff --git a/js/src/router/actor.ts b/js/src/router/actor.ts index 42f3a4771..51a0d25fa 100644 --- a/js/src/router/actor.ts +++ b/js/src/router/actor.ts @@ -19,32 +19,32 @@ export enum MyAccountRouteName { } export const actorRoutes: RouteConfig[] = [ - { - path: '/groups', - name: ActorRouteName.GROUP_LIST, - component: GroupList, - meta: { requiredAuth: false }, - }, - { - path: '/groups/create', - name: ActorRouteName.CREATE_GROUP, - component: CreateGroup, - meta: { requiredAuth: true }, - }, - { - path: '/~:preferredUsername', - name: ActorRouteName.GROUP, - component: Group, - props: true, - meta: { requiredAuth: false }, - }, - { - path: '/@:name', - name: ActorRouteName.PROFILE, - component: Profile, - props: true, - meta: { requiredAuth: false }, - }, + // { + // path: '/groups', + // name: ActorRouteName.GROUP_LIST, + // component: GroupList, + // meta: { requiredAuth: false }, + // }, + // { + // path: '/groups/create', + // name: ActorRouteName.CREATE_GROUP, + // component: CreateGroup, + // meta: { requiredAuth: true }, + // }, + // { + // path: '/~:preferredUsername', + // name: ActorRouteName.GROUP, + // component: Group, + // props: true, + // meta: { requiredAuth: false }, + // }, + // { + // path: '/@:name', + // name: ActorRouteName.PROFILE, + // component: Profile, + // props: true, + // meta: { requiredAuth: false }, + // }, { path: '/my-account/identity', component: MyAccount, diff --git a/js/src/views/Account/MyAccount.vue b/js/src/views/Account/MyAccount.vue index c1f6fde27..922c97283 100644 --- a/js/src/views/Account/MyAccount.vue +++ b/js/src/views/Account/MyAccount.vue @@ -2,7 +2,7 @@ <section class="container"> <nav class="breadcrumb" aria-label="breadcrumbs"> <ul> - <li class="is-active"><router-link :to="{ name: MyAccountRouteName.UPDATE_IDENTITY }" aria-current="page">{{ $t('My account') }}</router-link></li> + <li class="is-active"><router-link :to="{ name: RouteName.UPDATE_IDENTITY }" aria-current="page">{{ $t('My account') }}</router-link></li> </ul> </nav> <div v-if="currentActor"> @@ -16,7 +16,7 @@ <div class="identities column is-4"> <identities v-bind:currentIdentityName="currentIdentityName"></identities> <div class="buttons"> - <b-button tag="router-link" type="is-secondary" :to="{ name: UserRouteName.PASSWORD_CHANGE }">{{ $t('Change password') }}</b-button> + <b-button tag="router-link" type="is-secondary" :to="{ name: RouteName.PASSWORD_CHANGE }">{{ $t('Change password') }}</b-button> </div> </div> <div class="column is-8"> @@ -48,8 +48,7 @@ import { Component, Vue, Watch } from 'vue-property-decorator'; import EventCard from '@/components/Event/EventCard.vue'; import { IPerson } from '@/types/actor'; import Identities from '@/components/Account/Identities.vue'; -import { UserRouteName } from '@/router/user'; -import { MyAccountRouteName } from '@/router/actor'; +import { RouteName } from '@/router'; @Component({ components: { @@ -66,8 +65,7 @@ export default class MyAccount extends Vue { currentActor!: IPerson; currentIdentityName: string | null = null; - UserRouteName = UserRouteName; - MyAccountRouteName = MyAccountRouteName; + RouteName = RouteName; @Watch('$route.params.identityName', { immediate: true }) async onIdentityParamChanged (val: string) { diff --git a/js/src/views/Admin/Dashboard.vue b/js/src/views/Admin/Dashboard.vue index 38e512880..118542bb3 100644 --- a/js/src/views/Admin/Dashboard.vue +++ b/js/src/views/Admin/Dashboard.vue @@ -19,7 +19,7 @@ <p class="title">{{ dashboard.numberOfUsers }}</p> <p class="subtitle">{{ $t('Users')}}</p> </article> - <router-link :to="{ name: ModerationRouteName.REPORTS}"> + <router-link :to="{ name: RouteName.REPORTS}"> <article class="tile is-child box"> <p class="title">{{ dashboard.numberOfReports }}</p> <p class="subtitle">{{ $t('Opened reports')}}</p> @@ -28,13 +28,15 @@ </div> </div> <div class="tile is-parent" v-if="dashboard.lastPublicEventPublished"> - <article class="tile is-child box"> - <p class="title">{{ $t('Last published event') }}</p> - <p class="subtitle">{{ dashboard.lastPublicEventPublished.title }}</p> - <figure class="image is-4by3" v-if="dashboard.lastPublicEventPublished.picture"> - <img :src="dashboard.lastPublicEventPublished.picture.url" /> - </figure> - </article> + <router-link :to="{ name: RouteName.EVENT, params: { uuid: dashboard.lastPublicEventPublished.uuid } }"> + <article class="tile is-child box"> + <p class="title">{{ $t('Last published event') }}</p> + <p class="subtitle">{{ dashboard.lastPublicEventPublished.title }}</p> + <figure class="image is-4by3" v-if="dashboard.lastPublicEventPublished.picture"> + <img :src="dashboard.lastPublicEventPublished.picture.url" /> + </figure> + </article> + </router-link> </div> </div> <div class="tile is-parent"> @@ -57,7 +59,7 @@ import { Component, Vue } from 'vue-property-decorator'; import { DASHBOARD } from '@/graphql/admin'; import { IDashboard } from '@/types/admin.model'; -import { ModerationRouteName } from '@/router/moderation'; +import { RouteName } from '@/router'; @Component({ apollo: { @@ -68,6 +70,6 @@ import { ModerationRouteName } from '@/router/moderation'; }) export default class Dashboard extends Vue { dashboard!: IDashboard; - ModerationRouteName = ModerationRouteName; + RouteName = RouteName; } </script> \ No newline at end of file diff --git a/js/src/views/Event/Event.vue b/js/src/views/Event/Event.vue index 6e2289726..6c952d0f1 100644 --- a/js/src/views/Event/Event.vue +++ b/js/src/views/Event/Event.vue @@ -74,7 +74,7 @@ <p class="control" v-if="actorIsOrganizer || event.draft"> <router-link class="button" - :to="{ name: 'EditEvent', params: {eventId: event.uuid}}" + :to="{ name: RouteName.EDIT_EVENT, params: {eventId: event.uuid}}" > {{ $t('Edit') }} </router-link> @@ -277,6 +277,7 @@ export default class Event extends EventMixin { isReportModalActive: boolean = false; isJoinModalActive: boolean = false; EventVisibility = EventVisibility; + RouteName = RouteName; mounted() { this.identity = this.currentActor; diff --git a/js/src/views/Home.vue b/js/src/views/Home.vue index 99dd90494..4206ba8f5 100644 --- a/js/src/views/Home.vue +++ b/js/src/views/Home.vue @@ -5,7 +5,7 @@ <div> <h1 class="title">{{ config.name }}</h1> <h2 class="subtitle">{{ config.description }}</h2> - <router-link class="button" :to="{ name: 'Register' }" v-if="config.registrationsOpen"> + <router-link class="button" :to="{ name: RouteName.REGISTER }" v-if="config.registrationsOpen"> {{ $t('Sign up') }} </router-link> <p v-else> @@ -50,7 +50,7 @@ </div> </div> <span class="view-all"> - <router-link :to=" { name: EventRouteName.MY_EVENTS }">{{ $t('View everything')}} >></router-link> + <router-link :to=" { name: RouteName.MY_EVENTS }">{{ $t('View everything')}} >></router-link> </span> </section> <section v-if="currentActor && lastWeekEvents.length > 0"> @@ -99,7 +99,6 @@ import { EventModel, IEvent, IParticipant, Participant } from '@/types/event.mod import DateComponent from '@/components/Event/DateCalendarIcon.vue'; import { CONFIG } from '@/graphql/config'; import { IConfig } from '@/types/config.model'; -import { EventRouteName } from '@/router/event'; @Component({ apollo: { @@ -134,7 +133,6 @@ export default class Home extends Vue { currentActor!: IPerson; config: IConfig = { description: '', name: '', registrationsOpen: false }; RouteName = RouteName; - EventRouteName = EventRouteName; // get displayed_name() { // return this.loggedPerson && this.loggedPerson.name === null diff --git a/js/src/views/Moderation/Logs.vue b/js/src/views/Moderation/Logs.vue index ca8dcecb6..7003443d7 100644 --- a/js/src/views/Moderation/Logs.vue +++ b/js/src/views/Moderation/Logs.vue @@ -2,8 +2,8 @@ <section class="container"> <nav class="breadcrumb" aria-label="breadcrumbs"> <ul> - <li><router-link :to="{ name: AdminRouteName.DASHBOARD }">Dashboard</router-link></li> - <li class="is-active"><router-link :to="{ name: ModerationRouteName.LOGS }" aria-current="page">Logs</router-link></li> + <li><router-link :to="{ name: RouteName.DASHBOARD }">Dashboard</router-link></li> + <li class="is-active"><router-link :to="{ name: RouteName.LOGS }" aria-current="page">Logs</router-link></li> </ul> </nav> <ul v-if="actionLogs.length > 0"> @@ -12,17 +12,17 @@ <img class="image" :src="log.actor.avatar.url" /> <span>@{{ log.actor.preferredUsername }}</span> <span v-if="log.action === ActionLogAction.REPORT_UPDATE_CLOSED"> - closed <router-link :to="{ name: ModerationRouteName.REPORT, params: { reportId: log.object.id } }">report #{{ log.object.id }}</router-link> + closed <router-link :to="{ name: RouteName.REPORT, params: { reportId: log.object.id } }">report #{{ log.object.id }}</router-link> </span> <span v-else-if="log.action === ActionLogAction.REPORT_UPDATE_OPENED"> - reopened <router-link :to="{ name: ModerationRouteName.REPORT, params: { reportId: log.object.id } }">report #{{ log.object.id }}</router-link> + reopened <router-link :to="{ name: RouteName.REPORT, params: { reportId: log.object.id } }">report #{{ log.object.id }}</router-link> </span> <span v-else-if="log.action === ActionLogAction.REPORT_UPDATE_RESOLVED"> - marked <router-link :to="{ name: ModerationRouteName.REPORT, params: { reportId: log.object.id } }">report #{{ log.object.id }}</router-link> as resolved + marked <router-link :to="{ name: RouteName.REPORT, params: { reportId: log.object.id } }">report #{{ log.object.id }}</router-link> as resolved </span> <span v-else-if="log.action === ActionLogAction.NOTE_CREATION"> added a note on - <router-link v-if="log.object.report" :to="{ name: ModerationRouteName.REPORT, params: { reportId: log.object.report.id } }">report #{{ log.object.report.id }}</router-link> + <router-link v-if="log.object.report" :to="{ name: RouteName.REPORT, params: { reportId: log.object.report.id } }">report #{{ log.object.report.id }}</router-link> <span v-else>a non-existent report</span> </span> <span v-else-if="log.action === ActionLogAction.EVENT_DELETION"> @@ -44,8 +44,7 @@ import { Component, Vue } from 'vue-property-decorator'; import { IActionLog, ActionLogAction } from '@/types/report.model'; import { LOGS } from '@/graphql/report'; import ReportCard from '@/components/Report/ReportCard.vue'; -import { AdminRouteName } from '@/router/admin'; -import { ModerationRouteName } from '@/router/moderation'; +import { RouteName } from '@/router'; @Component({ components: { @@ -62,8 +61,7 @@ export default class ReportList extends Vue { actionLogs?: IActionLog[] = []; ActionLogAction = ActionLogAction; - AdminRouteName = AdminRouteName; - ModerationRouteName = ModerationRouteName; + RouteName = RouteName; } </script> <style lang="scss"> diff --git a/js/src/views/Moderation/Report.vue b/js/src/views/Moderation/Report.vue index ef2869ffd..0b10c3376 100644 --- a/js/src/views/Moderation/Report.vue +++ b/js/src/views/Moderation/Report.vue @@ -4,9 +4,9 @@ <div class="container" v-if="report"> <nav class="breadcrumb" aria-label="breadcrumbs"> <ul> - <li><router-link :to="{ name: AdminRouteName.DASHBOARD }">Dashboard</router-link></li> - <li><router-link :to="{ name: ModerationRouteName.REPORTS }">Reports</router-link></li> - <li class="is-active"><router-link :to="{ name: ModerationRouteName.REPORT, params: { reportId: this.report.id} }" aria-current="page">Report</router-link></li> + <li><router-link :to="{ name: RouteName.DASHBOARD }">Dashboard</router-link></li> + <li><router-link :to="{ name: RouteName.REPORTS }">Reports</router-link></li> + <li class="is-active"><router-link :to="{ name: RouteName.REPORT, params: { reportId: this.report.id} }" aria-current="page">Report</router-link></li> </ul> </nav> <div class="buttons"> @@ -22,7 +22,7 @@ <tr> <td>Compte signalé</td> <td> - <router-link :to="{ name: ActorRouteName.PROFILE, params: { name: report.reported.preferredUsername } }"> + <router-link :to="{ name: RouteName.PROFILE, params: { name: report.reported.preferredUsername } }"> <img v-if="report.reported.avatar" class="image" :src="report.reported.avatar.url" /> @{{ report.reported.preferredUsername }} </router-link> </td> @@ -30,7 +30,7 @@ <tr> <td>Signalé par</td> <td> - <router-link :to="{ name: ActorRouteName.PROFILE, params: { name: report.reporter.preferredUsername } }"> + <router-link :to="{ name: RouteName.PROFILE, params: { name: report.reporter.preferredUsername } }"> <img v-if="report.reporter.avatar" class="image" :src="report.reporter.avatar.url" /> @{{ report.reporter.preferredUsername }} </router-link> </td> @@ -66,14 +66,14 @@ </div> <div class="box" v-if="report.event"> - <router-link :to="{ name: EventRouteName.EVENT, params: { uuid: report.event.uuid }}"> + <router-link :to="{ name: RouteName.EVENT, params: { uuid: report.event.uuid }}"> <h3 class="title">{{ report.event.title }}</h3> <p v-html="report.event.description"></p> </router-link> <b-button tag="router-link" type="is-primary" - :to="{ name: EventRouteName.EDIT_EVENT, params: {eventId: report.event.uuid } }" + :to="{ name: RouteName.EDIT_EVENT, params: {eventId: report.event.uuid } }" icon-left="pencil" size="is-small">Edit</b-button> <b-button @@ -86,7 +86,7 @@ <h2 class="title" v-if="report.notes.length > 0">Notes</h2> <div class="box note" v-for="note in report.notes" :id="`note-${note.id}`"> <p>{{ note.content }}</p> - <router-link :to="{ name: ActorRouteName.PROFILE, params: { name: note.moderator.preferredUsername } }"> + <router-link :to="{ name: RouteName.PROFILE, params: { name: note.moderator.preferredUsername } }"> <img class="image" :src="note.moderator.avatar.url" /> @{{ note.moderator.preferredUsername }} </router-link><br /> <small><a :href="`#note-${note.id}`" v-if="note.insertedAt">{{ note.insertedAt | formatDateTimeString }}</a></small> @@ -105,10 +105,7 @@ import { Component, Prop, Vue } from 'vue-property-decorator'; import { CREATE_REPORT_NOTE, REPORT, REPORTS, UPDATE_REPORT } from '@/graphql/report'; import { IReport, IReportNote, ReportStatusEnum } from '@/types/report.model'; -import { EventRouteName } from '@/router/event'; -import { ActorRouteName } from '@/router/actor'; -import { AdminRouteName } from '@/router/admin'; -import { ModerationRouteName } from '@/router/moderation'; +import { RouteName } from '@/router'; import { CURRENT_ACTOR_CLIENT } from '@/graphql/actor'; import { IPerson } from '@/types/actor'; import { DELETE_EVENT } from '@/graphql/event'; @@ -139,10 +136,7 @@ export default class Report extends Vue { errors: string[] = []; ReportStatusEnum = ReportStatusEnum; - EventRouteName = EventRouteName; - ActorRouteName = ActorRouteName; - AdminRouteName = AdminRouteName; - ModerationRouteName = ModerationRouteName; + RouteName = RouteName; noteContent: string = ''; diff --git a/js/src/views/Moderation/ReportList.vue b/js/src/views/Moderation/ReportList.vue index 9b91d920d..82fbcab10 100644 --- a/js/src/views/Moderation/ReportList.vue +++ b/js/src/views/Moderation/ReportList.vue @@ -2,8 +2,8 @@ <section class="container"> <nav class="breadcrumb" aria-label="breadcrumbs"> <ul> - <li><router-link :to="{ name: AdminRouteName.DASHBOARD }">Dashboard</router-link></li> - <li class="is-active"><router-link :to="{ name: ModerationRouteName.REPORTS }" aria-current="page">Reports</router-link></li> + <li><router-link :to="{ name: RouteName.DASHBOARD }">Dashboard</router-link></li> + <li class="is-active"><router-link :to="{ name: RouteName.REPORTS }" aria-current="page">Reports</router-link></li> </ul> </nav> <b-field> @@ -22,7 +22,7 @@ </b-field> <ul v-if="reports.length > 0"> <li v-for="report in reports"> - <router-link :to="{ name: ModerationRouteName.REPORT, params: { reportId: report.id } }"> + <router-link :to="{ name: RouteName.REPORT, params: { reportId: report.id } }"> <report-card :report="report" /> </router-link> </li> @@ -39,8 +39,7 @@ import { Component, Prop, Vue, Watch } from 'vue-property-decorator'; import { IReport, ReportStatusEnum } from '@/types/report.model'; import { REPORTS } from '@/graphql/report'; import ReportCard from '@/components/Report/ReportCard.vue'; -import { AdminRouteName } from '@/router/admin'; -import { ModerationRouteName } from '@/router/moderation'; +import { RouteName } from '@/router'; @Component({ components: { @@ -62,8 +61,7 @@ import { ModerationRouteName } from '@/router/moderation'; export default class ReportList extends Vue { reports?: IReport[] = []; - AdminRouteName = AdminRouteName; - ModerationRouteName = ModerationRouteName; + RouteName = RouteName; ReportStatusEnum = ReportStatusEnum; filterReports: ReportStatusEnum = ReportStatusEnum.OPEN; @@ -78,7 +76,7 @@ export default class ReportList extends Vue { @Watch('filterReports', { immediate: true }) async onFilterChanged (val: string) { - await this.$router.push({ name: ModerationRouteName.REPORTS, params: { filter: val.toLowerCase() } }); + await this.$router.push({ name: RouteName.REPORTS, params: { filter: val.toLowerCase() } }); } } </script> diff --git a/js/src/views/Search.vue b/js/src/views/Search.vue index 2c09562f6..98a2bdc44 100644 --- a/js/src/views/Search.vue +++ b/js/src/views/Search.vue @@ -25,24 +25,24 @@ {{ $t('No events found') }} </b-message> </b-tab-item> - <b-tab-item> - <template slot="header"> - <b-icon icon="account-multiple"></b-icon> - <span> - {{ $t('Groups') }} <b-tag rounded>{{ searchGroups.total }}</b-tag> - </span> - </template> - <div v-if="searchGroups.total > 0" class="columns is-multiline"> - <div class="column is-one-quarter-desktop is-half-mobile" - v-for="group in groups" - :key="group.uuid"> - <group-card :group="group" /> - </div> - </div> - <b-message v-else-if="$apollo.loading === false" type="is-danger"> - {{ $t('No groups found') }} - </b-message> - </b-tab-item> +<!-- <b-tab-item>--> +<!-- <template slot="header">--> +<!-- <b-icon icon="account-multiple"></b-icon>--> +<!-- <span>--> +<!-- {{ $t('Groups') }} <b-tag rounded>{{ searchGroups.total }}</b-tag>--> +<!-- </span>--> +<!-- </template>--> +<!-- <div v-if="searchGroups.total > 0" class="columns is-multiline">--> +<!-- <div class="column is-one-quarter-desktop is-half-mobile"--> +<!-- v-for="group in groups"--> +<!-- :key="group.uuid">--> +<!-- <group-card :group="group" />--> +<!-- </div>--> +<!-- </div>--> +<!-- <b-message v-else-if="$apollo.loading === false" type="is-danger">--> +<!-- {{ $t('No groups found') }}--> +<!-- </b-message>--> +<!-- </b-tab-item>--> </b-tabs> </section> </template> diff --git a/js/src/views/User/Login.vue b/js/src/views/User/Login.vue index 3b1cbadee..12f2af73a 100644 --- a/js/src/views/User/Login.vue +++ b/js/src/views/User/Login.vue @@ -37,7 +37,7 @@ <div class="control"> <router-link class="button is-text" - :to="{ name: 'SendPasswordReset', params: { email: credentials.email }}" + :to="{ name: RouteName.SEND_PASSWORD_RESET, params: { email: credentials.email }}" > {{ $t('Forgot your password ?') }} </router-link> @@ -45,7 +45,7 @@ <div class="control" v-if="config && config.registrationsOpen"> <router-link class="button is-text" - :to="{ name: 'Register', params: { default_email: credentials.email, default_password: credentials.password }}" + :to="{ name: RouteName.REGISTER, params: { default_email: credentials.email, default_password: credentials.password }}" > {{ $t('Register') }} </router-link> @@ -95,6 +95,8 @@ export default class Login extends Vue { config!: IConfig; currentUser!: ICurrentUser; + RouteName = RouteName; + credentials = { email: '', password: '', diff --git a/js/src/views/User/PasswordChange.vue b/js/src/views/User/PasswordChange.vue index 3a426cedb..b629aca54 100644 --- a/js/src/views/User/PasswordChange.vue +++ b/js/src/views/User/PasswordChange.vue @@ -2,8 +2,8 @@ <section class="container"> <nav class="breadcrumb" aria-label="breadcrumbs"> <ul> - <li><router-link :to="{ name: MyAccountRouteName.UPDATE_IDENTITY }">{{ $t('My account') }}</router-link></li> - <li class="is-active"><router-link :to="{ name: UserRouteName.PASSWORD_CHANGE }" aria-current="page">{{ $t('Password change') }}</router-link></li> + <li><router-link :to="{ name: RouteName.UPDATE_IDENTITY }">{{ $t('My account') }}</router-link></li> + <li class="is-active"><router-link :to="{ name: RouteName.PASSWORD_CHANGE }" aria-current="page">{{ $t('Password change') }}</router-link></li> </ul> </nav> <h1 class="title">{{ $t('Password') }}</h1> @@ -48,8 +48,7 @@ <script lang="ts"> import { Component, Vue } from 'vue-property-decorator'; import { CHANGE_PASSWORD } from '@/graphql/user'; -import { UserRouteName } from '@/router/user'; -import { MyAccountRouteName } from '@/router/actor'; +import { RouteName } from '@/router'; @Component export default class PasswordChange extends Vue { @@ -57,8 +56,7 @@ export default class PasswordChange extends Vue { newPassword: string = ''; errors: string[] = []; - MyAccountRouteName = MyAccountRouteName; - UserRouteName = UserRouteName; + RouteName = RouteName; async resetAction(e) { e.preventDefault(); diff --git a/js/src/views/User/Register.vue b/js/src/views/User/Register.vue index 852e4d02f..6ac17714b 100644 --- a/js/src/views/User/Register.vue +++ b/js/src/views/User/Register.vue @@ -77,7 +77,7 @@ <div class="control"> <router-link class="button is-text" - :to="{ name: 'ResendConfirmation', params: { email: credentials.email }}" + :to="{ name: RouteName.RESEND_CONFIRMATION, params: { email: credentials.email }}" > {{ $t("Didn't receive the instructions ?") }} </router-link> @@ -85,7 +85,7 @@ <div class="control"> <router-link class="button is-text" - :to="{ name: 'Login', params: { email: credentials.email, password: credentials.password }}" + :to="{ name: RouteName.LOGIN, params: { email: credentials.email, password: credentials.password }}" :disabled="sendingValidation" > {{ $t('Login') }} @@ -107,7 +107,7 @@ <script lang="ts"> import { CREATE_USER } from '@/graphql/user'; import { Component, Prop, Vue } from 'vue-property-decorator'; -import { UserRouteName } from '@/router/user'; +import { RouteName } from '@/router'; @Component export default class Register extends Vue { @@ -121,6 +121,7 @@ export default class Register extends Vue { errors: object = {}; sendingValidation: boolean = false; validationSent: boolean = false; + RouteName = RouteName; async submit() { try { @@ -135,7 +136,7 @@ export default class Register extends Vue { this.validationSent = true; this.$router.push({ - name: UserRouteName.REGISTER_PROFILE, + name: RouteName.REGISTER_PROFILE, params: { email: this.credentials.email }, }); } catch (error) { diff --git a/js/src/views/User/Validate.vue b/js/src/views/User/Validate.vue index 0ba2e0b78..c91d76f76 100644 --- a/js/src/views/User/Validate.vue +++ b/js/src/views/User/Validate.vue @@ -21,7 +21,6 @@ import { VALIDATE_USER } from '@/graphql/user'; import { Component, Prop, Vue } from 'vue-property-decorator'; import { AUTH_USER_ID } from '@/constants'; import { RouteName } from '@/router'; -import { UserRouteName } from '@/router/user'; import { saveTokenData } from '@/utils/auth'; @Component @@ -51,7 +50,7 @@ export default class Validate extends Vue { if (user.defaultActor) { this.$router.push({ name: RouteName.HOME }); } else { // If the user didn't register any profile yet, let's create one for them - this.$router.push({ name: UserRouteName.REGISTER_PROFILE, params: { email: user.email, userAlreadyActivated: 'true' } }); + this.$router.push({ name: RouteName.REGISTER_PROFILE, params: { email: user.email, userAlreadyActivated: 'true' } }); } } catch (err) { console.error(err);