"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var ApprovalAdmin_module_scss_1 = tslib_1.__importDefault(require("./ApprovalAdmin.module.scss")); var AdminApp_1 = require("./app/AdminApp"); var api_1 = require("../services/api"); var httpClient_1 = require("../services/httpClient"); var FONTS_LINK_ID = 'tnsu-approval-admin-fonts'; function ensureFontsLoaded() { if (typeof document === 'undefined' || document.getElementById(FONTS_LINK_ID)) return; var link = document.createElement('link'); link.id = FONTS_LINK_ID; link.rel = 'stylesheet'; link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lora:wght@500;600;700&display=swap'; document.head.appendChild(link); } function createHttpClient(props) { return tslib_1.__awaiter(this, void 0, void 0, function () { var aadClient; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (props.useDevAuth) { return [2 /*return*/, new httpClient_1.DevApiHttpClient(props.apiBaseUrl, props.devUserEmail || 'dev@tnsu.kz')]; } return [4 /*yield*/, props.context.aadHttpClientFactory.getClient(props.aadResourceId)]; case 1: aadClient = _a.sent(); return [2 /*return*/, new httpClient_1.AadApiHttpClient(aadClient, props.apiBaseUrl)]; } }); }); } var ApprovalAdmin = function (props) { var _a = React.useState(), api = _a[0], setApi = _a[1]; var _b = React.useState(), error = _b[0], setError = _b[1]; React.useEffect(function () { ensureFontsLoaded(); }, []); React.useEffect(function () { var cancelled = false; setApi(undefined); setError(undefined); createHttpClient(props) .then(function (client) { if (!cancelled) setApi(new api_1.ApprovalRouteApi(client)); }) .catch(function (e) { if (!cancelled) setError(e.message); }); return function () { cancelled = true; }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [props.useDevAuth, props.apiBaseUrl, props.devUserEmail, props.aadResourceId]); return (React.createElement("section", { className: ApprovalAdmin_module_scss_1.default.approvalAdmin }, error && (React.createElement("div", { className: ApprovalAdmin_module_scss_1.default.stateBox }, "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043A API: ", error, React.createElement("br", null), "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438 (Api Base Url, \u0440\u0435\u0436\u0438\u043C \u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u0438) \u0432 \u043F\u0430\u043D\u0435\u043B\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A.")), !error && !api && React.createElement("div", { className: ApprovalAdmin_module_scss_1.default.stateBox }, "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A API..."), api && React.createElement(AdminApp_1.AdminApp, { api: api, currentUserEmail: props.context.pageContext.user.email }))); }; exports.default = ApprovalAdmin; //# sourceMappingURL=ApprovalAdmin.js.map