@redocly/theme
Version:
Shared UI components lib
92 lines (91 loc) • 4.25 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.OIDCForbidden = OIDCForbidden;
const react_1 = __importStar(require("react"));
const styled_components_1 = __importDefault(require("styled-components"));
const react_router_dom_1 = require("react-router-dom");
const hooks_1 = require("../core/hooks");
function OIDCForbidden() {
const { useTranslate } = (0, hooks_1.useThemeHooks)();
const { translate } = useTranslate();
const [searchParams, setSearchParams] = (0, react_router_dom_1.useSearchParams)();
const [errorDescription, setErrorDescription] = (0, react_1.useState)('');
// use whatever you want here
const URL_REGEX = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
const renderText = (text) => text.split(' ').map((part) => URL_REGEX.test(part) ? (react_1.default.createElement(ErrorDescriptionLink, { key: part, href: part },
part,
' ')) : (part + ' '));
(0, react_1.useEffect)(() => {
if (Array.from(searchParams).length) {
setErrorDescription(searchParams.get('error_description') || searchParams.get('error') || '');
setSearchParams({});
}
}, [searchParams, setSearchParams]);
return (react_1.default.createElement(Wrapper, { "data-component-name": "Pages/OIDCForbidden" },
react_1.default.createElement(Header, null, "403"),
react_1.default.createElement(Description, { "data-translation-key": "page.forbidden.title" }, translate('page.forbidden.title', 'Access forbidden')),
errorDescription && react_1.default.createElement(ErrorDescription, null, renderText(errorDescription))));
}
const Wrapper = styled_components_1.default.div `
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 25px auto;
font-family: var(--page-403-font-family);
text-align: center;
`;
const Header = styled_components_1.default.div `
color: var(--page-403-header-text-color);
margin: var(--page-403-header-margin);
font-size: var(--page-403-header-font-size);
line-height: var(--page-403-header-line-height);
font-weight: var(--page-403-header-font-weight);
`;
const Description = styled_components_1.default.div `
color: var(--page-403-description-text-color);
margin: var(--page-403-description-margin);
font-size: var(--page-403-description-font-size);
line-height: var(--page-403-description-line-height);
font-weight: var(--page-403-description-font-weight);
`;
const ErrorDescription = styled_components_1.default.div `
margin: var(--page-403-oidc-description-margin);
font-size: var(--page-403-oidc-description-font-size);
color: var(--page-403-description-text-color);
line-height: var(--page-403-description-line-height);
font-weight: var(--page-403-description-font-weight);
`;
const ErrorDescriptionLink = styled_components_1.default.a `
color: var(--link-color-primary);
&:hover {
color: var(--link-color-primary-hover);
}
`;
//# sourceMappingURL=OIDCForbidden.js.map