Merge pull request #2311 from automatisch/hide-oauth-tab-in-admin-for-unsupported-apps

feat(AdminApplication): hide oauth tab for unsupported apps
This commit is contained in:
Ali BARIN
2025-01-27 16:46:41 +01:00
committed by GitHub

View File

@@ -31,18 +31,22 @@ export default function AdminApplication() {
const matchSmallScreens = useMediaQuery(theme.breakpoints.down('md')); const matchSmallScreens = useMediaQuery(theme.breakpoints.down('md'));
const formatMessage = useFormatMessage(); const formatMessage = useFormatMessage();
const navigate = useNavigate(); const navigate = useNavigate();
const connectionsPathMatch = useMatch({ const connectionsPathMatch = useMatch({
path: URLS.ADMIN_APP_CONNECTIONS_PATTERN, path: URLS.ADMIN_APP_CONNECTIONS_PATTERN,
end: false, end: false,
}); });
const settingsPathMatch = useMatch({ const settingsPathMatch = useMatch({
path: URLS.ADMIN_APP_SETTINGS_PATTERN, path: URLS.ADMIN_APP_SETTINGS_PATTERN,
end: false, end: false,
}); });
const oauthClientsPathMatch = useMatch({ const oauthClientsPathMatch = useMatch({
path: URLS.ADMIN_APP_AUTH_CLIENTS_PATTERN, path: URLS.ADMIN_APP_AUTH_CLIENTS_PATTERN,
end: false, end: false,
}); });
const { appKey } = useParams(); const { appKey } = useParams();
const { data, loading } = useApp(appKey); const { data, loading } = useApp(appKey);
@@ -86,13 +90,16 @@ export default function AdminApplication() {
value={URLS.ADMIN_APP_SETTINGS_PATTERN} value={URLS.ADMIN_APP_SETTINGS_PATTERN}
component={Link} component={Link}
/> />
<Tab
data-test="oauth-clients-tab" {app.supportsOauthClients && (
label={formatMessage('adminApps.oauthClients')} <Tab
to={URLS.ADMIN_APP_AUTH_CLIENTS(appKey)} data-test="oauth-clients-tab"
value={URLS.ADMIN_APP_AUTH_CLIENTS_PATTERN} label={formatMessage('adminApps.oauthClients')}
component={Link} to={URLS.ADMIN_APP_AUTH_CLIENTS(appKey)}
/> value={URLS.ADMIN_APP_AUTH_CLIENTS_PATTERN}
component={Link}
/>
)}
</Tabs> </Tabs>
</Box> </Box>
@@ -101,10 +108,14 @@ export default function AdminApplication() {
path={`/settings/*`} path={`/settings/*`}
element={<AdminApplicationSettings appKey={appKey} />} element={<AdminApplicationSettings appKey={appKey} />}
/> />
<Route
path={`/oauth-clients/*`} {app.supportsOauthClients && (
element={<AdminApplicationOAuthClients appKey={appKey} />} <Route
/> path={`/oauth-clients/*`}
element={<AdminApplicationOAuthClients appKey={appKey} />}
/>
)}
<Route <Route
path="/" path="/"
element={ element={
@@ -116,27 +127,31 @@ export default function AdminApplication() {
</Grid> </Grid>
</Grid> </Grid>
</Container> </Container>
<Routes>
<Route {app.supportsOauthClients && (
path="/oauth-clients/create" <Routes>
element={ <Route
<AdminApplicationCreateOAuthClient path="/oauth-clients/create"
application={app} element={
onClose={goToAuthClientsPage} <AdminApplicationCreateOAuthClient
appKey={appKey} application={app}
/> onClose={goToAuthClientsPage}
} appKey={appKey}
/> />
<Route }
path="/oauth-clients/:clientId" />
element={
<AdminApplicationUpdateOAuthClient <Route
application={app} path="/oauth-clients/:clientId"
onClose={goToAuthClientsPage} element={
/> <AdminApplicationUpdateOAuthClient
} application={app}
/> onClose={goToAuthClientsPage}
</Routes> />
}
/>
</Routes>
)}
</> </>
); );
} }