UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

47 lines (46 loc) 2.3 kB
"use strict"; // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.getSystemInfoMailtoLink = void 0; exports.getReportAProblemLink = getReportAProblemLink; const create_selector_1 = require("mattermost-redux/selectors/create_selector"); const browser_info_1 = require("mattermost-redux/utils/browser_info"); const general_1 = require("./general"); const teams_1 = require("./teams"); const users_1 = require("./users"); function getReportAProblemLink(state) { const config = (0, general_1.getConfig)(state); const type = config.ReportAProblemType; switch (type) { case 'email': return (0, exports.getSystemInfoMailtoLink)(state, config.ReportAProblemMail); case 'link': if (config.ReportAProblemLink) { return config.ReportAProblemLink; } // falls through case 'default': { const isLicensed = (0, general_1.getLicense)(state).IsLicensed === 'true'; if (isLicensed) { return 'https://mattermost.com/pl/report_a_problem_licensed'; } return 'https://mattermost.com/pl/report_a_problem_unlicensed'; } } return ''; } exports.getSystemInfoMailtoLink = (0, create_selector_1.createSelector)('getSystemInfoMailtoLink', users_1.getCurrentUserId, teams_1.getCurrentTeamId, (state) => (0, general_1.getConfig)(state).Version, (state) => (0, general_1.getConfig)(state).BuildNumber, (state) => (0, general_1.getConfig)(state).SiteName, (state, supportEmail) => supportEmail, (currentUserId, currentTeamId, version, buildNumber, siteName, supportEmail) => { const { browser, browserVersion } = (0, browser_info_1.getBrowserInfo)(); const platformName = (0, browser_info_1.getPlatformInfo)(); const subject = `Problem with ${siteName || 'Mattermost'} app`; const body = ` System Information: - User ID: ${currentUserId} - Team ID: ${currentTeamId} - Server Version: ${version} (${buildNumber}) - Browser: ${browser} ${browserVersion} - Platform: ${platformName} `.trim(); return `mailto:${supportEmail || ''}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`; });