6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
37 lines
2.7 KiB
JavaScript
37 lines
2.7 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.App = void 0;
|
|
const react_1 = __importDefault(require("react"));
|
|
const react_router_dom_1 = require("react-router-dom");
|
|
const react_toastify_1 = require("react-toastify");
|
|
const useScrollTopOnNav_1 = require("../hooks/useScrollTopOnNav");
|
|
const useStore_1 = require("../hooks/useStore");
|
|
const Header_1 = require("./Header/Header");
|
|
const Menu_1 = require("./Menu/Menu");
|
|
const QueuePage_1 = require("./QueuePage/QueuePage");
|
|
const RedisStats_1 = require("./RedisStats/RedisStats");
|
|
const App = ({ api }) => {
|
|
var _a, _b, _c, _d, _e;
|
|
useScrollTopOnNav_1.useScrollTopOnNav();
|
|
const { state, actions, selectedStatuses } = useStore_1.useStore(api);
|
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
react_1.default.createElement(Header_1.Header, null, ((_a = state.data) === null || _a === void 0 ? void 0 : _a.stats) && react_1.default.createElement(RedisStats_1.RedisStats, { stats: (_b = state.data) === null || _b === void 0 ? void 0 : _b.stats })),
|
|
react_1.default.createElement("main", null,
|
|
react_1.default.createElement("div", null, state.loading ? ('Loading...') : (react_1.default.createElement(react_router_dom_1.Switch, null,
|
|
react_1.default.createElement(react_router_dom_1.Route, { path: "/queue/:name", render: ({ match: { params } }) => {
|
|
var _a;
|
|
const currentQueueName = decodeURIComponent(params.name);
|
|
const queue = (_a = state.data) === null || _a === void 0 ? void 0 : _a.queues.find((q) => q.name === currentQueueName);
|
|
return (react_1.default.createElement(QueuePage_1.QueuePage, { queue: queue, actions: actions, selectedStatus: selectedStatuses }));
|
|
} }),
|
|
react_1.default.createElement(react_router_dom_1.Route, { path: "/", exact: true }, !!state.data &&
|
|
Array.isArray((_c = state.data) === null || _c === void 0 ? void 0 : _c.queues) &&
|
|
state.data.queues.length > 0 && (react_1.default.createElement(react_router_dom_1.Redirect, { to: `/queue/${encodeURIComponent((_d = state.data) === null || _d === void 0 ? void 0 : _d.queues[0].name)}` }))))))),
|
|
react_1.default.createElement(Menu_1.Menu, { queues: (_e = state.data) === null || _e === void 0 ? void 0 : _e.queues.map((q) => q.name), selectedStatuses: selectedStatuses }),
|
|
react_1.default.createElement(react_toastify_1.ToastContainer, null)));
|
|
};
|
|
exports.App = App;
|
|
//# sourceMappingURL=App.js.map
|