2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-16 20:15:44 +00:00

[PUI] SSO improvments (#8527)

* disable PUI SSO login button if not fully set up
see https://github.com/inventree/InvenTree/issues/7972

* refactor provider urls to also support oidc providers

* cleanup
This commit is contained in:
Matthias Mair
2024-11-24 21:25:39 +01:00
committed by GitHub
parent f6124fc4a1
commit 66a769edca
3 changed files with 145 additions and 110 deletions

View File

@ -1,4 +1,4 @@
import { Button } from '@mantine/core';
import { Button, Tooltip } from '@mantine/core';
import {
IconBrandAzure,
IconBrandBitbucket,
@ -14,6 +14,7 @@ import {
IconLogin
} from '@tabler/icons-react';
import { t } from '@lingui/macro';
import { api } from '../../App';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { apiUrl } from '../../states/ApiState';
@ -49,14 +50,23 @@ export function SsoButton({ provider }: Readonly<{ provider: Provider }>) {
}
return (
<Button
leftSection={getBrandIcon(provider)}
radius='xl'
component='a'
onClick={login}
<Tooltip
label={
provider.login
? t`You will be redirected to the provider for further actions.`
: t`This provider is not full set up.`
}
>
{provider.display_name}{' '}
</Button>
<Button
leftSection={getBrandIcon(provider)}
radius='xl'
component='a'
onClick={login}
disabled={!provider.login}
>
{provider.display_name}
</Button>
</Tooltip>
);
}
function getBrandIcon(provider: Provider) {