UNPKG

matrix-react-sdk

Version:
70 lines (67 loc) 12.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMarker = exports.createMap = void 0; var maplibregl = _interopRequireWildcard(require("maplibre-gl")); var _logger = require("matrix-js-sdk/src/logger"); var _languageHandler = require("../../languageHandler"); var _findMapStyleUrl = require("./findMapStyleUrl"); var _LocationShareErrors = require("./LocationShareErrors"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* Copyright 2024 New Vector Ltd. Copyright 2022 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const createMap = (client, interactive, bodyId, onError) => { try { const styleUrl = (0, _findMapStyleUrl.findMapStyleUrl)(client); const map = new maplibregl.Map({ container: bodyId, style: styleUrl, zoom: 15, interactive, attributionControl: false, locale: { "AttributionControl.ToggleAttribution": (0, _languageHandler._t)("location_sharing|toggle_attribution"), "AttributionControl.MapFeedback": (0, _languageHandler._t)("location_sharing|map_feedback"), "FullscreenControl.Enter": (0, _languageHandler._t)("action|enter_fullscreen"), "FullscreenControl.Exit": (0, _languageHandler._t)("action|exit_fullscreeen"), "GeolocateControl.FindMyLocation": (0, _languageHandler._t)("location_sharing|find_my_location"), "GeolocateControl.LocationNotAvailable": (0, _languageHandler._t)("location_sharing|location_not_available"), "LogoControl.Title": (0, _languageHandler._t)("location_sharing|mapbox_logo"), "NavigationControl.ResetBearing": (0, _languageHandler._t)("location_sharing|reset_bearing"), "NavigationControl.ZoomIn": (0, _languageHandler._t)("action|zoom_in"), "NavigationControl.ZoomOut": (0, _languageHandler._t)("action|zoom_out") } }); map.addControl(new maplibregl.AttributionControl(), "top-right"); map.on("error", e => { _logger.logger.error("Failed to load map: check map_style_url in config.json has a valid URL and API key", e.error); onError?.(new Error(_LocationShareErrors.LocationShareError.MapStyleUrlNotReachable)); }); return map; } catch (e) { _logger.logger.error("Failed to render map", e); const errorMessage = e?.message; if (errorMessage.includes("Failed to initialize WebGL")) throw new Error(_LocationShareErrors.LocationShareError.WebGLNotEnabled); throw e; } }; exports.createMap = createMap; const createMarker = (coords, element) => { const marker = new maplibregl.Marker({ element, anchor: "bottom", offset: [0, -1] }).setLngLat({ lon: coords.longitude, lat: coords.latitude }); return marker; }; exports.createMarker = createMarker; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBsaWJyZWdsIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2xvZ2dlciIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfZmluZE1hcFN0eWxlVXJsIiwiX0xvY2F0aW9uU2hhcmVFcnJvcnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJjcmVhdGVNYXAiLCJjbGllbnQiLCJpbnRlcmFjdGl2ZSIsImJvZHlJZCIsIm9uRXJyb3IiLCJzdHlsZVVybCIsImZpbmRNYXBTdHlsZVVybCIsIm1hcCIsIk1hcCIsImNvbnRhaW5lciIsInN0eWxlIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsImxvY2FsZSIsIl90IiwiYWRkQ29udHJvbCIsIkF0dHJpYnV0aW9uQ29udHJvbCIsIm9uIiwibG9nZ2VyIiwiZXJyb3IiLCJFcnJvciIsIkxvY2F0aW9uU2hhcmVFcnJvciIsIk1hcFN0eWxlVXJsTm90UmVhY2hhYmxlIiwiZXJyb3JNZXNzYWdlIiwibWVzc2FnZSIsImluY2x1ZGVzIiwiV2ViR0xOb3RFbmFibGVkIiwiZXhwb3J0cyIsImNyZWF0ZU1hcmtlciIsImNvb3JkcyIsImVsZW1lbnQiLCJtYXJrZXIiLCJNYXJrZXIiLCJhbmNob3IiLCJvZmZzZXQiLCJzZXRMbmdMYXQiLCJsb24iLCJsb25naXR1ZGUiLCJsYXQiLCJsYXRpdHVkZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9sb2NhdGlvbi9tYXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0ICogYXMgbWFwbGlicmVnbCBmcm9tIFwibWFwbGlicmUtZ2xcIjtcbmltcG9ydCB7IE1hdHJpeENsaWVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9sb2dnZXJcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgeyBmaW5kTWFwU3R5bGVVcmwgfSBmcm9tIFwiLi9maW5kTWFwU3R5bGVVcmxcIjtcbmltcG9ydCB7IExvY2F0aW9uU2hhcmVFcnJvciB9IGZyb20gXCIuL0xvY2F0aW9uU2hhcmVFcnJvcnNcIjtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hcCA9IChcbiAgICBjbGllbnQ6IE1hdHJpeENsaWVudCxcbiAgICBpbnRlcmFjdGl2ZTogYm9vbGVhbixcbiAgICBib2R5SWQ6IHN0cmluZyxcbiAgICBvbkVycm9yPzogKGVycm9yOiBFcnJvcikgPT4gdm9pZCxcbik6IG1hcGxpYnJlZ2wuTWFwID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBzdHlsZVVybCA9IGZpbmRNYXBTdHlsZVVybChjbGllbnQpO1xuXG4gICAgICAgIGNvbnN0IG1hcCA9IG5ldyBtYXBsaWJyZWdsLk1hcCh7XG4gICAgICAgICAgICBjb250YWluZXI6IGJvZHlJZCxcbiAgICAgICAgICAgIHN0eWxlOiBzdHlsZVVybCxcbiAgICAgICAgICAgIHpvb206IDE1LFxuICAgICAgICAgICAgaW50ZXJhY3RpdmUsXG4gICAgICAgICAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgbG9jYWxlOiB7XG4gICAgICAgICAgICAgICAgXCJBdHRyaWJ1dGlvbkNvbnRyb2wuVG9nZ2xlQXR0cmlidXRpb25cIjogX3QoXCJsb2NhdGlvbl9zaGFyaW5nfHRvZ2dsZV9hdHRyaWJ1dGlvblwiKSxcbiAgICAgICAgICAgICAgICBcIkF0dHJpYnV0aW9uQ29udHJvbC5NYXBGZWVkYmFja1wiOiBfdChcImxvY2F0aW9uX3NoYXJpbmd8bWFwX2ZlZWRiYWNrXCIpLFxuICAgICAgICAgICAgICAgIFwiRnVsbHNjcmVlbkNvbnRyb2wuRW50ZXJcIjogX3QoXCJhY3Rpb258ZW50ZXJfZnVsbHNjcmVlblwiKSxcbiAgICAgICAgICAgICAgICBcIkZ1bGxzY3JlZW5Db250cm9sLkV4aXRcIjogX3QoXCJhY3Rpb258ZXhpdF9mdWxsc2NyZWVlblwiKSxcbiAgICAgICAgICAgICAgICBcIkdlb2xvY2F0ZUNvbnRyb2wuRmluZE15TG9jYXRpb25cIjogX3QoXCJsb2NhdGlvbl9zaGFyaW5nfGZpbmRfbXlfbG9jYXRpb25cIiksXG4gICAgICAgICAgICAgICAgXCJHZW9sb2NhdGVDb250cm9sLkxvY2F0aW9uTm90QXZhaWxhYmxlXCI6IF90KFwibG9jYXRpb25fc2hhcmluZ3xsb2NhdGlvbl9ub3RfYXZhaWxhYmxlXCIpLFxuICAgICAgICAgICAgICAgIFwiTG9nb0NvbnRyb2wuVGl0bGVcIjogX3QoXCJsb2NhdGlvbl9zaGFyaW5nfG1hcGJveF9sb2dvXCIpLFxuICAgICAgICAgICAgICAgIFwiTmF2aWdhdGlvbkNvbnRyb2wuUmVzZXRCZWFyaW5nXCI6IF90KFwibG9jYXRpb25fc2hhcmluZ3xyZXNldF9iZWFyaW5nXCIpLFxuICAgICAgICAgICAgICAgIFwiTmF2aWdhdGlvbkNvbnRyb2wuWm9vbUluXCI6IF90KFwiYWN0aW9ufHpvb21faW5cIiksXG4gICAgICAgICAgICAgICAgXCJOYXZpZ2F0aW9uQ29udHJvbC5ab29tT3V0XCI6IF90KFwiYWN0aW9ufHpvb21fb3V0XCIpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIG1hcC5hZGRDb250cm9sKG5ldyBtYXBsaWJyZWdsLkF0dHJpYnV0aW9uQ29udHJvbCgpLCBcInRvcC1yaWdodFwiKTtcblxuICAgICAgICBtYXAub24oXCJlcnJvclwiLCAoZSkgPT4ge1xuICAgICAgICAgICAgbG9nZ2VyLmVycm9yKFwiRmFpbGVkIHRvIGxvYWQgbWFwOiBjaGVjayBtYXBfc3R5bGVfdXJsIGluIGNvbmZpZy5qc29uIGhhcyBhIHZhbGlkIFVSTCBhbmQgQVBJIGtleVwiLCBlLmVycm9yKTtcbiAgICAgICAgICAgIG9uRXJyb3I/LihuZXcgRXJyb3IoTG9jYXRpb25TaGFyZUVycm9yLk1hcFN0eWxlVXJsTm90UmVhY2hhYmxlKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2dnZXIuZXJyb3IoXCJGYWlsZWQgdG8gcmVuZGVyIG1hcFwiLCBlKTtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gKGUgYXMgRXJyb3IpPy5tZXNzYWdlO1xuICAgICAgICBpZiAoZXJyb3JNZXNzYWdlLmluY2x1ZGVzKFwiRmFpbGVkIHRvIGluaXRpYWxpemUgV2ViR0xcIikpIHRocm93IG5ldyBFcnJvcihMb2NhdGlvblNoYXJlRXJyb3IuV2ViR0xOb3RFbmFibGVkKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFya2VyID0gKGNvb3JkczogR2VvbG9jYXRpb25Db29yZGluYXRlcywgZWxlbWVudDogSFRNTEVsZW1lbnQpOiBtYXBsaWJyZWdsLk1hcmtlciA9PiB7XG4gICAgY29uc3QgbWFya2VyID0gbmV3IG1hcGxpYnJlZ2wuTWFya2VyKHtcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgYW5jaG9yOiBcImJvdHRvbVwiLFxuICAgICAgICBvZmZzZXQ6IFswLCAtMV0sXG4gICAgfSkuc2V0TG5nTGF0KHsgbG9uOiBjb29yZHMubG9uZ2l0dWRlLCBsYXQ6IGNvb3Jkcy5sYXRpdHVkZSB9KTtcbiAgICByZXR1cm4gbWFya2VyO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBUUEsSUFBQUEsVUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBSixPQUFBO0FBQTJELFNBQUFLLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFQLHdCQUFBTyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsV0FBQUssT0FBQSxFQUFBTCxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsQ0FBQUgsT0FBQSxHQUFBTCxDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQWQzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFVTyxNQUFNVyxTQUFTLEdBQUdBLENBQ3JCQyxNQUFvQixFQUNwQkMsV0FBb0IsRUFDcEJDLE1BQWMsRUFDZEMsT0FBZ0MsS0FDZjtFQUNqQixJQUFJO0lBQ0EsTUFBTUMsUUFBUSxHQUFHLElBQUFDLGdDQUFlLEVBQUNMLE1BQU0sQ0FBQztJQUV4QyxNQUFNTSxHQUFHLEdBQUcsSUFBSWxDLFVBQVUsQ0FBQ21DLEdBQUcsQ0FBQztNQUMzQkMsU0FBUyxFQUFFTixNQUFNO01BQ2pCTyxLQUFLLEVBQUVMLFFBQVE7TUFDZk0sSUFBSSxFQUFFLEVBQUU7TUFDUlQsV0FBVztNQUNYVSxrQkFBa0IsRUFBRSxLQUFLO01BQ3pCQyxNQUFNLEVBQUU7UUFDSixzQ0FBc0MsRUFBRSxJQUFBQyxtQkFBRSxFQUFDLHFDQUFxQyxDQUFDO1FBQ2pGLGdDQUFnQyxFQUFFLElBQUFBLG1CQUFFLEVBQUMsK0JBQStCLENBQUM7UUFDckUseUJBQXlCLEVBQUUsSUFBQUEsbUJBQUUsRUFBQyx5QkFBeUIsQ0FBQztRQUN4RCx3QkFBd0IsRUFBRSxJQUFBQSxtQkFBRSxFQUFDLHlCQUF5QixDQUFDO1FBQ3ZELGlDQUFpQyxFQUFFLElBQUFBLG1CQUFFLEVBQUMsbUNBQW1DLENBQUM7UUFDMUUsdUNBQXVDLEVBQUUsSUFBQUEsbUJBQUUsRUFBQyx5Q0FBeUMsQ0FBQztRQUN0RixtQkFBbUIsRUFBRSxJQUFBQSxtQkFBRSxFQUFDLDhCQUE4QixDQUFDO1FBQ3ZELGdDQUFnQyxFQUFFLElBQUFBLG1CQUFFLEVBQUMsZ0NBQWdDLENBQUM7UUFDdEUsMEJBQTBCLEVBQUUsSUFBQUEsbUJBQUUsRUFBQyxnQkFBZ0IsQ0FBQztRQUNoRCwyQkFBMkIsRUFBRSxJQUFBQSxtQkFBRSxFQUFDLGlCQUFpQjtNQUNyRDtJQUNKLENBQUMsQ0FBQztJQUNGUCxHQUFHLENBQUNRLFVBQVUsQ0FBQyxJQUFJMUMsVUFBVSxDQUFDMkMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUVoRVQsR0FBRyxDQUFDVSxFQUFFLENBQUMsT0FBTyxFQUFHcEMsQ0FBQyxJQUFLO01BQ25CcUMsY0FBTSxDQUFDQyxLQUFLLENBQUMsb0ZBQW9GLEVBQUV0QyxDQUFDLENBQUNzQyxLQUFLLENBQUM7TUFDM0dmLE9BQU8sR0FBRyxJQUFJZ0IsS0FBSyxDQUFDQyx1Q0FBa0IsQ0FBQ0MsdUJBQXVCLENBQUMsQ0FBQztJQUNwRSxDQUFDLENBQUM7SUFFRixPQUFPZixHQUFHO0VBQ2QsQ0FBQyxDQUFDLE9BQU8xQixDQUFDLEVBQUU7SUFDUnFDLGNBQU0sQ0FBQ0MsS0FBSyxDQUFDLHNCQUFzQixFQUFFdEMsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0wQyxZQUFZLEdBQUkxQyxDQUFDLEVBQVkyQyxPQUFPO0lBQzFDLElBQUlELFlBQVksQ0FBQ0UsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsTUFBTSxJQUFJTCxLQUFLLENBQUNDLHVDQUFrQixDQUFDSyxlQUFlLENBQUM7SUFDNUcsTUFBTTdDLENBQUM7RUFDWDtBQUNKLENBQUM7QUFBQzhDLE9BQUEsQ0FBQTNCLFNBQUEsR0FBQUEsU0FBQTtBQUVLLE1BQU00QixZQUFZLEdBQUdBLENBQUNDLE1BQThCLEVBQUVDLE9BQW9CLEtBQXdCO0VBQ3JHLE1BQU1DLE1BQU0sR0FBRyxJQUFJMUQsVUFBVSxDQUFDMkQsTUFBTSxDQUFDO0lBQ2pDRixPQUFPO0lBQ1BHLE1BQU0sRUFBRSxRQUFRO0lBQ2hCQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ2xCLENBQUMsQ0FBQyxDQUFDQyxTQUFTLENBQUM7SUFBRUMsR0FBRyxFQUFFUCxNQUFNLENBQUNRLFNBQVM7SUFBRUMsR0FBRyxFQUFFVCxNQUFNLENBQUNVO0VBQVMsQ0FBQyxDQUFDO0VBQzdELE9BQU9SLE1BQU07QUFDakIsQ0FBQztBQUFDSixPQUFBLENBQUFDLFlBQUEsR0FBQUEsWUFBQSIsImlnbm9yZUxpc3QiOltdfQ==