|
@@ -2,6 +2,8 @@ import React from 'react';
|
|
|
|
|
|
|
|
import { useTranslation } from 'next-i18next';
|
|
import { useTranslation } from 'next-i18next';
|
|
|
|
|
|
|
|
|
|
+import { useCurrentUser } from '~/stores-universal/context';
|
|
|
|
|
+
|
|
|
import { AccessTokenSettings } from './AccessTokenSettings';
|
|
import { AccessTokenSettings } from './AccessTokenSettings';
|
|
|
import { ApiTokenSettings } from './ApiTokenSettings';
|
|
import { ApiTokenSettings } from './ApiTokenSettings';
|
|
|
|
|
|
|
@@ -9,6 +11,9 @@ import { ApiTokenSettings } from './ApiTokenSettings';
|
|
|
const ApiSettings = React.memo((): JSX.Element => {
|
|
const ApiSettings = React.memo((): JSX.Element => {
|
|
|
|
|
|
|
|
const { t } = useTranslation();
|
|
const { t } = useTranslation();
|
|
|
|
|
+ const { data: currentUser, isLoading: isLoadingCurrentUserData } = useCurrentUser();
|
|
|
|
|
+
|
|
|
|
|
+ const shouldHideAccessTokenSettings = isLoadingCurrentUserData || !currentUser?.readOnly;
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<>
|
|
<>
|
|
@@ -16,10 +21,13 @@ const ApiSettings = React.memo((): JSX.Element => {
|
|
|
<h2 className="border-bottom pb-2 my-4 fs-4">{ t('API Token Settings') }</h2>
|
|
<h2 className="border-bottom pb-2 my-4 fs-4">{ t('API Token Settings') }</h2>
|
|
|
<ApiTokenSettings />
|
|
<ApiTokenSettings />
|
|
|
</div>
|
|
</div>
|
|
|
- <div className="mt-4">
|
|
|
|
|
- <h2 className="border-bottom pb-2 my-4 fs-4">{ t('Access Token Settings') }</h2>
|
|
|
|
|
- <AccessTokenSettings />
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+
|
|
|
|
|
+ {shouldHideAccessTokenSettings && (
|
|
|
|
|
+ <div className="mt-4">
|
|
|
|
|
+ <h2 className="border-bottom pb-2 my-4 fs-4">{ t('Access Token Settings') }</h2>
|
|
|
|
|
+ <AccessTokenSettings />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ )}
|
|
|
</>
|
|
</>
|
|
|
);
|
|
);
|
|
|
});
|
|
});
|