@@ -16,10 +16,12 @@ import { fromEvent, Observable, Subscription } from 'rxjs';
16
16
<div class="p-4">
17
17
<div class="flex items-start">
18
18
<div class="flex-shrink-0">
19
- <!-- Heroicon name: outline/check-circle -->
20
19
<svg
21
20
class="h-6 w-6"
22
- [ngClass]="{'text-green-400': networkStatus === 'online', 'text-red-400': networkStatus === 'offline'}"
21
+ [ngClass]="{
22
+ 'text-green-400': networkStatus === 'online',
23
+ 'text-red-400': networkStatus === 'offline'
24
+ }"
23
25
xmlns="http://www.w3.org/2000/svg"
24
26
fill="none"
25
27
viewBox="0 0 24 24"
@@ -38,15 +40,7 @@ import { fromEvent, Observable, Subscription } from 'rxjs';
38
40
stroke-linejoin="round" />
39
41
</svg>
40
42
</div>
41
- <div *ngIf="networkStatus === 'online'" class="ml-3 w-0 flex-1 pt-0.5">
42
- <p class="text-sm font-medium text-slate-900 capitalize">
43
- {{ networkStatus }}
44
- </p>
45
- <p class="mt-1 text-sm text-slate-500">
46
- {{ networkStatusMessage }}
47
- </p>
48
- </div>
49
- <div *ngIf="networkStatus === 'offline'" class="ml-3 w-0 flex-1 pt-0.5">
43
+ <div class="ml-3 w-0 flex-1 pt-0.5">
50
44
<p class="text-sm font-medium text-slate-900 capitalize">
51
45
{{ networkStatus }}
52
46
</p>
@@ -63,53 +57,50 @@ import { fromEvent, Observable, Subscription } from 'rxjs';
63
57
animations : [
64
58
trigger ( 'showHideNotification' , [
65
59
transition ( 'void => *' , [
66
- style ( { transform : " translateX(0.5rem)" , opacity : 0 } ) ,
67
- animate ( 300 , style ( { transform : " translateX(0)" , opacity : 1 } ) )
60
+ style ( { transform : ' translateX(0.5rem)' , opacity : 0 } ) ,
61
+ animate ( 300 , style ( { transform : ' translateX(0)' , opacity : 1 } ) ) ,
68
62
] ) ,
69
- transition ( '* => void' , [
70
- animate ( 100 , style ( { opacity : 0 } ) )
71
- ] )
63
+ transition ( '* => void' , [ animate ( 100 , style ( { opacity : 0 } ) ) ] ) ,
72
64
] ) ,
73
65
] ,
74
66
} )
75
67
export class NetworkStatusComponent implements OnInit {
76
68
networkStatusMessage ! : string ;
77
69
networkStatus ! : string ;
78
-
79
- onlineEvent ! : Observable < Event > ;
80
- offlineEvent ! : Observable < Event > ;
81
70
subscriptions : Subscription [ ] = [ ] ;
82
-
83
71
showNetworkStatus ! : boolean ;
84
72
73
+ onlineEvent$ ! : Observable < Event > ;
74
+ offlineEvent$ ! : Observable < Event > ;
75
+
85
76
ngOnInit ( ) {
86
77
this . networkStatusChecker ( ) ;
87
78
}
88
79
89
- showHideNetworkStatus ( ) {
80
+ toggleNetworkStatus ( ) : void {
90
81
this . showNetworkStatus = true ;
91
82
setTimeout ( ( ) => {
92
83
this . showNetworkStatus = false ;
93
- } , 3000 ) ;
84
+ } , 5000 ) ;
94
85
}
95
86
96
87
networkStatusChecker ( ) : void {
97
- this . onlineEvent = fromEvent ( window , 'online' ) ;
98
- this . offlineEvent = fromEvent ( window , 'offline' ) ;
88
+ this . onlineEvent$ = fromEvent ( window , 'online' ) ;
89
+ this . offlineEvent$ = fromEvent ( window , 'offline' ) ;
99
90
100
91
this . subscriptions . push (
101
- this . onlineEvent . subscribe ( ( ) => {
92
+ this . onlineEvent$ . subscribe ( ( ) => {
102
93
this . networkStatus = 'online' ;
103
94
this . networkStatusMessage = $localize `Vous êtes de nouveau en ligne.` ;
104
- this . showHideNetworkStatus ( ) ;
95
+ this . toggleNetworkStatus ( ) ;
105
96
} )
106
97
) ;
107
98
108
99
this . subscriptions . push (
109
- this . offlineEvent . subscribe ( ( ) => {
100
+ this . offlineEvent$ . subscribe ( ( ) => {
110
101
this . networkStatus = 'offline' ;
111
- this . networkStatusMessage = $localize `Connexion perdue ! Vous n'êtes pas connecté à l'Internet` ;
112
- this . showHideNetworkStatus ( ) ;
102
+ this . networkStatusMessage = $localize `Vous n'êtes pas connecté à l'Internet` ;
103
+ this . toggleNetworkStatus ( ) ;
113
104
} )
114
105
) ;
115
106
}
0 commit comments