Skip to content
Snippets Groups Projects
index.js 1.45 KiB
Newer Older
import m from 'mithril';
import { OauthRedirect } from './auth';
import GroupList from './groups/list';
import GroupItem from './groups/item';
Hermann's avatar
Hermann committed
import { UserItem, UserTable } from './users/userTool';
Hermann's avatar
Hermann committed
import { MembershipView } from './membershipTool';
import EventTable from './events/table';
Hermann's avatar
Hermann committed
import EventItem from './events/item';
Hermann's avatar
Hermann committed
import eventDraft from './events/eventDraft';
import eventWithExport from './events/eventWithExport';
import newJob from './jobs/newJob';
import jobTable from './jobs/jobTable';
import jobModal from './jobs/jobModal';
Hermann's avatar
Hermann committed
import Layout from './layout';
const root = document.body;
function layoutWith(view) {
  return {
    view() {
      return m(Layout, m(view));
    },
  };
}

m.route.prefix('');
m.route(root, '/users', {
  '/users': layoutWith(UserTable),
Hermann's avatar
Hermann committed
  '/users/:id': layoutWith(UserItem),
  '/newuser': layoutWith(UserItem),
Hermann's avatar
Hermann committed
  '/groupmemberships/:id': layoutWith(MembershipView),
Hermann's avatar
Hermann committed
  '/events': layoutWith(EventTable),
Hermann's avatar
Hermann committed
  '/events/:id': layoutWith(EventItem),
  '/newevent': layoutWith(EventItem),
Hermann's avatar
Hermann committed
  '/draftevent': layoutWith(eventDraft),
  '/eventwithexport': layoutWith(eventWithExport),
  '/groups': layoutWith(GroupList),
  '/groups/:id': layoutWith(GroupItem),
  '/newgroup': layoutWith(GroupItem),
  '/oauthcallback': OauthRedirect,
  '/joboffers': layoutWith(jobTable),
  '/newjoboffer': layoutWith(newJob),
  '/joboffers/:id': layoutWith(jobModal),
Hermann's avatar
Hermann committed
  // '/announce': layoutWith(AnnounceTool),

m.route.prefix('');