_createInstallActions() {
        let actions = [];
        if (this._nativePlatform) {
            const nativeActions = (this._client.getInstallLinks(this._nativePlatform) || []).map(installLink => {
                return {
                    label: installLink.getDescription(this._nativePlatform),
                    url: installLink.createInstallURL(this._link),
                    kind: installLink.channelId,
                    primary: true,
                    activated: () => this.preferences.setClient(this._client.id, this._nativePlatform),
                };
            });
            actions.push(...nativeActions);
        }
        if (this._webPlatform) {
            const webDeepLink = this._client.getDeepLink(this._webPlatform, this._link);
            if (webDeepLink) {
                const webLabel = this.hasPreferredWebInstance ?
                    `Open on ${this._client.getPreferredWebInstance(this._link)}` :
                    `Continue in your browser`;
                actions.push({
                    label: webLabel,
                    url: webDeepLink,
                    kind: "open-in-web",
                    activated: () => {
                        if (!this.hasPreferredWebInstance) {
                            this.preferences.setClient(this._client.id, this._webPlatform);
                        }
                    },
                });
            }
        }
        return actions;
    }
// these are only shown in the install stage
these are only shown in the install stage
these are only shown in the install stage
_createInstallActions() {
        let actions = [];
        if (this._nativePlatform) {
            const nativeActions = (this._client.getInstallLinks(this._nativePlatform) || []).map(installLink => {
                return {
                    label: installLink.getDescription(this._nativePlatform),
                    url: installLink.createInstallURL(this._link),
                    kind: installLink.channelId,
                    primary: true,
                    activated: () => this.preferences.setClient(this._client.id, this._nativePlatform),
                };
            });
            actions.push(...nativeActions);
        }
        if (this._webPlatform) {
            const webDeepLink = this._client.getDeepLink(this._webPlatform, this._link);
            if (webDeepLink) {
                const webLabel = this.hasPreferredWebInstance ?
                    `Open on ${this._client.getPreferredWebInstance(this._link)}` :
                    `Continue in your browser`;
                actions.push({
                    label: webLabel,
                    url: webDeepLink,
                    kind: "open-in-web",
                    activated: () => {
                        if (!this.hasPreferredWebInstance) {
                            this.preferences.setClient(this._client.id, this._webPlatform);
                        }
                    },
                });
            }
        }
        return actions;
    }
_createInstallActions ( ) { let actions = [ ] ; if ( this . _nativePlatform ) { const nativeActions = ( this . _client . getInstallLinks ( this . _nativePlatform ) || [ ] ) . map ( installLink => { return { label : installLink . getDescription ( this . _nativePlatform ) , url : installLink . createInstallURL ( this . _link ) , kind : installLink . channelId , primary : true , activated : ( ) => this . preferences . setClient ( this . _client . id , this . _nativePlatform ) , } ; } ) ; actions . push ( ... nativeActions ) ; } if ( this . _webPlatform ) { const webDeepLink = this . _client . getDeepLink ( this . _webPlatform , this . _link ) ; if ( webDeepLink ) { const webLabel = this . hasPreferredWebInstance ? ` ${ this . _client . getPreferredWebInstance ( this . _link ) } ` : ` ` ; actions . push ( { label : webLabel , url : webDeepLink , kind : "open-in-web" , activated : ( ) => { if ( ! this . hasPreferredWebInstance ) { this . preferences . setClient ( this . _client . id , this . _webPlatform ) ; } } , } ) ; } } return actions ; }
these are only shown in the install stage
these are only shown in the install stage