Files
tnsu-approval-route/frontend/lib-commonjs/webparts/approvalAdmin/components/ApprovalAdmin.js
T
2026-07-29 12:30:40 +05:00

64 lines
3.5 KiB
JavaScript

"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