mirror of https://github.com/portainer/portainer
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
![]() |
import { UserId } from '@/portainer/users/types';
|
||
|
import { useCurrentUser, useIsEdgeAdmin } from '@/react/hooks/useUser';
|
||
|
import { CustomTemplate } from '@/react/portainer/templates/custom-templates/types';
|
||
|
|
||
|
import { Link } from '@@/Link';
|
||
|
import { FormError } from '@@/form-components/FormError';
|
||
|
|
||
|
export function TemplateLoadError({
|
||
|
templateId,
|
||
|
creatorId,
|
||
|
}: {
|
||
|
templateId: CustomTemplate['Id'];
|
||
|
creatorId: UserId;
|
||
|
}) {
|
||
|
const { user } = useCurrentUser();
|
||
|
const isEdgeAdminQuery = useIsEdgeAdmin();
|
||
|
|
||
|
if (isEdgeAdminQuery.isLoading) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
const isAdminOrWriter = isEdgeAdminQuery.isAdmin || user.Id === creatorId;
|
||
|
|
||
|
return (
|
||
|
<FormError>
|
||
|
{isAdminOrWriter ? (
|
||
|
<>
|
||
|
Custom template could not be loaded, please{' '}
|
||
|
<Link
|
||
|
to=".edit"
|
||
|
params={{ id: templateId }}
|
||
|
data-cy="edit-custom-template-link"
|
||
|
>
|
||
|
click here
|
||
|
</Link>{' '}
|
||
|
for configuration
|
||
|
</>
|
||
|
) : (
|
||
|
<>
|
||
|
Custom template could not be loaded, please contact your
|
||
|
administrator.
|
||
|
</>
|
||
|
)}
|
||
|
</FormError>
|
||
|
);
|
||
|
}
|