1
0
mirror of https://github.com/pavlobu/deskreen.git synced 2025-05-21 09:50:13 -07:00

first time app start to store

This commit is contained in:
Pavlo Buidenkov 2022-05-31 21:30:34 +02:00
parent 9f67432182
commit 73bce6ab81
4 changed files with 39 additions and 20 deletions

View File

@ -112,16 +112,16 @@ const DeskreenStepper = React.forwardRef((_props, ref) => {
}, []);
useEffect(() => {
const isFirstTimeStart = true;
// const isFirstTimeStart = !settings.hasSync('isNotFirstTimeAppStart');
let helloInterval: NodeJS.Timeout;
async function stepperOpenedCallback() {
const isFirstTimeStart = await ipcRenderer.invoke(
IpcEvents.GetIsFirstTimeAppStart
);
setIsSelectLanguageDialogOpen(isFirstTimeStart);
if (!isFirstTimeStart) return () => {};
if (!isFirstTimeStart) return;
const helloWords = getShuffledArrayOfHello();
let pos = 0;
const helloInterval = setInterval(() => {
helloInterval = setInterval(() => {
setIsDisplayHelloWord(false);
if (pos + 1 === helloWords.length) {
pos = 0;
@ -131,6 +131,8 @@ const DeskreenStepper = React.forwardRef((_props, ref) => {
setHelloWord(helloWords[pos]);
setIsDisplayHelloWord(true);
}, 4000);
}
stepperOpenedCallback();
return () => {
clearInterval(helloInterval);
@ -376,7 +378,7 @@ const DeskreenStepper = React.forwardRef((_props, ref) => {
rightIcon="chevron-right"
onClick={() => {
setIsSelectLanguageDialogOpen(false);
// settings.setSync('isNotFirstTimeAppStart', true);
ipcRenderer.invoke(IpcEvents.SetAppStartedOnce);
}}
style={{ borderRadius: '50px' }}
>

View File

@ -1,4 +1,5 @@
// eslint-disable-next-line import/prefer-default-export
export enum ElectronStoreKeys {
AppLanguage = 'appLanguage',
IsNotFirstTimeAppStart = 'isNotFirstTimeAppStart',
}

View File

@ -22,4 +22,6 @@ export enum IpcEvents {
SetDesktopCapturerSourceId = 'set-desktop-capturer-source-id',
NotifyAllSessionsWithAppThemeChanged = 'notify-all-sessions-with-app-theme-changed',
GetAppLanguage = 'get-app-language',
GetIsFirstTimeAppStart = 'get-is-not-first-time-app-start',
SetAppStartedOnce = 'set-app-started-once',
}

View File

@ -279,4 +279,18 @@ export default function initIpcMainHandlers(
}
);
});
ipcMain.handle(IpcEvents.GetIsFirstTimeAppStart, () => {
if (store.has(ElectronStoreKeys.IsNotFirstTimeAppStart)) {
return false;
}
return true;
});
ipcMain.handle(IpcEvents.SetAppStartedOnce, () => {
if (store.has(ElectronStoreKeys.IsNotFirstTimeAppStart)) {
store.delete(ElectronStoreKeys.IsNotFirstTimeAppStart);
}
store.set(ElectronStoreKeys.IsNotFirstTimeAppStart, true);
});
}