diff --git a/packages/ui/src/views/Edit/Auth/index.tsx b/packages/ui/src/views/Edit/Auth/index.tsx index 89b9fed06e..aeb925a1a5 100644 --- a/packages/ui/src/views/Edit/Auth/index.tsx +++ b/packages/ui/src/views/Edit/Auth/index.tsx @@ -43,7 +43,6 @@ export const Auth: React.FC = (props) => { const modified = useFormModified() const { i18n, t } = useTranslation() const { docPermissions, isEditing, isInitializing } = useDocumentInfo() - const { config: { routes: { api }, @@ -51,15 +50,11 @@ export const Auth: React.FC = (props) => { }, } = useConfig() - const hasPermissionToUnlock: boolean = useMemo(() => { - const collection = permissions?.collections?.[collectionSlug] + const enableFields = + !disableLocalStrategy || + (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true) - if (collection) { - return Boolean('unlock' in collection ? collection.unlock : undefined) - } - - return false - }, [permissions, collectionSlug]) + const disabled = readOnly || isInitializing const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey @@ -74,6 +69,16 @@ export const Auth: React.FC = (props) => { const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read + const hasPermissionToUnlock: boolean = useMemo(() => { + const collection = permissions?.collections?.[collectionSlug] + + if (collection) { + return Boolean('unlock' in collection ? collection.unlock : undefined) + } + + return false + }, [permissions, collectionSlug]) + const handleChangePassword = useCallback( (showPasswordFields: boolean) => { if (showPasswordFields) { @@ -129,15 +134,13 @@ export const Auth: React.FC = (props) => { } }, [modified]) - if (disableLocalStrategy && !useAPIKey) { + if (disableLocalStrategy && !enableFields && !useAPIKey) { return null } - const disabled = readOnly || isInitializing - return (
- {!disableLocalStrategy && ( + {enableFields && ( = (props) => { readOnly={readOnly} t={t} /> - {(changingPassword || requirePassword) && ( + {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (
= (props) => { {t('general:cancel')} )} - {!changingPassword && !requirePassword && ( + {!changingPassword && !requirePassword && !disableLocalStrategy && (