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 ( <> +