Introduce group basic federation, event new page and notifications

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2020-02-18 08:57:00 +01:00
parent 300ef8f245
commit 4144e9ffd0
416 changed files with 32220 additions and 16750 deletions

View File

@@ -1,114 +1,109 @@
import EventList from '@/views/Event/EventList.vue';
import Location from '@/views/Location.vue';
import { RouteConfig } from 'vue-router';
import ParticipationWithAccount from '@/components/Participation/ParticipationWithAccount.vue';
import UnloggedParticipation from '@/components/Participation/UnloggedParticipation.vue';
import ParticipationWithoutAccount from '@/components/Participation/ParticipationWithoutAccount.vue';
import ConfirmParticipation from '@/components/Participation/ConfirmParticipation.vue';
import { RouteConfig } from "vue-router";
import EventList from "../views/Event/EventList.vue";
import Location from "../views/Location.vue";
// tslint:disable:space-in-parens
const participations = () => import(/* webpackChunkName: "participations" */ '@/views/Event/Participants.vue');
const editEvent = () => import(/* webpackChunkName: "edit-event" */ '@/views/Event/Edit.vue');
const event = () => import(/* webpackChunkName: "event" */ '@/views/Event/Event.vue');
const myEvents = () => import(/* webpackChunkName: "my-events" */ '@/views/Event/MyEvents.vue');
const explore = () => import(/* webpackChunkName: "explore" */ '@/views/Event/Explore.vue');
// tslint:enable
const participations = () =>
import(/* webpackChunkName: "participations" */ "@/views/Event/Participants.vue");
const editEvent = () => import(/* webpackChunkName: "edit-event" */ "@/views/Event/Edit.vue");
const event = () => import(/* webpackChunkName: "event" */ "@/views/Event/Event.vue");
const myEvents = () => import(/* webpackChunkName: "my-events" */ "@/views/Event/MyEvents.vue");
const explore = () => import(/* webpackChunkName: "explore" */ "@/views/Event/Explore.vue");
export enum EventRouteName {
EVENT_LIST = 'EventList',
CREATE_EVENT = 'CreateEvent',
MY_EVENTS = 'MyEvents',
EXPLORE = 'Explore',
EDIT_EVENT = 'EditEvent',
PARTICIPATIONS = 'Participations',
EVENT = 'Event',
EVENT_PARTICIPATE_WITH_ACCOUNT = 'EVENT_PARTICIPATE_WITH_ACCOUNT',
EVENT_PARTICIPATE_WITHOUT_ACCOUNT = 'EVENT_PARTICIPATE_WITHOUT_ACCOUNT',
EVENT_PARTICIPATE_LOGGED_OUT = 'EVENT_PARTICIPATE_LOGGED_OUT',
EVENT_PARTICIPATE_CONFIRM = 'EVENT_PARTICIPATE_CONFIRM',
LOCATION = 'Location',
TAG = 'Tag',
EVENT_LIST = "EventList",
CREATE_EVENT = "CreateEvent",
MY_EVENTS = "MyEvents",
EXPLORE = "Explore",
EDIT_EVENT = "EditEvent",
PARTICIPATIONS = "Participations",
EVENT = "Event",
EVENT_PARTICIPATE_WITH_ACCOUNT = "EVENT_PARTICIPATE_WITH_ACCOUNT",
EVENT_PARTICIPATE_WITHOUT_ACCOUNT = "EVENT_PARTICIPATE_WITHOUT_ACCOUNT",
EVENT_PARTICIPATE_LOGGED_OUT = "EVENT_PARTICIPATE_LOGGED_OUT",
EVENT_PARTICIPATE_CONFIRM = "EVENT_PARTICIPATE_CONFIRM",
LOCATION = "Location",
TAG = "Tag",
}
export const eventRoutes: RouteConfig[] = [
{
path: '/events/list/:location?',
path: "/events/list/:location?",
name: EventRouteName.EVENT_LIST,
component: EventList,
meta: { requiredAuth: false },
},
{
path: '/events/create',
path: "/events/create",
name: EventRouteName.CREATE_EVENT,
component: editEvent,
meta: { requiredAuth: true },
},
{
path: '/events/explore',
path: "/events/explore",
name: EventRouteName.EXPLORE,
component: explore,
meta: { requiredAuth: false },
},
{
path: '/events/me',
path: "/events/me",
name: EventRouteName.MY_EVENTS,
component: myEvents,
meta: { requiredAuth: true },
},
{
path: '/events/edit/:eventId',
path: "/events/edit/:eventId",
name: EventRouteName.EDIT_EVENT,
component: editEvent,
meta: { requiredAuth: true },
props: { isUpdate: true },
props: true,
},
{
path: '/events/:eventId/participations',
path: "/events/:eventId/participations",
name: EventRouteName.PARTICIPATIONS,
component: participations,
meta: { requiredAuth: true },
props: true,
},
{
path: '/location/new',
path: "/location/new",
name: EventRouteName.LOCATION,
component: Location,
meta: { requiredAuth: true },
},
{
path: '/events/:uuid',
path: "/events/:uuid",
name: EventRouteName.EVENT,
component: event,
props: true,
meta: { requiredAuth: false },
},
{
path: '/events/:uuid/participate',
path: "/events/:uuid/participate",
name: EventRouteName.EVENT_PARTICIPATE_LOGGED_OUT,
component: UnloggedParticipation,
component: () => import("../components/Participation/UnloggedParticipation.vue"),
props: true,
},
{
path: '/events/:uuid/participate/with-account',
path: "/events/:uuid/participate/with-account",
name: EventRouteName.EVENT_PARTICIPATE_WITH_ACCOUNT,
component: ParticipationWithAccount,
component: () => import("../components/Participation/ParticipationWithAccount.vue"),
props: true,
},
{
path: '/events/:uuid/participate/without-account',
path: "/events/:uuid/participate/without-account",
name: EventRouteName.EVENT_PARTICIPATE_WITHOUT_ACCOUNT,
component: ParticipationWithoutAccount,
component: () => import("../components/Participation/ParticipationWithoutAccount.vue"),
props: true,
},
{
path: '/participation/email/confirm/:token',
path: "/participation/email/confirm/:token",
name: EventRouteName.EVENT_PARTICIPATE_CONFIRM,
component: ConfirmParticipation,
component: () => import("../components/Participation/ConfirmParticipation.vue"),
props: true,
},
{
path: '/tag/:tag',
path: "/tag/:tag",
name: EventRouteName.TAG,
redirect: '/search/:tag',
redirect: "/search/:tag",
},
];