feat: испытательный срок в подборе, дата приёма по приезду, HR-формы для тестировщиков
Tests / frontend-test (push) Successful in 1m19s
Tests / frontend-test (push) Successful in 1m19s
This commit is contained in:
@@ -16,6 +16,7 @@ export {
|
||||
TextArea,
|
||||
Select,
|
||||
Toggle,
|
||||
Checkbox,
|
||||
CollapseSection,
|
||||
FormActions,
|
||||
FileDropzone,
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
import * as React from 'react';
|
||||
import { isCurrentUserTester } from './ui/SubmitActions/testerGroupAccess';
|
||||
|
||||
/**
|
||||
* Состоит ли текущий пользователь в SharePoint-группе «Тестирование».
|
||||
* undefined — ответ ещё не пришёл: вызывающий сам решает, что показывать на это
|
||||
* время (безопасный дефолт — считать, что не тестировщик). Сбой запроса = false,
|
||||
* чтобы закрытые формы не открылись по ошибке.
|
||||
*/
|
||||
export function useIsTester(): boolean | undefined {
|
||||
const [isTester, setIsTester] = React.useState<boolean | undefined>(undefined);
|
||||
|
||||
React.useEffect(() => {
|
||||
let alive = true;
|
||||
isCurrentUserTester()
|
||||
.then((value) => {
|
||||
if (alive) setIsTester(value);
|
||||
})
|
||||
.catch(() => {
|
||||
if (alive) setIsTester(false);
|
||||
});
|
||||
return () => {
|
||||
alive = false;
|
||||
};
|
||||
}, []);
|
||||
|
||||
return isTester;
|
||||
}
|
||||
Reference in New Issue
Block a user