правка
This commit is contained in:
gofnnp 2023-01-13 03:02:49 +04:00
parent 88b0d92300
commit c71e2d4c48
3 changed files with 48 additions and 23 deletions

View File

@ -19,33 +19,54 @@ export class DownloadAppDirective implements OnInit {
public renderer: Renderer2, public renderer: Renderer2,
private el: ElementRef private el: ElementRef
) { ) {
setTimeout(() => { // setTimeout(() => {
this.renderer.listen('window', 'beforeinstallprompt', (e) => { // this.renderer.listen('window', 'beforeinstallprompt', (e) => {
e.preventDefault(); // e.preventDefault();
console.log('#: ', e); // console.log('#: ', e);
this.deferredPrompt = e; // this.deferredPrompt = e;
// });
// this.renderer.listen('window', 'appinstalled', (evt) => {
// console.log('INSTALLED!!!');
// });
// this.getTypeDevice();
// }, 0);
// if (
// (this.deviceType == 'android' && this.deferredPrompt) ||
// this.deviceType == 'ios'
// ) {
// console.log(this.deviceType);
// console.log(this.deferredPrompt);
}); // this.el.nativeElement.style.display = 'block';
this.renderer.listen('window', 'appinstalled', (evt) => { // }
console.log('INSTALLED!!!'); }
});
this.getTypeDevice();
}, 0) ngOnInit(): void {
if ( this.getTypeDevice()
!( if (this.deviceType === 'ios') {
(this.deviceType == 'android' && this.deferredPrompt) || this.el.nativeElement.style.display = 'block';
this.deviceType == 'ios' }
) }
) {
console.log(this.deviceType); @HostListener('window:beforeinstallprompt', ['$event'])
console.log(this.deferredPrompt); onBeforeInstallPrompt(e: any) {
console.log(e);
this.el.nativeElement.style.display = 'none'; e.preventDefault();
this.deferredPrompt = e;
}
@HostListener('window:appinstalled', ['$event'])
onAppInstalled(e: any) {
console.log(e);
// Prevent Chrome 67 and earlier from automatically showing the prompt
e.preventDefault();
// Stash the event so it can be triggered later.
this.deferredPrompt = e;
if (this.deferredPrompt) {
this.el.nativeElement.style.display = 'block';
} }
} }
ngOnInit(): void {}
getTypeDevice() { getTypeDevice() {
const userAgent = window.navigator.userAgent.toLowerCase(); const userAgent = window.navigator.userAgent.toLowerCase();

View File

@ -57,7 +57,7 @@
</li> </li>
</ng-container> </ng-container>
<li <li
class="woocommerce-MyAccount-navigation-link" class="woocommerce-MyAccount-navigation-link download-app"
appDownloadApp appDownloadApp
> >
<div class="container"> <div class="container">

View File

@ -44,6 +44,10 @@
// border-radius: 7px 0 0 7px; // border-radius: 7px 0 0 7px;
} }
&.download-app {
display: none;
}
.container { .container {
display: flex; display: flex;
align-items: center; align-items: center;