mirror of
https://github.com/movie-web/native-app.git
synced 2025-09-13 16:43:25 +00:00
fix idle timeout
This commit is contained in:
@@ -5,6 +5,7 @@ import type { MakeSlice } from "./types";
|
|||||||
export interface InterfaceSlice {
|
export interface InterfaceSlice {
|
||||||
interface: {
|
interface: {
|
||||||
isIdle: boolean;
|
isIdle: boolean;
|
||||||
|
idleTimeout: NodeJS.Timeout | null;
|
||||||
};
|
};
|
||||||
setIsIdle(state: boolean): void;
|
setIsIdle(state: boolean): void;
|
||||||
lockOrientation: () => Promise<void>;
|
lockOrientation: () => Promise<void>;
|
||||||
@@ -16,16 +17,20 @@ export interface InterfaceSlice {
|
|||||||
export const createInterfaceSlice: MakeSlice<InterfaceSlice> = (set, get) => ({
|
export const createInterfaceSlice: MakeSlice<InterfaceSlice> = (set, get) => ({
|
||||||
interface: {
|
interface: {
|
||||||
isIdle: true,
|
isIdle: true,
|
||||||
|
idleTimeout: null,
|
||||||
},
|
},
|
||||||
setIsIdle: (state) => {
|
setIsIdle: (state) => {
|
||||||
set((s) => {
|
set((s) => {
|
||||||
setTimeout(() => {
|
if (s.interface.idleTimeout) clearTimeout(s.interface.idleTimeout);
|
||||||
|
|
||||||
|
s.interface.idleTimeout = setTimeout(() => {
|
||||||
if (get().interface.isIdle === false) {
|
if (get().interface.isIdle === false) {
|
||||||
set((s) => {
|
set((s) => {
|
||||||
s.interface.isIdle = true;
|
s.interface.isIdle = true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, 6000);
|
}, 6000);
|
||||||
|
|
||||||
s.interface.isIdle = state;
|
s.interface.isIdle = state;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user