diff --git a/app/assets/javascripts/discourse/components/hamburger-category.js.es6 b/app/assets/javascripts/discourse/components/hamburger-category.js.es6
new file mode 100644
index 00000000000..63b08fd70ee
--- /dev/null
+++ b/app/assets/javascripts/discourse/components/hamburger-category.js.es6
@@ -0,0 +1,13 @@
+import computed from 'ember-addons/ember-computed-decorators';
+
+export default Ember.Component.extend({
+ tagName: 'li',
+ classNames: ['category-link'],
+
+ @computed('category.unreadTopics', 'category.newTopics')
+ unreadTotal(unreadTopics, newTopics) {
+ return parseInt(unreadTopics, 10) + parseInt(newTopics, 10);
+ },
+
+ showTopicCount: Ember.computed.not('currentUser')
+});
diff --git a/app/assets/javascripts/discourse/components/hamburger-menu.js.es6 b/app/assets/javascripts/discourse/components/hamburger-menu.js.es6
new file mode 100644
index 00000000000..b4b2a33ad7f
--- /dev/null
+++ b/app/assets/javascripts/discourse/components/hamburger-menu.js.es6
@@ -0,0 +1,77 @@
+import { default as computed, on } from 'ember-addons/ember-computed-decorators';
+
+export default Ember.Component.extend({
+ classNameBindings: ['visible::slideright'],
+ elementId: 'hamburger-menu',
+
+ @computed()
+ showKeyboardShortcuts() {
+ return !Discourse.Mobile.mobileView && !this.capabilities.touch;
+ },
+
+ @computed()
+ showMobileToggle() {
+ return Discourse.Mobile.mobileView || (this.siteSettings.enable_mobile_theme && this.capabilities.touch);
+ },
+
+ @computed()
+ mobileViewLinkTextKey() {
+ return Discourse.Mobile.mobileView ? "desktop_view" : "mobile_view";
+ },
+
+ @computed()
+ faqUrl() {
+ return this.siteSettings.faq_url ? this.siteSettings.faq_url : Discourse.getURL('/faq');
+ },
+
+ @on('didInsertElement')
+ _bindEvents() {
+ this.$().on('click.discourse-hamburger', 'a', () => {
+ this.set('visible', false);
+ });
+
+ $('body').on('keydown.discourse-hambuger', (e) => {
+ if (e.which === 27) {
+ this.set('visible', false);
+ }
+ });
+
+ if (this.capabilities.touch) {
+ $('body').on('swipeleft.discourse-hamburger', () => this.set('visible', true));
+ $('body').on('swiperight.discourse-hamburger', () => this.set('visible', false));
+ }
+ },
+
+ @on('willDestroyElement')
+ _removeEvents() {
+ this.$().off('click.discourse-hamburger');
+ $('body').off('keydown.discourse-hambuger');
+ $('body').off('swipeleft.discourse-hamburger');
+ $('body').off('swiperight.discourse-hamburger');
+ },
+
+ @computed()
+ categories() {
+ const hideUncategorized = !this.siteSettings.allow_uncategorized_topics;
+ const showSubcatList = this.siteSettings.show_subcategory_list;
+ const isStaff = Discourse.User.currentProp('staff');
+
+ return Discourse.Category.list().reject((c) => {
+ if (showSubcatList && c.get('parent_category_id')) { return true; }
+ if (hideUncategorized && c.get('isUncategorizedCategory') && !isStaff) { return true; }
+ return false;
+ });
+ },
+
+ actions: {
+ close() {
+ this.set('visible', false);
+ },
+ keyboardShortcuts() {
+ this.sendAction('showKeyboardAction');
+ },
+ toggleMobileView() {
+ Discourse.Mobile.toggleMobileView();
+ }
+ }
+});
diff --git a/app/assets/javascripts/discourse/controllers/application.js.es6 b/app/assets/javascripts/discourse/controllers/application.js.es6
index 2f0b4cec5f3..472bba31520 100644
--- a/app/assets/javascripts/discourse/controllers/application.js.es6
+++ b/app/assets/javascripts/discourse/controllers/application.js.es6
@@ -1,16 +1,27 @@
+import computed from 'ember-addons/ember-computed-decorators';
+
export default Ember.Controller.extend({
showTop: true,
showFooter: false,
styleCategory: null,
+ hamburgerVisible: false,
- canSignUp: function() {
+ @computed
+ canSignUp() {
return !Discourse.SiteSettings.invite_only &&
Discourse.SiteSettings.allow_new_registrations &&
!Discourse.SiteSettings.enable_sso;
- }.property(),
+ },
- loginRequired: function() {
+ @computed
+ loginRequired() {
return Discourse.SiteSettings.login_required && !Discourse.User.current();
- }.property()
+ },
+
+ actions: {
+ toggleHamburgerMenu() {
+ this.toggleProperty('hamburgerVisible');
+ }
+ }
});
diff --git a/app/assets/javascripts/discourse/controllers/site-map-category.js.es6 b/app/assets/javascripts/discourse/controllers/site-map-category.js.es6
deleted file mode 100644
index 0fcce87f972..00000000000
--- a/app/assets/javascripts/discourse/controllers/site-map-category.js.es6
+++ /dev/null
@@ -1,10 +0,0 @@
-export default Ember.Controller.extend({
- needs: ['site-map'],
-
- unreadTotal: function() {
- return parseInt(this.get('model.unreadTopics'), 10) +
- parseInt(this.get('model.newTopics'), 10);
- }.property('model.unreadTopics', 'model.newTopics'),
-
- showTopicCount: Em.computed.not('currentUser')
-});
diff --git a/app/assets/javascripts/discourse/controllers/site-map.js.es6 b/app/assets/javascripts/discourse/controllers/site-map.js.es6
deleted file mode 100644
index 61192eb575d..00000000000
--- a/app/assets/javascripts/discourse/controllers/site-map.js.es6
+++ /dev/null
@@ -1,46 +0,0 @@
-import { url } from 'discourse/lib/computed';
-
-export default Ember.ArrayController.extend({
- needs: ['application', 'header'],
-
- showBadgesLink: function(){return Discourse.SiteSettings.enable_badges;}.property(),
- showAdminLinks: Em.computed.alias('currentUser.staff'),
-
- faqUrl: function() {
- return Discourse.SiteSettings.faq_url ? Discourse.SiteSettings.faq_url : Discourse.getURL('/faq');
- }.property(),
-
- badgesUrl: url('/badges'),
-
- showKeyboardShortcuts: function(){
- return !Discourse.Mobile.mobileView && !this.capabilities.touch;
- }.property(),
-
- showMobileToggle: function(){
- return Discourse.Mobile.mobileView || (Discourse.SiteSettings.enable_mobile_theme && this.capabilities.touch);
- }.property(),
-
- mobileViewLinkTextKey: function() {
- return Discourse.Mobile.mobileView ? "desktop_view" : "mobile_view";
- }.property(),
-
- categories: function() {
- var hideUncategorized = !this.siteSettings.allow_uncategorized_topics,
- showSubcatList = this.siteSettings.show_subcategory_list,
- isStaff = Discourse.User.currentProp('staff');
- return Discourse.Category.list().reject(function(c) {
- if (showSubcatList && c.get('parent_category_id')) { return true; }
- if (hideUncategorized && c.get('isUncategorizedCategory') && !isStaff) { return true; }
- return false;
- });
- }.property(),
-
- actions: {
- keyboardShortcuts: function(){
- this.get('controllers.application').send('showKeyboardShortcutsHelp');
- },
- toggleMobileView: function() {
- Discourse.Mobile.toggleMobileView();
- }
- }
-});
diff --git a/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6 b/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6
index 2075a57ce69..d611ca53006 100644
--- a/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6
+++ b/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6
@@ -45,7 +45,7 @@ const PATH_BINDINGS = {
'k': 'selectUp',
'u': 'goBack',
'/': 'showSearch',
- '=': 'showSiteMap', // open site map menu
+ '=': 'toggleHamburgerMenu',
'p': 'showCurrentUser', // open current user menu
'ctrl+f': 'showBuiltinSearch',
'command+f': 'showBuiltinSearch',
@@ -172,9 +172,8 @@ export default {
return false;
},
- showSiteMap() {
- $('#site-map').click();
- $('#site-map-dropdown a:first').focus();
+ toggleHamburgerMenu() {
+ this.container.lookup('controller:application').send('toggleHamburgerMenu');
},
showCurrentUser() {
diff --git a/app/assets/javascripts/discourse/pre-initializers/sniff-capabilities.js.es6 b/app/assets/javascripts/discourse/pre-initializers/sniff-capabilities.js.es6
index 90a722de9a0..c6834980500 100644
--- a/app/assets/javascripts/discourse/pre-initializers/sniff-capabilities.js.es6
+++ b/app/assets/javascripts/discourse/pre-initializers/sniff-capabilities.js.es6
@@ -28,5 +28,6 @@ export default {
application.register('capabilities:main', caps, { instantiate: false });
application.inject('view', 'capabilities', 'capabilities:main');
application.inject('controller', 'capabilities', 'capabilities:main');
+ application.inject('component', 'capabilities', 'capabilities:main');
}
};
diff --git a/app/assets/javascripts/discourse/routes/application.js.es6 b/app/assets/javascripts/discourse/routes/application.js.es6
index a923dd17975..a8ede91294e 100644
--- a/app/assets/javascripts/discourse/routes/application.js.es6
+++ b/app/assets/javascripts/discourse/routes/application.js.es6
@@ -13,7 +13,6 @@ function unlessReadOnly(method) {
}
const ApplicationRoute = Discourse.Route.extend(OpenComposer, {
-
siteTitle: setting('title'),
actions: {
@@ -134,12 +133,12 @@ const ApplicationRoute = Discourse.Route.extend(OpenComposer, {
});
},
- deleteSpammer: function (user) {
+ deleteSpammer(user) {
this.send('closeModal');
user.deleteAsSpammer(function() { window.location.reload(); });
},
- checkEmail: function (user) {
+ checkEmail(user) {
user.checkEmail();
},
@@ -150,7 +149,7 @@ const ApplicationRoute = Discourse.Route.extend(OpenComposer, {
this.render(w, {into: 'modal/topic-bulk-actions', outlet: 'bulkOutlet', controller: factory ? controllerName : 'topic-bulk-actions'});
},
- createNewTopicViaParams: function(title, body, category_id, category) {
+ createNewTopicViaParams(title, body, category_id, category) {
this.openComposerWithParams(this.controllerFor('discovery/topics'), title, body, category_id, category);
}
},
diff --git a/app/assets/javascripts/discourse/templates/application.hbs b/app/assets/javascripts/discourse/templates/application.hbs
index 9d92d2063f2..3a3eb195586 100644
--- a/app/assets/javascripts/discourse/templates/application.hbs
+++ b/app/assets/javascripts/discourse/templates/application.hbs
@@ -18,3 +18,5 @@
{{render "modal"}}
{{render "topic-entrance"}}
{{render "composer"}}
+
+{{hamburger-menu visible=hamburgerVisible showKeyboardAction="showKeyboardShortcutsHelp"}}
diff --git a/app/assets/javascripts/discourse/templates/components/hamburger-category.hbs b/app/assets/javascripts/discourse/templates/components/hamburger-category.hbs
new file mode 100644
index 00000000000..9204b3d42d9
--- /dev/null
+++ b/app/assets/javascripts/discourse/templates/components/hamburger-category.hbs
@@ -0,0 +1,9 @@
+{{category-link category allowUncategorized="true"}}
+
+{{#if unreadTotal}}
+ {{unreadTotal}}
+{{/if}}
+
+{{#if showTopicCount}}
+ {{category.topic_count}}
+{{/if}}
diff --git a/app/assets/javascripts/discourse/templates/site-map.hbs b/app/assets/javascripts/discourse/templates/components/hamburger-menu.hbs
similarity index 55%
rename from app/assets/javascripts/discourse/templates/site-map.hbs
rename to app/assets/javascripts/discourse/templates/components/hamburger-menu.hbs
index 99af0489cbd..58e2b1150ed 100644
--- a/app/assets/javascripts/discourse/templates/site-map.hbs
+++ b/app/assets/javascripts/discourse/templates/components/hamburger-menu.hbs
@@ -1,16 +1,17 @@
-
+{{#if visible}}
+ {{fa-icon 'times'}}
- {{#if showAdminLinks}}
+ {{#if currentUser.staff}}
-
{{#link-to "admin" class="admin-link"}}
- {{i18n 'admin_title'}}
+ {{fa-icon "wrench"}} {{i18n 'admin_title'}}
{{/link-to}}
-
{{#link-to "adminFlags" class="flagged-posts-link"}}
{{fa-icon "flag"}} {{i18n 'flags_title'}}
{{#if currentUser.site_flagged_posts_count}}
- {{currentUser.site_flagged_posts_count}}
+ {{currentUser.site_flagged_posts_count}}
{{/if}}
{{/link-to}}
@@ -20,14 +21,14 @@
{{i18n 'filters.latest.title.zero'}}
{{/link-to}}
- {{#if showBadgesLink}}
+ {{#if siteSettings.enable_badges}}
-
- {{i18n 'badges.title'}}
+ {{#link-to 'badges' class="badge-link"}}{{i18n 'badges.title'}}{{/link-to}}
{{/if}}
{{#if siteSettings.enable_user_directory}}
- - {{#link-to 'users'}}{{i18n "directory.title"}}{{/link-to}}
+ - {{#link-to 'users' class="user-directory-link"}}{{i18n "directory.title"}}{{/link-to}}
{{/if}}
{{#if currentUser.show_queued_posts}}
@@ -47,10 +48,10 @@
- {{i18n 'keyboard_shortcuts_help.title'}}
{{/if}}
-
- {{i18n 'faq'}}
+ {{i18n 'faq'}}
-
- {{#link-to 'about'}}{{i18n 'about.simple_title'}}{{/link-to}}
+ {{#link-to 'about' class="about-link"}}{{i18n 'about.simple_title'}}{{/link-to}}
{{#if showMobileToggle}}
- {{boundI18n mobileViewLinkTextKey}}
@@ -61,23 +62,15 @@
{{#if categories}}
- -
- {{#link-to "discovery.categories"}}{{i18n 'filters.categories.title'}}{{/link-to}}
+
-
+ {{#link-to "discovery.categories" class="categories-link"}}{{i18n 'filters.categories.title'}}{{/link-to}}
- {{#each c in categories itemController='site-map-category'}}
- -
- {{category-link c.model allowUncategorized="true"}}
-
- {{#if c.unreadTotal}}
- {{c.unreadTotal}}
- {{/if}}
-
- {{#if c.showTopicCount}}
- {{unbound c.model.topic_count}}
- {{/if}}
-
+ {{#each categories as |c|}}
+ {{hamburger-category category=c}}
{{/each}}
{{/if}}
-
+
+
+{{/if}}
diff --git a/app/assets/javascripts/discourse/templates/header.hbs b/app/assets/javascripts/discourse/templates/header.hbs
index 42b2323f6a6..a05d8930e2b 100644
--- a/app/assets/javascripts/discourse/templates/header.hbs
+++ b/app/assets/javascripts/discourse/templates/header.hbs
@@ -12,9 +12,9 @@
{{/unless}}
{{#if view.renderDropdowns}}
-
{{plugin-outlet "header-before-dropdowns"}}
-
{{render "search"}}
{{render "notifications" notifications}}
-
- {{#if view.renderSiteMap}}
- {{render "site-map"}}
- {{/if}}
-
{{render "user-dropdown"}}
{{/if}}
diff --git a/app/assets/javascripts/discourse/templates/modal/keyboard-shortcuts-help.hbs b/app/assets/javascripts/discourse/templates/modal/keyboard-shortcuts-help.hbs
index 38167ba221e..f07392a4b2a 100644
--- a/app/assets/javascripts/discourse/templates/modal/keyboard-shortcuts-help.hbs
+++ b/app/assets/javascripts/discourse/templates/modal/keyboard-shortcuts-help.hbs
@@ -25,7 +25,7 @@
- {{{i18n 'keyboard_shortcuts_help.application.create'}}}
- {{{i18n 'keyboard_shortcuts_help.application.notifications'}}}
- - {{{i18n 'keyboard_shortcuts_help.application.site_map_menu'}}}
+ - {{{i18n 'keyboard_shortcuts_help.application.hamburger_menu'}}}
- {{{i18n 'keyboard_shortcuts_help.application.user_profile_menu'}}}
- {{{i18n 'keyboard_shortcuts_help.application.show_incoming_updated_topics'}}}
- {{{i18n 'keyboard_shortcuts_help.application.search'}}}
diff --git a/app/assets/javascripts/vendor.js b/app/assets/javascripts/vendor.js
index 5c0788f8c7a..eab84ef8992 100644
--- a/app/assets/javascripts/vendor.js
+++ b/app/assets/javascripts/vendor.js
@@ -42,3 +42,4 @@
//= require buffered-proxy
//= require jquery.autoellipsis-1.0.10.min.js
//= require_tree ./discourse/ember
+//= require jquery.detect_swipe.js
diff --git a/app/assets/stylesheets/common/base/hamburger.scss b/app/assets/stylesheets/common/base/hamburger.scss
new file mode 100644
index 00000000000..ba078a5a353
--- /dev/null
+++ b/app/assets/stylesheets/common/base/hamburger.scss
@@ -0,0 +1,64 @@
+#hamburger-menu {
+ position: fixed;
+ right: 0;
+ top: 0;
+ background-color: $secondary;
+ z-index: 1002;
+ height: 100%;
+ overflow: auto;
+ transition: 0.3s ease-in-out;
+ transform: translateX(0);
+
+ box-shadow: 4px 0 4px 5px rgba(0,0,0, .25);
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ width: 300px;
+
+ .close-hamburger {
+ float: right;
+ color: dark-light-choose(scale-color($header_primary, $lightness: 50%), $header_primary);
+ font-size: 1.5em;
+ margin-right: 0.1em;
+ margin-top: 0.1em;
+ }
+
+ ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ }
+
+ ul.location-links li, li.heading {
+ a {
+ padding: 0.5em;
+ display: block;
+ &:hover {
+ background-color: dark-light-diff($highlight, $secondary, 50%, -55%);
+ }
+ }
+ }
+
+ li.category-link {
+ float: left;
+ background-color: transparent;
+ width: 45%;
+ margin: 5px 5px 0 8px;
+ .box {margin-top: 0;}
+ .badge-notification {
+ color: dark-light-choose(scale-color($primary, $lightness: 50%), scale-color($secondary, $lightness: 50%));
+ background-color: transparent;
+ vertical-align: top;
+ padding: 5px 5px 2px 5px;
+ }
+ }
+
+ // note these topic counts only appear for anons in the category hamburger drop down
+ b.topics-count {
+ color: dark-light-choose(scale-color($primary, $lightness: 50%), scale-color($secondary, $lightness: 50%));
+ font-weight: normal;
+ font-size: 11px;
+ }
+}
+
+#hamburger-menu.slideright {
+ transform: translateX(330px);
+}
diff --git a/app/assets/stylesheets/common/base/header.scss b/app/assets/stylesheets/common/base/header.scss
index 3eb301849f0..d7c33b2cd2a 100644
--- a/app/assets/stylesheets/common/base/header.scss
+++ b/app/assets/stylesheets/common/base/header.scss
@@ -148,12 +148,6 @@
box-shadow: 0 2px 2px rgba(0,0,0, .4);
- // note these topic counts only appear for anons in the category hamburger drop down
- b.topics-count {
- color: dark-light-choose(scale-color($primary, $lightness: 50%), scale-color($secondary, $lightness: 50%));
- font-weight: normal;
- font-size: 11px;
- }
ul {
margin: 0;
@@ -233,18 +227,6 @@
@include unselectable;
}
- // Site map
-
- site-map-dropdown {
- .heading {
- padding: 5px 5px 5px 0;
- a {
- display: block;
- padding: 0 5px;
- }
- }
- }
-
// Search
search-dropdown {
@@ -291,20 +273,6 @@
// Categories
- .category {
- float: left;
- background-color: transparent;
- width: 45%;
- margin: 5px 5px 0 5px;
- .box {margin-top: 0;}
- .badge-notification {
- color: dark-light-choose(scale-color($primary, $lightness: 50%), scale-color($secondary, $lightness: 50%));
- background-color: transparent;
- vertical-align: top;
- padding: 5px 5px 2px 5px;
- }
- }
-
user-dropdown {
width: 118px;
}
diff --git a/config/locales/client.ar.yml b/config/locales/client.ar.yml
index 9e2923cac60..3255256343a 100644
--- a/config/locales/client.ar.yml
+++ b/config/locales/client.ar.yml
@@ -977,7 +977,7 @@ ar:
category: "البحث في التصنيف \"{{category}}\""
topic: "بحث في هذا الموضوع"
private_messages: "البحث في الرسائل الخاصة"
- site_map: "الذهاب إلى قائمة مواضيع أو تصنيف آخر"
+ hamburger_menu: "الذهاب إلى قائمة مواضيع أو تصنيف آخر"
go_back: 'الرجوع'
not_logged_in_user: 'صفحة المستخدم مع ملخص عن نشاطه و إعداداته'
current_user: 'الذهاب إلى صفحتك الشخصية'
@@ -2690,7 +2690,7 @@ ar:
title: 'التطبيقات'
create: 'c انشاء موضوع جديد'
notifications: 'n فتح الإشعارات'
- site_map_menu: '= أفتح قائمة الموقع'
+ hamburger_menu: '= أفتح قائمة الموقع'
user_profile_menu: 'pأفتح قائمة المستخدم'
show_incoming_updated_topics: '. عرض المواضيع المحدثة'
search: '/ البحث'
diff --git a/config/locales/client.bs_BA.yml b/config/locales/client.bs_BA.yml
index 794c45e6ffe..e6e60058156 100644
--- a/config/locales/client.bs_BA.yml
+++ b/config/locales/client.bs_BA.yml
@@ -696,7 +696,7 @@ bs_BA:
user: "Traži postove od @{{username}}"
category: "Traži \"{{category}}\" kategoriju"
topic: "Pretraži ovu temu"
- site_map: "go to another topic list or category"
+ hamburger_menu: "go to another topic list or category"
go_back: 'go back'
not_logged_in_user: 'user page with summary of current activity and preferences'
current_user: 'go to your user page'
@@ -1794,7 +1794,7 @@ bs_BA:
title: 'Aplikacija'
create: 'c Započni novu temu'
notifications: 'n Otvori notifikacije'
- site_map_menu: '= Otvori meni sajta'
+ hamburger_menu: '= Otvori meni sajta'
user_profile_menu: 'p Otvori meni korisnika'
show_incoming_updated_topics: '. Pročitaj promjenje teme'
search: '/ Tragaj'
diff --git a/config/locales/client.cs.yml b/config/locales/client.cs.yml
index 7bd3814b797..598844f4364 100644
--- a/config/locales/client.cs.yml
+++ b/config/locales/client.cs.yml
@@ -829,7 +829,7 @@ cs:
category: "Vyhledat v kategorii „{{category}}“"
topic: "Vyhledat v tomto tématu"
private_messages: "Hledat ve zprávách"
- site_map: "přejít na jiný seznam témat nebo kategorii"
+ hamburger_menu: "přejít na jiný seznam témat nebo kategorii"
go_back: 'jít zpět'
not_logged_in_user: 'stránka uživatele s přehledem o aktuální činnosti a nastavení'
current_user: 'jít na vaši uživatelskou stránku'
@@ -2322,7 +2322,7 @@ cs:
title: 'Application'
create: 'c Create a new topic'
notifications: 'n Open notifications'
- site_map_menu: '= Otevře hlavní menu'
+ hamburger_menu: '= Otevře hlavní menu'
user_profile_menu: 'p Otevře uživatelské menu'
show_incoming_updated_topics: '. Ukáže aktualizovaná témata'
search: '/ Search'
diff --git a/config/locales/client.da.yml b/config/locales/client.da.yml
index 7afc96078d3..639ec1c632c 100644
--- a/config/locales/client.da.yml
+++ b/config/locales/client.da.yml
@@ -798,7 +798,7 @@ da:
category: "Søg i kategorien \"{{category}}\""
topic: "Søg i dette emne"
private_messages: "Søg i beskeder"
- site_map: "gå til en anden emneoversigt eller kategori"
+ hamburger_menu: "gå til en anden emneoversigt eller kategori"
go_back: 'gå tilbage'
not_logged_in_user: 'bruger side, med oversigt over aktivitet og indstillinger'
current_user: 'gå til brugerside'
@@ -2285,7 +2285,7 @@ da:
title: 'Applikation'
create: 'c Opret et nyt emne'
notifications: 'n Åbn notifikationer'
- site_map_menu: '= Åben site menu'
+ hamburger_menu: '= Åben site menu'
user_profile_menu: 'p Åben bruger menu'
show_incoming_updated_topics: '. Vis opdaterede emner'
search: '/ Søg'
diff --git a/config/locales/client.de.yml b/config/locales/client.de.yml
index 37f86c0c4eb..510db6bf9d7 100644
--- a/config/locales/client.de.yml
+++ b/config/locales/client.de.yml
@@ -836,7 +836,7 @@ de:
category: "Kategorie „{{category}}“ durchsuchen"
topic: "Dieses Thema durchsuchen"
private_messages: "Nachrichten durchsuchen"
- site_map: "zu einer anderen Themenliste oder Kategorie wechseln"
+ hamburger_menu: "zu einer anderen Themenliste oder Kategorie wechseln"
go_back: 'zurückgehen'
not_logged_in_user: 'Benutzerseite mit einer Zusammenfassung der Benutzeraktivitäten und Einstellungen'
current_user: 'zu deiner Benutzerseite gehen'
@@ -2332,7 +2332,7 @@ de:
title: 'Anwendung'
create: 'c Neues Thema erstellen'
notifications: 'n Benachrichtigungen anzeigen'
- site_map_menu: '= Seitenmenü öffnen'
+ hamburger_menu: '= Seitenmenü öffnen'
user_profile_menu: 'p Benutzermenü öffnen'
show_incoming_updated_topics: '. Zeige aktualisierte Themen'
search: '/ Suchen'
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index 86c437496b5..94fb4e0a912 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -930,7 +930,7 @@ en:
topic: "Search this topic"
private_messages: "Search messages"
- site_map: "go to another topic list or category"
+ hamburger_menu: "go to another topic list or category"
go_back: 'go back'
not_logged_in_user: 'user page with summary of current activity and preferences'
current_user: 'go to your user page'
@@ -2570,7 +2570,7 @@ en:
title: 'Application'
create: 'c Create a new topic'
notifications: 'n Open notifications'
- site_map_menu: '= Open site menu'
+ hamburger_menu: '= Open hamburger menu'
user_profile_menu: 'p Open user menu'
show_incoming_updated_topics: '. Show updated topics'
search: '/ Search'
diff --git a/config/locales/client.es.yml b/config/locales/client.es.yml
index f3d3ff7e41d..9b90c7e2535 100644
--- a/config/locales/client.es.yml
+++ b/config/locales/client.es.yml
@@ -837,7 +837,7 @@ es:
category: "Buscar en la categoría \"{{category}}\""
topic: "Buscar en este tema"
private_messages: "Buscar en mensajes"
- site_map: "ir a otra lista de temas o categoría"
+ hamburger_menu: "ir a otra lista de temas o categoría"
go_back: 'volver'
not_logged_in_user: 'página con el resumen de actividad y preferencias'
current_user: 'ir a tu página de usuario'
@@ -2357,7 +2357,7 @@ es:
title: 'Aplicación'
create: 'c Crear un tema nuevo'
notifications: 'n Abrir notificaciones'
- site_map_menu: '= Abrir menú del sitio'
+ hamburger_menu: '= Abrir menú del sitio'
user_profile_menu: 'p Abrir menú de usuario'
show_incoming_updated_topics: '. Mostrar temas actualizados'
search: '/ Buscar'
diff --git a/config/locales/client.fa_IR.yml b/config/locales/client.fa_IR.yml
index fafee55b49a..408c91e4a43 100644
--- a/config/locales/client.fa_IR.yml
+++ b/config/locales/client.fa_IR.yml
@@ -765,7 +765,7 @@ fa_IR:
category: "جستجوی دستهٔ «{{category}}»"
topic: "جستجوی این موضوع"
private_messages: "جستجوی پیام"
- site_map: "به فهرست موضوع یا دستهای دیگر بروید"
+ hamburger_menu: "به فهرست موضوع یا دستهای دیگر بروید"
go_back: 'برگردید'
not_logged_in_user: 'صفحه کاربر با خلاصه ای از فعالیت های و تنظیمات'
current_user: 'به نمایهتان بروید'
@@ -2197,7 +2197,7 @@ fa_IR:
title: 'نرمافزار'
create: 'c ساختن یک موضوع جدید'
notifications: 'n باز کردن آگاهسازیها'
- site_map_menu: '= باز کردن منوی سایت'
+ hamburger_menu: '= باز کردن منوی سایت'
user_profile_menu: 'p باز کردن منوی کاربران'
show_incoming_updated_topics: '. نمایش موضوعات بروز شده'
search: '/ جستجو'
diff --git a/config/locales/client.fi.yml b/config/locales/client.fi.yml
index 5e5d5db20ed..a0c9c341db0 100644
--- a/config/locales/client.fi.yml
+++ b/config/locales/client.fi.yml
@@ -817,7 +817,7 @@ fi:
category: "Etsi alueelta \"{{category}}\""
topic: "Etsi tästä ketjusta"
private_messages: "Etsi viesteistä"
- site_map: "siirry toiseen ketjuun tai alueelle"
+ hamburger_menu: "siirry toiseen ketjuun tai alueelle"
go_back: 'mene takaisin'
not_logged_in_user: 'käyttäjäsivu, jossa on tiivistelmä käyttäjän viimeaikaisesta toiminnasta sekä käyttäjäasetukset'
current_user: 'siirry omalle käyttäjäsivullesi'
@@ -2313,7 +2313,7 @@ fi:
title: 'Ohjelmisto'
create: 'c Luo uusi ketju'
notifications: 'n Avaa ilmoitukset'
- site_map_menu: '= Avaa palstan valikko'
+ hamburger_menu: '= Avaa palstan valikko'
user_profile_menu: 'p Avaa käyttäjätilin valikko'
show_incoming_updated_topics: '. Näytä päivittyneet ketjut'
search: '/ Etsi'
diff --git a/config/locales/client.fr.yml b/config/locales/client.fr.yml
index 2565eb87ac1..fe13af25d6c 100644
--- a/config/locales/client.fr.yml
+++ b/config/locales/client.fr.yml
@@ -817,7 +817,7 @@ fr:
category: "Rechercher dans la catégorie \"{{category}}\""
topic: "Rechercher dans ce sujet"
private_messages: "Rechercher des messages"
- site_map: "aller à une autre liste de sujet ou catégorie"
+ hamburger_menu: "aller à une autre liste de sujet ou catégorie"
go_back: 'retour'
not_logged_in_user: 'page utilisateur avec un résumé de l''activité en cours et les préférences '
current_user: 'voir la page de l''utilisateur'
@@ -2317,7 +2317,7 @@ fr:
title: 'Application'
create: 'c Créer un nouveau sujet'
notifications: 'n Ouvrir les notifications'
- site_map_menu: '= Ouvrir le menu principal'
+ hamburger_menu: '= Ouvrir le menu principal'
user_profile_menu: 'p Ouvrir le menu de votre profil'
show_incoming_updated_topics: '. Afficher les sujets mis à jour'
search: '/ Rechercher'
diff --git a/config/locales/client.he.yml b/config/locales/client.he.yml
index 86bd7486459..f72560231bc 100644
--- a/config/locales/client.he.yml
+++ b/config/locales/client.he.yml
@@ -837,7 +837,7 @@ he:
category: "חיפוש בקטגוריה \"{{category}}\""
topic: "חפשו בנושא זה"
private_messages: "חיפוש הודעות"
- site_map: "לך לרשימת נושאים או קטגוריה אחרת"
+ hamburger_menu: "לך לרשימת נושאים או קטגוריה אחרת"
go_back: 'חזור אחורה'
not_logged_in_user: 'עמוד משתמש עם סיכום פעילות נוכחית והעדפות'
current_user: 'לך לעמוד המשתמש שלך'
@@ -2332,7 +2332,7 @@ he:
title: 'יישום'
create: 'c צור נושא חדש'
notifications: 'n פתח התראות'
- site_map_menu: '= פתיחת תפריט האתר'
+ hamburger_menu: '= פתיחת תפריט האתר'
user_profile_menu: 'pפתיחת תפריט משתמש/ת'
show_incoming_updated_topics: '. הצגת נושאים שעודכנו'
search: '/ חיפוש'
diff --git a/config/locales/client.it.yml b/config/locales/client.it.yml
index 9eb2b0a83cf..a6535b87b69 100644
--- a/config/locales/client.it.yml
+++ b/config/locales/client.it.yml
@@ -837,7 +837,7 @@ it:
category: "Cerca nella categoria \"{{category}}\""
topic: "Cerca in questo argomento"
private_messages: "Cerca messaggi"
- site_map: "vai a un altro elenco di argomenti o categoria"
+ hamburger_menu: "vai a un altro elenco di argomenti o categoria"
go_back: 'indietro'
not_logged_in_user: 'pagina utente con riassunto delle attività correnti e delle impostazioni'
current_user: 'vai alla pagina utente'
@@ -2329,7 +2329,7 @@ it:
title: 'Applicazione'
create: 'c Crea un nuovo argomento'
notifications: 'n Apri le notifiche'
- site_map_menu: '= Apri il menu sito'
+ hamburger_menu: '= Apri il menu sito'
user_profile_menu: 'p Apri il menu del profilo utente'
show_incoming_updated_topics: '. Mostra argomenti aggiornati'
search: '/ Cerca'
diff --git a/config/locales/client.ja.yml b/config/locales/client.ja.yml
index ca12ef4bd32..fc552de3e29 100644
--- a/config/locales/client.ja.yml
+++ b/config/locales/client.ja.yml
@@ -782,7 +782,7 @@ ja:
category: "\"{{category}}\" カテゴリで検索する"
topic: "このトピックを探す"
private_messages: "メッセージ検索"
- site_map: "別のトピックリストやカテゴリに移動"
+ hamburger_menu: "別のトピックリストやカテゴリに移動"
go_back: '戻る'
not_logged_in_user: 'ユーザアクティビティと設定ページ'
current_user: 'ユーザページに移動'
@@ -2225,7 +2225,7 @@ ja:
title: 'アプリケーション'
create: 'c 新しいトピックを作成'
notifications: 'n お知らせを開く'
- site_map_menu: '= サイトメニュを開く'
+ hamburger_menu: '= サイトメニュを開く'
user_profile_menu: 'p ユーザメニュを開く'
show_incoming_updated_topics: '. 更新されたトピックを表示する'
search: '/ 検索'
diff --git a/config/locales/client.ko.yml b/config/locales/client.ko.yml
index c2fcbe30836..64f4d10f589 100644
--- a/config/locales/client.ko.yml
+++ b/config/locales/client.ko.yml
@@ -782,7 +782,7 @@ ko:
category: "\"{{category}}\" 카테고리 검색"
topic: "이 토픽을 검색"
private_messages: "메시지 검색"
- site_map: "다른 토픽이나 카테고리로 이동"
+ hamburger_menu: "다른 토픽이나 카테고리로 이동"
go_back: '돌아가기'
not_logged_in_user: 'user page with summary of current activity and preferences'
current_user: '사용자 페이지로 이동'
@@ -2225,7 +2225,7 @@ ko:
title: 'Application'
create: 'c 새 토픽을 만듭니다.'
notifications: 'n Open notifications'
- site_map_menu: '= 사이트 메뉴 열기'
+ hamburger_menu: '= 사이트 메뉴 열기'
user_profile_menu: 'p 사용자 메뉴 열기'
show_incoming_updated_topics: '. 갱신된 토픽 보기'
search: '/ Search'
diff --git a/config/locales/client.nb_NO.yml b/config/locales/client.nb_NO.yml
index b3cb1f7e560..deb438c7cf2 100644
--- a/config/locales/client.nb_NO.yml
+++ b/config/locales/client.nb_NO.yml
@@ -827,7 +827,7 @@ nb_NO:
category: "Søk i kategorien \"{{category}}\""
topic: "Søk i dette emnet"
private_messages: "Søk i meldinger"
- site_map: "gå til en annen emneliste eller kategori"
+ hamburger_menu: "gå til en annen emneliste eller kategori"
go_back: 'gå tilbake'
not_logged_in_user: 'brukerside med oppsummering av nylig aktivtet og preferanser.'
current_user: 'go til din brukerside'
@@ -2318,7 +2318,7 @@ nb_NO:
title: 'Applikasjon'
create: 'c Opprett nytt emne'
notifications: 'n Åpne varsler'
- site_map_menu: '= Åpne nettstedsmenyen'
+ hamburger_menu: '= Åpne nettstedsmenyen'
user_profile_menu: 'p Åpne brukermenyen'
show_incoming_updated_topics: '. Vis oppdaterte emner'
search: '/ Søk'
diff --git a/config/locales/client.nl.yml b/config/locales/client.nl.yml
index a60c09db8c6..72eb8f29392 100644
--- a/config/locales/client.nl.yml
+++ b/config/locales/client.nl.yml
@@ -800,7 +800,7 @@ nl:
category: "Doorzoek de \"{{category}}\" categorie"
topic: "Zoek in deze topic"
private_messages: "Zoek berichten"
- site_map: "ga naar een andere topiclijst of categorie"
+ hamburger_menu: "ga naar een andere topiclijst of categorie"
go_back: 'ga terug'
not_logged_in_user: 'gebruikerspagina met samenvatting van huidige activiteit en voorkeuren'
current_user: 'ga naar je gebruikerspagina'
@@ -2285,7 +2285,7 @@ nl:
title: 'Applicatie'
create: 'c Maak nieuwe topic'
notifications: 'n Open notificaties'
- site_map_menu: '= Open site menu'
+ hamburger_menu: '= Open site menu'
user_profile_menu: 'p Open gebruikersmenu'
show_incoming_updated_topics: '. Toon gewijzigde topics'
search: '/ Zoek'
diff --git a/config/locales/client.pl_PL.yml b/config/locales/client.pl_PL.yml
index dc3153a889a..64566e04064 100644
--- a/config/locales/client.pl_PL.yml
+++ b/config/locales/client.pl_PL.yml
@@ -872,7 +872,7 @@ pl_PL:
category: "Szukaj w kategorii \"{{category}}\""
topic: "Szukaj w tym temacie"
private_messages: "Wyszukiwanie wiadomości"
- site_map: "przejdź do innej listy tematów lub kategorii"
+ hamburger_menu: "przejdź do innej listy tematów lub kategorii"
go_back: 'wróć'
not_logged_in_user: 'strona użytkownika z podsumowaniem bieżących działań i ustawień'
current_user: 'idź do swojej strony użytkowanika'
@@ -2424,7 +2424,7 @@ pl_PL:
title: 'Aplikacja'
create: 'c utwórz nowy temat'
notifications: 'n pokaż powiadomienia'
- site_map_menu: '= menu strony'
+ hamburger_menu: '= menu strony'
user_profile_menu: 'p menu użytkownika'
show_incoming_updated_topics: '. nowe zmiany w tematach'
search: '/ wyszukaj'
diff --git a/config/locales/client.pt.yml b/config/locales/client.pt.yml
index 1b7869e38c2..8e90cf103eb 100644
--- a/config/locales/client.pt.yml
+++ b/config/locales/client.pt.yml
@@ -837,7 +837,7 @@ pt:
category: "Procurar na categoria \"{{category}}\""
topic: "Pesquisar este tópico"
private_messages: "Pesquisar mensagens"
- site_map: "ir para outra lista de tópicos ou categorias"
+ hamburger_menu: "ir para outra lista de tópicos ou categorias"
go_back: 'voltar atrás'
not_logged_in_user: 'página de utilizador com resumo da atividade atual e preferências '
current_user: 'ir para a sua página de utilizador'
@@ -2367,7 +2367,7 @@ pt:
title: 'Aplicação'
create: 'c Criar um novo tópico'
notifications: 'n Abrir notificações'
- site_map_menu: '= Abrir menu do sítio'
+ hamburger_menu: '= Abrir menu do sítio'
user_profile_menu: 'p Abrir menu do utilizador'
show_incoming_updated_topics: '. Mostrar tópicos atualizados'
search: '/ Pesquisar'
diff --git a/config/locales/client.pt_BR.yml b/config/locales/client.pt_BR.yml
index 82c3450dda8..316a4bcd875 100644
--- a/config/locales/client.pt_BR.yml
+++ b/config/locales/client.pt_BR.yml
@@ -805,7 +805,7 @@ pt_BR:
category: "Procurar a categoria \"{{category}}\""
topic: "Procurar nesse tópico"
private_messages: "Procurar mensagens"
- site_map: "ir para outra lista de tópicos ou categorias"
+ hamburger_menu: "ir para outra lista de tópicos ou categorias"
go_back: 'voltar'
not_logged_in_user: 'página do usuário com resumo de atividades correntes e preferencias'
current_user: 'ir para a sua página de usuário'
@@ -2284,7 +2284,7 @@ pt_BR:
title: 'Aplicação'
create: 'c Criar um tópico novo'
notifications: 'n Abre notificações'
- site_map_menu: '= Abrir menu do site'
+ hamburger_menu: '= Abrir menu do site'
user_profile_menu: 'p Abrir menu do usuário'
show_incoming_updated_topics: '. Exibir tópicos atualizados'
search: '/ Pesquisa'
diff --git a/config/locales/client.ro.yml b/config/locales/client.ro.yml
index f8486b403c8..7f2c808032a 100644
--- a/config/locales/client.ro.yml
+++ b/config/locales/client.ro.yml
@@ -796,7 +796,7 @@ ro:
category: "Caută în categoria\"{{category}}\" "
topic: "Caută în această discuție"
private_messages: "Caută mesaje"
- site_map: "mergi la o altă listă de discuții sau categorii"
+ hamburger_menu: "mergi la o altă listă de discuții sau categorii"
go_back: 'înapoi'
not_logged_in_user: 'pagina utilizatorului cu sumarul activităților și preferințelor'
current_user: 'mergi la pagina proprie de utilizator'
@@ -2250,7 +2250,7 @@ ro:
title: 'Applicația'
create: 'c Crează discuție nouă'
notifications: 'n Deschide notificare'
- site_map_menu: '= Deschide meniu sit'
+ hamburger_menu: '= Deschide meniu sit'
user_profile_menu: 'p Deschide meniu utilizator'
show_incoming_updated_topics: '. Arată discuţiile actualizate'
search: '/ Caută'
diff --git a/config/locales/client.ru.yml b/config/locales/client.ru.yml
index 2523549da3a..617f1486311 100644
--- a/config/locales/client.ru.yml
+++ b/config/locales/client.ru.yml
@@ -862,7 +862,7 @@ ru:
category: "Искать в разделе \"{{category}}\""
topic: "Искать в этой теме"
private_messages: "Поиск в сообщениях"
- site_map: "перейти к другому списку тем или другому разделу"
+ hamburger_menu: "перейти к другому списку тем или другому разделу"
go_back: 'вернуться'
not_logged_in_user: 'страница пользователя с историей его последней активности и настроек'
current_user: 'перейти на вашу страницу пользователя'
@@ -2430,7 +2430,7 @@ ru:
title: 'Приложение'
create: 'c Создать новую тему'
notifications: 'n Открыть уведомления'
- site_map_menu: '= Открыть меню сайта'
+ hamburger_menu: '= Открыть меню сайта'
user_profile_menu: 'p Открыть меню моего профиля'
show_incoming_updated_topics: '. Показать обновленные темы'
search: '/ Поиск'
diff --git a/config/locales/client.sq.yml b/config/locales/client.sq.yml
index fd6cd73af0b..c8bd2016ef9 100644
--- a/config/locales/client.sq.yml
+++ b/config/locales/client.sq.yml
@@ -817,7 +817,7 @@ sq:
category: "Kërko tek kategoria \"{{category}}\""
topic: "Kërko tek kjo temë"
private_messages: "Search messages"
- site_map: "go to another topic list or category"
+ hamburger_menu: "go to another topic list or category"
go_back: 'kthehu mbrapa'
not_logged_in_user: 'user page with summary of current activity and preferences'
current_user: 'go to your user page'
@@ -2312,7 +2312,7 @@ sq:
title: 'Aplikacion'
create: 'c Filloni një diskutim të ri'
notifications: 'n Open notifications'
- site_map_menu: '= Open site menu'
+ hamburger_menu: '= Open site menu'
user_profile_menu: 'p Open user menu'
show_incoming_updated_topics: '. Show updated topics'
search: '/ Kërko'
diff --git a/config/locales/client.sv.yml b/config/locales/client.sv.yml
index c7d0f0ee6a5..0877858ecb0 100644
--- a/config/locales/client.sv.yml
+++ b/config/locales/client.sv.yml
@@ -783,7 +783,7 @@ sv:
category: "Sök i kategorin \"{{category}}\""
topic: "Sök i denna diskussion"
private_messages: "Sök meddelanden"
- site_map: "gå till en annan ämneslista eller kategori"
+ hamburger_menu: "gå till en annan ämneslista eller kategori"
go_back: 'gå tillbaka'
not_logged_in_user: 'användarsida med sammanställning av aktuell aktivitet och inställningar'
current_user: 'gå till din användarsida'
@@ -2222,7 +2222,7 @@ sv:
application:
create: 's Skapa ett nytt ämne'
notifications: 'n Öppna notifikationer'
- site_map_menu: '= Öppna webbplatsmeny'
+ hamburger_menu: '= Öppna webbplatsmeny'
user_profile_menu: 'p Öppna användarmeny'
show_incoming_updated_topics: '. Visa uppdaterade ämnen'
search: 'Sök'
diff --git a/config/locales/client.te.yml b/config/locales/client.te.yml
index fbcd93e9080..c1177e1c991 100644
--- a/config/locales/client.te.yml
+++ b/config/locales/client.te.yml
@@ -686,7 +686,7 @@ te:
user: "@{{username}} యొక్క విషయాలు వెతుకు"
category: "\"{{category}}\" వర్గంలో వెతుకు"
topic: "ఈ విషయంలో వెతుకు"
- site_map: "మరో విషయాల జాబితాకు లేదా వర్గానికి వెళ్లు"
+ hamburger_menu: "మరో విషయాల జాబితాకు లేదా వర్గానికి వెళ్లు"
go_back: 'వెనక్కు మరలు'
not_logged_in_user: 'సభ్యుని ప్రస్తుత కలాపాల మరియు అభిరూపాల సారాంశ పుట'
current_user: 'మీ సభ్యపుటకు వెళ్లు'
@@ -1961,7 +1961,7 @@ te:
title: 'అనువర్తనం'
create: 'c కొత్త టపా సృష్టించు'
notifications: 'n తెరచిన ప్రకటనలు'
- site_map_menu: '= సైట్ మెనూ తెరువు'
+ hamburger_menu: '= సైట్ మెనూ తెరువు'
user_profile_menu: 'p యూజర్ మెనూ తెరువు'
show_incoming_updated_topics: '. నవీకరించిన విషయాలను చూపించండి'
search: '/ వెతుకు'
diff --git a/config/locales/client.tr_TR.yml b/config/locales/client.tr_TR.yml
index 8c88dd937d1..3c60a688578 100644
--- a/config/locales/client.tr_TR.yml
+++ b/config/locales/client.tr_TR.yml
@@ -763,7 +763,7 @@ tr_TR:
category: "\"{{category}}\" kategorisinde ara"
topic: "Bu konuda ara"
private_messages: "Mesajlarda ara"
- site_map: "başka bir konu listesine veya kategoriye git"
+ hamburger_menu: "başka bir konu listesine veya kategoriye git"
go_back: 'geri dön'
not_logged_in_user: 'güncel aktivitelerin ve ayarların özetinin bulunduğu kullanıcı sayfası'
current_user: 'kendi kullanıcı sayfana git'
@@ -2195,7 +2195,7 @@ tr_TR:
title: 'Uygulama'
create: 'c Yeni konu aç'
notifications: 'n Bildirileri aç'
- site_map_menu: '= Site menüsünü aç'
+ hamburger_menu: '= Site menüsünü aç'
user_profile_menu: 'p Kullanıcı menüsünü aç'
show_incoming_updated_topics: '. Güncellenmiş konuları göster'
search: '/ Arama'
diff --git a/config/locales/client.uk.yml b/config/locales/client.uk.yml
index 58f39f591f5..2aead58b686 100644
--- a/config/locales/client.uk.yml
+++ b/config/locales/client.uk.yml
@@ -593,7 +593,7 @@ uk:
searching: "Пошук ..."
context:
topic: "Пошук в цій темі"
- site_map: "перейти до іншого переліку або категорії тем"
+ hamburger_menu: "перейти до іншого переліку або категорії тем"
go_back: 'повернутися назад'
not_logged_in_user: 'сторінка користувача з підсумком поточної діяльності та налаштуваннями'
current_user: 'перейти до Вашої сторінки користувача'
diff --git a/config/locales/client.zh_CN.yml b/config/locales/client.zh_CN.yml
index 0625eabc3e8..bb2376de8b4 100644
--- a/config/locales/client.zh_CN.yml
+++ b/config/locales/client.zh_CN.yml
@@ -782,7 +782,7 @@ zh_CN:
category: "搜索“{{category}}”分类"
topic: "只搜索本主题"
private_messages: "搜索消息"
- site_map: "去另一个主题列表或分类"
+ hamburger_menu: "去另一个主题列表或分类"
go_back: '返回'
not_logged_in_user: '显示当前活动和设置的用户页面'
current_user: '去你的用户页面'
@@ -2230,7 +2230,7 @@ zh_CN:
title: '应用'
create: 'c 创建一个新主题'
notifications: 'n 打开通知菜单'
- site_map_menu: '= 打开站点菜单'
+ hamburger_menu: '= 打开站点菜单'
user_profile_menu: 'p 打开用户菜单'
show_incoming_updated_topics: '. 显示更新过的主题'
search: '/ 搜索'
diff --git a/config/locales/client.zh_TW.yml b/config/locales/client.zh_TW.yml
index cac2a7fe261..71f07832603 100644
--- a/config/locales/client.zh_TW.yml
+++ b/config/locales/client.zh_TW.yml
@@ -718,7 +718,7 @@ zh_TW:
user: "搜尋 @{{username}} 的文章"
category: "搜尋 \"{{category}}\" 分類"
topic: "搜尋此討論話題"
- site_map: "到另一個討論話題列表或分類"
+ hamburger_menu: "到另一個討論話題列表或分類"
go_back: '返回'
not_logged_in_user: '用戶頁面包含目前活動及喜好的總結'
current_user: '到你的用戶頁面'
@@ -2057,7 +2057,7 @@ zh_TW:
title: 'Application'
create: 'c 表示新討論話題'
notifications: 'n 開啟通知'
- site_map_menu: '= 打開網站選單'
+ hamburger_menu: '= 打開網站選單'
user_profile_menu: 'p 打開使用者選單'
show_incoming_updated_topics: '. 顯示有更新的討論話題'
search: '/ 搜尋'
diff --git a/test/javascripts/acceptance/hamburger-menu-staff-test.js.es6 b/test/javascripts/acceptance/hamburger-menu-staff-test.js.es6
new file mode 100644
index 00000000000..21940146fa7
--- /dev/null
+++ b/test/javascripts/acceptance/hamburger-menu-staff-test.js.es6
@@ -0,0 +1,13 @@
+import { acceptance } from "helpers/qunit-helpers";
+
+acceptance("Hamburger Menu - Staff", { loggedIn: true });
+
+test("Menu Items", (assert) => {
+ visit("/");
+ click("#toggle-hamburger-menu");
+ andThen(() => {
+ assert.ok(exists("#hamburger-menu .admin-link"));
+ assert.ok(exists("#hamburger-menu .flagged-posts-link"));
+ assert.ok(exists("#hamburger-menu .flagged-posts.badge-notification"), "it displays flag notifications");
+ });
+});
diff --git a/test/javascripts/acceptance/hamburger-menu-test.js.es6 b/test/javascripts/acceptance/hamburger-menu-test.js.es6
new file mode 100644
index 00000000000..0dc9d2ca32b
--- /dev/null
+++ b/test/javascripts/acceptance/hamburger-menu-test.js.es6
@@ -0,0 +1,39 @@
+import { acceptance } from "helpers/qunit-helpers";
+
+acceptance("Hamburger Menu");
+
+test("Toggle Menu", (assert) => {
+ visit("/");
+ andThen(() => {
+ assert.ok(exists("#hamburger-menu.slideright"), "hidden by default");
+ });
+
+ click("#toggle-hamburger-menu");
+ andThen(() => {
+ assert.ok(!exists("#hamburger-menu.slideright"), "a click makes it appear");
+ });
+
+ click(".close-hamburger");
+ andThen(() => {
+ assert.ok(exists("#hamburger-menu.slideright"), "clicking the X hides it");
+ });
+});
+
+test("Menu Items", (assert) => {
+ visit("/");
+ click("#toggle-hamburger-menu");
+ andThen(() => {
+ assert.ok(!exists("#hamburger-menu .admin-link"));
+ assert.ok(!exists("#hamburger-menu .flagged-posts-link"));
+
+ assert.ok(exists("#hamburger-menu .latest-topics-link"));
+ assert.ok(exists("#hamburger-menu .badge-link"));
+ assert.ok(exists("#hamburger-menu .user-directory-link"));
+ assert.ok(exists("#hamburger-menu .keyboard-shortcuts-link"));
+ assert.ok(exists("#hamburger-menu .faq-link"));
+ assert.ok(exists("#hamburger-menu .about-link"));
+ assert.ok(exists("#hamburger-menu .categories-link"));
+
+ assert.ok(exists('#hamburger-menu .category-link'));
+ });
+});
diff --git a/test/javascripts/acceptance/header-anonymous-test.js.es6 b/test/javascripts/acceptance/header-anonymous-test.js.es6
index ae6ca34d7c8..6e642b72928 100644
--- a/test/javascripts/acceptance/header-anonymous-test.js.es6
+++ b/test/javascripts/acceptance/header-anonymous-test.js.es6
@@ -7,7 +7,6 @@ test("header", () => {
ok(exists("header"), "is rendered");
ok(exists(".logo-big"), "it renders the large logo by default");
not(exists("#notifications-dropdown li"), "no notifications at first");
- not(exists('#site-map-dropdown'), "no site map by default");
not(exists("#user-dropdown:visible"), "initially user dropdown is closed");
not(exists("#search-dropdown:visible"), "initially search box is closed");
});
@@ -21,14 +20,6 @@ test("header", () => {
ok(exists(".logo-small"), "it shows the small logo when `showExtraInfo` is enabled");
});
- // Site Map
- click("#site-map");
- andThen(() => {
- ok(exists('#site-map-dropdown'), "is rendered after user opens it");
- ok(exists("#site-map-dropdown .faq-link"), "it shows the faq link");
- ok(exists("#site-map-dropdown .category-links"), "has categories correctly bound");
- });
-
// Search
click("#search-button");
andThen(() => {
diff --git a/test/javascripts/acceptance/header-test-staff.js.es6 b/test/javascripts/acceptance/header-test-staff.js.es6
index fb3278ee8b8..5820eb327e7 100644
--- a/test/javascripts/acceptance/header-test-staff.js.es6
+++ b/test/javascripts/acceptance/header-test-staff.js.es6
@@ -13,13 +13,6 @@ test("header", () => {
ok($items.first().hasClass("read"), "correctly binds items' 'read' class");
});
- // Site Map
- click("#site-map");
- andThen(() => {
- ok(exists("#site-map-dropdown .admin-link"), "it has the admin link");
- ok(exists("#site-map-dropdown .flagged-posts.badge-notification"), "it displays flag notifications");
- });
-
// User dropdown
click("#current-user");
andThen(() => {
diff --git a/test/javascripts/acceptance/login-required-test.js.es6 b/test/javascripts/acceptance/login-required-test.js.es6
index c3904b3911e..abdb2eea949 100644
--- a/test/javascripts/acceptance/login-required-test.js.es6
+++ b/test/javascripts/acceptance/login-required-test.js.es6
@@ -37,7 +37,7 @@ test("redirect", () => {
ok(invisible('.login-modal'), "it closes the login modal");
});
- click('#site-map');
+ click('#toggle-hamburger-menu');
andThen(() => {
ok(exists('.login-modal'), "site map opens the login modal");
});
diff --git a/test/javascripts/components/keyboard-shortcuts-test.js.es6 b/test/javascripts/components/keyboard-shortcuts-test.js.es6
index c21b8038c9f..745a8f3c246 100644
--- a/test/javascripts/components/keyboard-shortcuts-test.js.es6
+++ b/test/javascripts/components/keyboard-shortcuts-test.js.es6
@@ -55,7 +55,7 @@ module("lib:keyboard-shortcuts", {
"",
"",
"",
- "",
+ "",
"",
"",
""
diff --git a/test/javascripts/controllers/site-map-category-test.js.es6 b/test/javascripts/controllers/site-map-category-test.js.es6
deleted file mode 100644
index 77cdbf145ba..00000000000
--- a/test/javascripts/controllers/site-map-category-test.js.es6
+++ /dev/null
@@ -1,26 +0,0 @@
-moduleFor("controller:site-map-category", 'controller:site-map-category', {
- needs: ['controller:site-map']
-});
-
-test("showTopicCount anonymous", function() {
- var controller = this.subject();
- ok(controller.get("showTopicCount"), 'true when anonymous');
-});
-
-test("showTopicCount logged in", function() {
- var controller = this.subject({ currentUser: Discourse.User.create() });
- ok(!controller.get("showTopicCount"), 'false when logged in');
-});
-
-test("unreadTotal default", function() {
- var controller = this.subject({ currentUser: Discourse.User.create() });
- ok(!controller.get('unreadTotal'), "empty by default");
-});
-
-test("unreadTotal with values", function() {
- var controller = this.subject({
- currentUser: Discourse.User.create(),
- model: { unreadTopics: 1, newTopics: 3 }
- });
- equal(controller.get('unreadTotal'), 4);
-});
diff --git a/test/javascripts/controllers/site-map-test.js.es6 b/test/javascripts/controllers/site-map-test.js.es6
deleted file mode 100644
index 419ed58ccc3..00000000000
--- a/test/javascripts/controllers/site-map-test.js.es6
+++ /dev/null
@@ -1,77 +0,0 @@
-var oldMobileView;
-
-moduleFor("controller:site-map", "controller:site-map", {
- needs: ['controller:application', 'controller:header'],
-
- setup: function() {
- oldMobileView = Discourse.Mobile.mobileView;
- },
-
- teardown: function() {
- Discourse.Mobile.mobileView = oldMobileView;
- }
-});
-
-test("showAdminLinks", function() {
- const currentUser = Ember.Object.create({ staff: true });
- const controller = this.subject({ currentUser });
- equal(controller.get("showAdminLinks"), true, "is true when current user is a staff member");
-
- currentUser.set("staff", false);
- equal(controller.get("showAdminLinks"), false, "is false when current user is not a staff member");
-});
-
-test("faqUrl returns faq url configured in site settings if it is set", function() {
- Discourse.SiteSettings.faq_url = "faq-url";
- var controller = this.subject();
- equal(controller.get("faqUrl"), "faq-url");
-});
-
-test("faqUrl returns default '/faq' url when there is no corresponding site setting set", function() {
- Discourse.SiteSettings.faq_url = null;
- var controller = this.subject();
- equal(controller.get("faqUrl"), "/faq");
-});
-
-test("showMoblieToggle returns true when mobile theme is enabled in site settings", function() {
- Discourse.SiteSettings.enable_mobile_theme = true;
- Discourse.Mobile.isMobileDevice = true;
- var controller = this.subject();
- controller.capabilities = { touch: true };
- equal(controller.get("showMobileToggle"), true);
-});
-
-test("showMoblieToggle returns false when mobile theme is disabled in site settings", function() {
- Discourse.SiteSettings.enable_mobile_theme = false;
- Discourse.Mobile.isMobileDevice = true;
- var controller = this.subject();
- equal(controller.get("showMobileToggle"), false);
-});
-
-test("mobileViewLinkTextKey returns translation key for a desktop view if the current view is mobile view", function() {
- Discourse.Mobile.mobileView = true;
- var controller = this.subject();
- equal(controller.get("mobileViewLinkTextKey"), "desktop_view");
-});
-
-test("mobileViewLinkTextKey returns translation key for a mobile view if the current view is desktop view", function() {
- Discourse.Mobile.mobileView = false;
- var controller = this.subject();
- equal(controller.get("mobileViewLinkTextKey"), "mobile_view");
-});
-
-test("categories", function() {
- var categoryListStub = ["category1", "category2"];
- sandbox.stub(Discourse.Category, "list").returns(categoryListStub);
-
- var controller = this.subject({ siteSettings: Discourse.SiteSettings });
- deepEqual(controller.get("categories"), categoryListStub, "returns the list of categories");
-});
-
-test("toggleMobleView", function() {
- sandbox.stub(Discourse.Mobile, "toggleMobileView");
-
- var controller = this.subject();
- controller.send("toggleMobileView");
- ok(Discourse.Mobile.toggleMobileView.calledOnce, "switches between desktop and mobile views");
-});
diff --git a/test/javascripts/fixtures/site_fixtures.js.es6 b/test/javascripts/fixtures/site-fixtures.js.es6
similarity index 100%
rename from test/javascripts/fixtures/site_fixtures.js.es6
rename to test/javascripts/fixtures/site-fixtures.js.es6
diff --git a/test/javascripts/helpers/qunit-helpers.js.es6 b/test/javascripts/helpers/qunit-helpers.js.es6
index 153bdb4b85e..4b0207e544e 100644
--- a/test/javascripts/helpers/qunit-helpers.js.es6
+++ b/test/javascripts/helpers/qunit-helpers.js.es6
@@ -1,7 +1,7 @@
/* global asyncTest, fixtures */
import sessionFixtures from 'fixtures/session-fixtures';
-import siteFixtures from 'fixtures/site_fixtures';
+import siteFixtures from 'fixtures/site-fixtures';
import HeaderView from 'discourse/views/header';
function currentUser() {
diff --git a/test/javascripts/helpers/site-settings.js b/test/javascripts/helpers/site-settings.js
index 6f43509e19e..7782c2e4d49 100644
--- a/test/javascripts/helpers/site-settings.js
+++ b/test/javascripts/helpers/site-settings.js
@@ -74,6 +74,7 @@ Discourse.SiteSettingsOriginal = {
"polling_interval":3000,
"anon_polling_interval":30000,
"flush_timings_secs":5,
+ "enable_user_directory":true,
"tos_url":"",
"privacy_policy_url":"",
"tos_accept_required":false,
diff --git a/test/javascripts/test_helper.js b/test/javascripts/test_helper.js
index 533f2286d8c..a7191147d29 100644
--- a/test/javascripts/test_helper.js
+++ b/test/javascripts/test_helper.js
@@ -75,7 +75,7 @@ if (window.Logster) {
var origDebounce = Ember.run.debounce,
createPretendServer = require('helpers/create-pretender', null, null, false).default,
- fixtures = require('fixtures/site_fixtures', null, null, false).default,
+ fixtures = require('fixtures/site-fixtures', null, null, false).default,
flushMap = require('discourse/models/store', null, null, false).flushMap,
ScrollingDOMMethods = require('discourse/mixins/scrolling', null, null, false).ScrollingDOMMethods,
_DiscourseURL = require('discourse/lib/url', null, null, false).default,
diff --git a/vendor/assets/javascripts/jquery.detect_swipe.js b/vendor/assets/javascripts/jquery.detect_swipe.js
new file mode 100644
index 00000000000..946515dcd37
--- /dev/null
+++ b/vendor/assets/javascripts/jquery.detect_swipe.js
@@ -0,0 +1,72 @@
+/**
+ * jquery.detectSwipe v2.1.1
+ * jQuery Plugin to obtain touch gestures from iPhone, iPod Touch, iPad and Android
+ * http://github.com/marcandre/detect_swipe
+ * Based on touchwipe by Andreas Waltl, netCU Internetagentur (http://www.netcu.de)
+ */
+(function($) {
+
+ $.detectSwipe = {
+ version: '2.1.1',
+ enabled: 'ontouchstart' in document.documentElement,
+ preventDefault: true,
+ threshold: 20
+ };
+
+ var startX,
+ startY,
+ isMoving = false;
+
+ function onTouchEnd() {
+ this.removeEventListener('touchmove', onTouchMove);
+ this.removeEventListener('touchend', onTouchEnd);
+ isMoving = false;
+ }
+
+ function onTouchMove(e) {
+ if ($.detectSwipe.preventDefault) { e.preventDefault(); }
+ if(isMoving) {
+ var x = e.touches[0].pageX;
+ var y = e.touches[0].pageY;
+ var dx = startX - x;
+ var dy = startY - y;
+ var dir;
+ if(Math.abs(dx) >= $.detectSwipe.threshold) {
+ dir = dx > 0 ? 'left' : 'right'
+ }
+ else if(Math.abs(dy) >= $.detectSwipe.threshold) {
+ dir = dy > 0 ? 'down' : 'up'
+ }
+ if(dir) {
+ onTouchEnd.call(this);
+ $(this).trigger('swipe', dir).trigger('swipe' + dir);
+ }
+ }
+ }
+
+ function onTouchStart(e) {
+ if (e.touches.length === 1) {
+ startX = e.touches[0].pageX;
+ startY = e.touches[0].pageY;
+ isMoving = true;
+ this.addEventListener('touchmove', onTouchMove, false);
+ this.addEventListener('touchend', onTouchEnd, false);
+ }
+ }
+
+ function setup() {
+ this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);
+ }
+
+ function teardown() {
+ this.removeEventListener('touchstart', onTouchStart);
+ }
+
+ $.event.special.swipe = { setup: setup, teardown: teardown };
+
+ $.each(['left', 'up', 'down', 'right'], function () {
+ $.event.special['swipe' + this] = { setup: function() {
+ $(this).on('swipe', $.noop);
+ } };
+ });
+})(jQuery);