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