ducky/web
ducky/web/src/router.jsx
Update our profiles collection to use ampersand-rest-collection. Use ampersand-rest-collection instead of ampersand-collection, so we can take advantage of the excellent "getOrFetch" function to fall back on the server when looking for a member of the collection that isn't downloaded yet. Also, use the correct Authorization header when making profile collection requests. Finally, if the profile collection requests fail due to an expired access token, use the refresh token to acquire a new access token, then retry the request.
1 import Router from 'ampersand-router'
2 import React from 'react'
3 import MessagePage from './pages/message'
4 import OnboardingPage from './pages/onboard'
5 import RegisterPage from './pages/register'
6 import PaymentMethodPage from './pages/payment'
7 import LoginPage from './pages/login'
9 export default Router.extend({
10 routes: {
11 '': 'home',
12 'register': 'register',
13 'register/payment': 'payment',
14 'login': 'login',
15 'logout': 'logout',
16 '*404': 'fourOhFour'
17 },
19 home () {
20 React.render(<OnboardingPage/>, document.body)
21 },
23 register () {
24 React.render(<RegisterPage/>, document.body)
25 },
27 payment () {
28 React.render(<PaymentMethodPage/>, document.body)
29 },
31 login () {
32 React.render(<LoginPage/>, document.body)
33 },
35 logout () {
36 window.localStorage.clear()
37 window.location = '/'
38 },
40 fourOhFour () {
41 this.renderPage(MessagePage, {title: '404', message: 'Oops. Page not found.'})
42 }
43 })