File tree Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Original file line number Diff line number Diff line change
1
+ import { useEffect , useState } from 'react'
2
+ import createActivityDetector from 'activity-detector'
3
+
4
+ export default function useIsUserActive ( timeToIdle : number ) : boolean {
5
+ const [ active , setActive ] = useState ( true )
6
+ useEffect ( ( ) => {
7
+ const activityDetector = createActivityDetector ( {
8
+ timeToIdle : timeToIdle
9
+ } )
10
+ activityDetector . on ( 'idle' , ( ) => {
11
+ setActive ( false )
12
+ } )
13
+ activityDetector . on ( 'active' , ( ) => {
14
+ setActive ( true )
15
+ } )
16
+ return ( ) => {
17
+ activityDetector . stop ( )
18
+ }
19
+ } , [ timeToIdle ] )
20
+ return active
21
+ }
Original file line number Diff line number Diff line change
1
+ import { useEffect , useState } from 'react'
2
+
3
+ export default function useShouldShutdownLanguageClient ( userActive : boolean , delay : number ) : boolean {
4
+ const [ paused , setPaused ] = useState ( false )
5
+ useEffect ( ( ) => {
6
+ setPaused ( false )
7
+ if ( ! userActive ) {
8
+ const timeout = setTimeout ( ( ) => {
9
+ setPaused ( true )
10
+ } , delay )
11
+ return ( ) => {
12
+ clearTimeout ( timeout )
13
+ }
14
+ }
15
+ return ( ) => { }
16
+ } , [ userActive , delay ] )
17
+ return paused
18
+ }
You can’t perform that action at this time.
0 commit comments