discourse/app/assets/javascripts/discourse/lib/static-route-builder.js.es6
Régis Hanol 0947191060 UX: improved our footer handling
- new "show-footer" mixins
- converted most of the routes to ES6
- FIX: handling of "indexStream" in user pages

There will now be a footer on all the following pages
- /exception
- /about
- /latest
- /new
- /unread
- /starred
- /top
- /categories
- /c/:category
- /c/:category/l/latest
- /c/:category/l/new
- /c/:category/l/unread
- /c/:category/l/top
- /t/:topic/:id
- /groups/:name/members
- /user/activity
- /user/activity/topics
- /user/activity/posts
- /user/activity/replies
- /user/activity/likes-given
- /user/activity/likes-received
- /user/activity/bookmarks
- /user/activity/starred
- /user/badges
- /user/notifications
- /user/flagged-posts
- /user/deleted-posts
- /user/private-messages
- /user/private-messages/mine
- /user/private-messages/unread
- /user/invited
- /user/:username/preferences
- /faq (static pages)
- /badges
- /badges/:id/:badge
2014-11-19 20:37:43 +01:00

39 lines
912 B
JavaScript

import ShowFooter from "discourse/mixins/show-footer";
var configs = {
'faq': 'faq_url',
'tos': 'tos_url',
'privacy': 'privacy_policy_url'
};
export default function(page) {
return Discourse.Route.extend(ShowFooter, {
renderTemplate: function() {
this.render('static');
},
beforeModel: function(transition) {
var configKey = configs[page];
if (configKey && Discourse.SiteSettings[configKey].length > 0) {
transition.abort();
Discourse.URL.redirectTo(Discourse.SiteSettings[configKey]);
}
},
activate: function() {
this._super();
// Scroll to an element if exists
Discourse.URL.scrollToId(document.location.hash);
},
model: function() {
return Discourse.StaticPage.find(page);
},
setupController: function(controller, model) {
this.controllerFor('static').set('model', model);
}
});
}