feat(extension-banner) Show edge extension when edge browser detected

This commit is contained in:
hmuresan 2022-06-16 09:55:30 +03:00 committed by Horatiu Muresan
parent 06d0cbd418
commit 1ee9f6a7e5
3 changed files with 16 additions and 3 deletions

View File

@ -949,12 +949,18 @@ var config = {
// chromeExtensionBanner: { // chromeExtensionBanner: {
// // The chrome extension to be installed address // // The chrome extension to be installed address
// url: 'https://chrome.google.com/webstore/detail/jitsi-meetings/kglhbbefdnlheedjiejgomgmfplipfeb', // url: 'https://chrome.google.com/webstore/detail/jitsi-meetings/kglhbbefdnlheedjiejgomgmfplipfeb',
// edgeUrl: 'https://microsoftedge.microsoft.com/addons/detail/jitsi-meetings/eeecajlpbgjppibfledfihobcabccihn',
// // Extensions info which allows checking if they are installed or not // // Extensions info which allows checking if they are installed or not
// chromeExtensionsInfo: [ // chromeExtensionsInfo: [
// { // {
// id: 'kglhbbefdnlheedjiejgomgmfplipfeb', // id: 'kglhbbefdnlheedjiejgomgmfplipfeb',
// path: 'jitsi-logo-48x48.png' // path: 'jitsi-logo-48x48.png'
// },
// // Edge extension info
// {
// id: 'eeecajlpbgjppibfledfihobcabccihn',
// path: 'jitsi-logo-48x48.png'
// } // }
// ] // ]
// }, // },

View File

@ -116,6 +116,7 @@
}, },
"chromeExtensionBanner": { "chromeExtensionBanner": {
"buttonText": "Install Chrome Extension", "buttonText": "Install Chrome Extension",
"buttonTextEdge": "Install Edge Extension",
"close": "Close", "close": "Close",
"dontShowAgain": "Dont show me this again", "dontShowAgain": "Dont show me this again",
"installExtensionText": "Install the extension for Google Calendar and Office 365 integration" "installExtensionText": "Install the extension for Google Calendar and Office 365 integration"

View File

@ -104,6 +104,7 @@ class ChromeExtensionBanner extends PureComponent<Props, State> {
shouldShow: false shouldShow: false
}; };
this.isEdge = /Edg(e)?/.test(navigator.userAgent);
this._onClosePressed = this._onClosePressed.bind(this); this._onClosePressed = this._onClosePressed.bind(this);
this._onInstallExtensionClick = this._onInstallExtensionClick.bind(this); this._onInstallExtensionClick = this._onInstallExtensionClick.bind(this);
this._shouldNotRender = this._shouldNotRender.bind(this); this._shouldNotRender = this._shouldNotRender.bind(this);
@ -196,8 +197,10 @@ class ChromeExtensionBanner extends PureComponent<Props, State> {
* @returns {void} * @returns {void}
*/ */
_onInstallExtensionClick() { _onInstallExtensionClick() {
const { edgeUrl, url } = this.props.bannerCfg;
sendAnalytics(createChromeExtensionBannerEvent(true)); sendAnalytics(createChromeExtensionBannerEvent(true));
window.open(this.props.bannerCfg.url); window.open(this.isEdge && edgeUrl ? edgeUrl : url);
this.setState({ closePressed: true }); this.setState({ closePressed: true });
} }
@ -264,7 +267,7 @@ class ChromeExtensionBanner extends PureComponent<Props, State> {
return null; return null;
} }
const { t } = this.props; const { bannerCfg, t } = this.props;
const mainClassNames = this.props.conference const mainClassNames = this.props.conference
? 'chrome-extension-banner chrome-extension-banner__pos_in_meeting' ? 'chrome-extension-banner chrome-extension-banner__pos_in_meeting'
: 'chrome-extension-banner'; : 'chrome-extension-banner';
@ -306,7 +309,10 @@ class ChromeExtensionBanner extends PureComponent<Props, State> {
<div <div
className = 'chrome-extension-banner__button-text' className = 'chrome-extension-banner__button-text'
id = 'chrome-extension-banner__button-text'> id = 'chrome-extension-banner__button-text'>
{ t('chromeExtensionBanner.buttonText') } { t(this.isEdge && bannerCfg.edgeUrl
? 'chromeExtensionBanner.buttonTextEdge'
: 'chromeExtensionBanner.buttonText')
}
</div> </div>
</div> </div>
</div> </div>