blob: 273720a399cb43add020039813c548777b6b5524 [file] [log] [blame]
Ali Ghassemi392f1322014-08-04 11:33:58 -07001var browseRoute = require('./browse');
Alex Fandriantoc33fead2014-10-15 11:43:13 -07002var store = require('../lib/store');
Ali Ghassemi392f1322014-08-04 11:33:58 -07003
Ali Ghassemi5b408882015-01-16 14:58:00 -08004var log = require('../lib/log')('routes:index');
5
Ali Ghassemidf9e1fe2014-07-31 12:26:22 -07006module.exports = function(routes) {
7 routes.addRoute('/', handleIndexRoute);
8};
9
10function handleIndexRoute(state, events) {
Ali Ghassemi57084c02015-01-08 14:13:19 -080011 // TODO(aghassemi) What's the prod address?, do we even want to point to
12 // v.io by default?
13 var index = '/ns.dev.v.io:8101';
Alex Fandrianto230b4a82014-10-17 11:30:01 -070014 store.getValue('index').then(function(storedIndex) {
15 if (storedIndex) {
16 index = storedIndex;
17 }
Ali Ghassemidf9e1fe2014-07-31 12:26:22 -070018
Alex Fandrianto230b4a82014-10-17 11:30:01 -070019 // Redirect to browse
20 events.navigation.navigate({
Ali Ghassemi5b408882015-01-16 14:58:00 -080021 path: browseRoute.createUrl(state.browse, {
22 namespace: index
23 })
Alex Fandrianto230b4a82014-10-17 11:30:01 -070024 });
25 }).catch(function(err) {
26 log.warn('Unable to access stored index', err);
27
28 // Redirect to browse
29 events.navigation.navigate({
Ali Ghassemi5b408882015-01-16 14:58:00 -080030 path: browseRoute.createUrl(state.browse, {
31 namespace: index
32 })
Alex Fandrianto230b4a82014-10-17 11:30:01 -070033 });
Ali Ghassemidf9e1fe2014-07-31 12:26:22 -070034 });
Nicolas LaCassea2340962014-08-18 17:05:32 -070035}