mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
47 lines (46 loc) • 2.3 kB
JavaScript
;
// 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)}`;
});