diff --git a/Plan/react/dashboard/src/components/navigation/MainPageRedirect.js b/Plan/react/dashboard/src/components/navigation/MainPageRedirect.js
index b3028215c..ac9f25da9 100644
--- a/Plan/react/dashboard/src/components/navigation/MainPageRedirect.js
+++ b/Plan/react/dashboard/src/components/navigation/MainPageRedirect.js
@@ -62,12 +62,11 @@ const MainPageRedirect = () => {
return
}
- const server = staticSite ? serverUUID : encodeURIComponent(serverName);
const redirectBasedOnPermissions = () => {
if (isProxy && user.permissions.includes('page.network')) {
return ()
} else if (user.permissions.includes('page.server')) {
- return ()
} else if (user.permissions.includes('page.player.other')) {
return ()
@@ -82,7 +81,7 @@ const MainPageRedirect = () => {
return redirectBasedOnPermissions();
} else {
return ()
}
}
diff --git a/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js b/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js
index 61a5d7d52..f8267f415 100644
--- a/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js
+++ b/Plan/react/dashboard/src/components/navigation/PageNavigationItem.js
@@ -18,8 +18,9 @@ const PageNavigationItem = ({page}) => {
useEffect(() => {
if (networkMetadata) {
+ const hasProxy = networkMetadata.servers.filter(server => server.proxy).length
+
let newItems = [
- {id: 'network', displayName: t('html.label.network'), href: "/network", permission: 'page.network'},
{id: 'players', displayName: t('html.label.players'), href: "/players", permission: 'page.players'},
{
id: 'query',
@@ -39,12 +40,19 @@ const PageNavigationItem = ({page}) => {
})
];
+ if (hasProxy) {
+ newItems.unshift({
+ id: 'network',
+ displayName: t('html.label.network'),
+ href: "/network",
+ permission: 'page.network'
+ });
+ }
if (page) {
newItems.unshift({id: 'page', displayName: page, href: location.pathname, permission: undefined})
}
-
if (authRequired && loggedIn) {
- newItems = newItems.filter(item => item.permission && user.permissions.includes(item.permission))
+ newItems = newItems.filter(item => !item.permission || user.permissions.includes(item.permission))
}
setItems(newItems);
setCurrentPage(newItems.find(item => location.pathname.startsWith(item.href))?.id);
@@ -56,7 +64,7 @@ const PageNavigationItem = ({page}) => {
navigate(items.find(item => item.id === selected).href);
}
- if (!currentPage || !items.length) {
+ if (!items.length) {
return {
aria-label="Page selector"
className="form-select form-select-sm scrollbar"
id="pageSelector"
- defaultValue={currentPage}>
+ defaultValue={currentPage ? currentPage : items[0].id}>
{items.map((item, i) =>
- )}
+ )}
diff --git a/Plan/react/dashboard/src/hooks/metadataHook.js b/Plan/react/dashboard/src/hooks/metadataHook.js
index 69222a8c8..4bc9507fb 100644
--- a/Plan/react/dashboard/src/hooks/metadataHook.js
+++ b/Plan/react/dashboard/src/hooks/metadataHook.js
@@ -13,11 +13,9 @@ export const MetadataContextProvider = ({children}) => {
const {data, error} = await fetchPlanMetadata();
if (data) {
setMetadata(data);
- if (data.isProxy) {
- const {data: networkMetadata} = await fetchNetworkMetadata(); // error ignored
- if (networkMetadata) {
- setMetadata({...data, networkMetadata})
- }
+ const {data: networkMetadata} = await fetchNetworkMetadata(); // error ignored
+ if (networkMetadata) {
+ setMetadata({...data, networkMetadata})
}
} else if (error) {
setMetadata({metadataError: error})
diff --git a/Plan/react/dashboard/src/views/layout/LoginPage.js b/Plan/react/dashboard/src/views/layout/LoginPage.js
index 40cdd3e79..b0e830f38 100644
--- a/Plan/react/dashboard/src/views/layout/LoginPage.js
+++ b/Plan/react/dashboard/src/views/layout/LoginPage.js
@@ -188,6 +188,7 @@ const LoginPage = () => {
return (
<>
+
diff --git a/Plan/react/dashboard/src/views/layout/RegisterPage.js b/Plan/react/dashboard/src/views/layout/RegisterPage.js
index 0ad466c87..65e17b044 100644
--- a/Plan/react/dashboard/src/views/layout/RegisterPage.js
+++ b/Plan/react/dashboard/src/views/layout/RegisterPage.js
@@ -171,6 +171,7 @@ const RegisterPage = () => {
return (
<>
+