terriajs
Version:
Geospatial data visualization platform.
40 lines • 2.82 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { observer } from "mobx-react";
import { Component } from "react";
import { withTranslation } from "react-i18next";
import { withTheme } from "styled-components";
import Box from "../../Styled/Box";
import { ExternalLinkIcon } from "../Custom/ExternalLink";
import parseCustomMarkdownToReact from "../Custom/parseCustomMarkdownToReact";
import { withViewState } from "../Context";
import Styles from "./related-maps.scss";
import MenuPanel from "../StandardUserInterface/customizable/MenuPanel";
let RelatedMaps = class RelatedMaps extends Component {
render() {
const t = this.props.t;
const dropdownTheme = {
inner: Styles.dropdownInner,
icon: "gallery"
};
const smallScreen = this.props.viewState.useSmallScreenInterface;
return (
//@ts-expect-error - not yet ready to tackle tsfying MenuPanel
_jsxs(MenuPanel, { theme: dropdownTheme, btnText: t("relatedMaps.buttonText"), smallScreen: smallScreen, viewState: this.props.viewState, btnTitle: t("relatedMaps.buttonTitle"), showDropdownInCenter: true, children: [_jsx("h2", { children: t("relatedMaps.panelHeading") }), _jsx("p", { children: t("relatedMaps.panelText") }), this.props.relatedMaps.map((map, i) => (_jsxs(Box, { flex: true, children: [_jsx(Box, { children: _jsx("a", { target: "_blank", href: map.url, rel: "noreferrer", children: _jsx("img", { style: {
marginRight: "10px",
marginBottom: "10px",
width: "200px",
height: "150px"
}, src: map.imageUrl, alt: map.title }) }) }), _jsxs(Box, { displayInlineBlock: true, children: [_jsxs("a", { target: "_blank", style: { color: this.props.theme.colorPrimary }, href: map.url, rel: "noreferrer", children: [map.title, _jsx(ExternalLinkIcon, {})] }), parseCustomMarkdownToReact(map.description)] })] }, i)))] }));
}
};
RelatedMaps = __decorate([
observer
], RelatedMaps);
export default withTranslation()(withTheme(withViewState(RelatedMaps)));
//# sourceMappingURL=RelatedMaps.js.map