Merge branch 'hub-redesign' of https://github.com/frappe/erpnext into hub-redesign
diff --git a/erpnext/public/js/hub/PageContainer.vue b/erpnext/public/js/hub/PageContainer.vue
index f213a18..ab270b9 100644
--- a/erpnext/public/js/hub/PageContainer.vue
+++ b/erpnext/public/js/hub/PageContainer.vue
@@ -58,7 +58,6 @@
 		get_current_page() {
 			const curr_route = frappe.get_route_str();
 			let route = Object.keys(route_map).filter(route => route == curr_route)[0];
-
 			if (!route) {
 				// find route by matching it with dynamic part
 				const curr_route_parts = curr_route.split('/');
@@ -70,7 +69,7 @@
 						let weight = 0;
 						route_parts.forEach((part, i) => {
 							const curr_route_part = curr_route_parts[i];
-							if (part === curr_route_part || curr_route_part.includes(':')) {
+							if (part === curr_route_part || part.includes(':')) {
 								weight += 1;
 							}
 						});
@@ -80,12 +79,13 @@
 					}, {});
 
 				// get the route with the highest weight
-				let weight = 0
 				for (let key in weighted_routes) {
 					const route_weight = weighted_routes[key];
-					if (route_weight > weight) {
+					if (route_weight === curr_route_parts.length) {
 						route = key;
-						weight = route_weight;
+						break;
+					} else {
+						route = null;
 					}
 				}
 			}
diff --git a/erpnext/public/js/hub/Sidebar.vue b/erpnext/public/js/hub/Sidebar.vue
index 6728664..7cb436e 100644
--- a/erpnext/public/js/hub/Sidebar.vue
+++ b/erpnext/public/js/hub/Sidebar.vue
@@ -19,7 +19,7 @@
 export default {
 	data() {
 		return {
-			hub_registered: hub.settings.registered,
+			hub_registered: hub.settings.registered && frappe.session.user === hub.settings.company_email,
 			items: [
 				{
 					label: __('Browse'),
diff --git a/erpnext/public/js/hub/marketplace.js b/erpnext/public/js/hub/marketplace.js
index 67ac502..cdf3d23 100644
--- a/erpnext/public/js/hub/marketplace.js
+++ b/erpnext/public/js/hub/marketplace.js
@@ -23,13 +23,14 @@
 		frappe.db.get_doc('Hub Settings')
 		.then(doc => {
 				hub.settings = doc;
-				const is_registered = hub.settings.registered
+				const is_registered = hub.settings.registered;
+				const is_registered_seller = hub.settings.company_email === frappe.session.user;
 				this.setup_header();
 				this.make_sidebar();
 				this.make_body();
 				this.setup_events();
 				this.refresh();
-				if (!is_registered && frappe.user_roles.includes('System Manager')) {
+				if (!is_registered && !is_registered_seller && frappe.user_roles.includes('System Manager')) {
 					this.page.set_primary_action('Become a Seller', this.show_register_dialog.bind(this))
 				}
 			});