mirror of
https://github.com/upscayl/upscayl.git
synced 2026-04-25 03:00:05 -04:00
Fixed storage bug
This commit is contained in:
@@ -10,7 +10,6 @@ interface IProps {
|
||||
selectImageHandler: () => Promise<void>;
|
||||
selectFolderHandler: () => Promise<void>;
|
||||
handleModelChange: (e: any) => void;
|
||||
handleDrop: (e: any) => void;
|
||||
outputHandler: () => Promise<void>;
|
||||
upscaylHandler: () => Promise<void>;
|
||||
batchMode: boolean;
|
||||
@@ -19,13 +18,8 @@ interface IProps {
|
||||
outputPath: string;
|
||||
doubleUpscayl: boolean;
|
||||
setDoubleUpscayl: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
model: string;
|
||||
setModel: React.Dispatch<React.SetStateAction<string>>;
|
||||
isVideo: boolean;
|
||||
setIsVideo: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
saveImageAs: string;
|
||||
setSaveImageAs: React.Dispatch<React.SetStateAction<string>>;
|
||||
gpuId: string;
|
||||
setGpuId: React.Dispatch<React.SetStateAction<string>>;
|
||||
dimensions: {
|
||||
width: number | null;
|
||||
@@ -38,7 +32,6 @@ function LeftPaneImageSteps({
|
||||
selectImageHandler,
|
||||
selectFolderHandler,
|
||||
handleModelChange,
|
||||
handleDrop,
|
||||
outputHandler,
|
||||
upscaylHandler,
|
||||
batchMode,
|
||||
@@ -47,13 +40,8 @@ function LeftPaneImageSteps({
|
||||
outputPath,
|
||||
doubleUpscayl,
|
||||
setDoubleUpscayl,
|
||||
model,
|
||||
setModel,
|
||||
isVideo,
|
||||
setIsVideo,
|
||||
gpuId,
|
||||
setGpuId,
|
||||
saveImageAs,
|
||||
setSaveImageAs,
|
||||
dimensions,
|
||||
}: IProps) {
|
||||
@@ -84,7 +72,7 @@ function LeftPaneImageSteps({
|
||||
} else {
|
||||
const currentlySavedModel = JSON.parse(
|
||||
localStorage.getItem("model")
|
||||
) as (typeof modelOptions)[0];
|
||||
) as typeof modelOptions[0];
|
||||
setCurrentModel(currentlySavedModel);
|
||||
setModel(currentlySavedModel.value);
|
||||
}
|
||||
|
||||
@@ -2,19 +2,11 @@ import React, { useEffect, useState } from "react";
|
||||
import { themeChange } from "theme-change";
|
||||
import commands from "../../electron/commands";
|
||||
import { useAtom } from "jotai";
|
||||
import {
|
||||
customModelsPathAtom,
|
||||
rememberOutputFolderAtom,
|
||||
scaleAtom,
|
||||
} from "../atoms/userSettingsAtom";
|
||||
import { customModelsPathAtom, scaleAtom } from "../atoms/userSettingsAtom";
|
||||
import { modelsListAtom } from "../atoms/modelsListAtom";
|
||||
|
||||
interface IProps {
|
||||
batchMode: boolean;
|
||||
setBatchMode: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
rememberOutputFolder: boolean;
|
||||
setRememberOutputFolder: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
imagePath: string;
|
||||
setModel: React.Dispatch<React.SetStateAction<string>>;
|
||||
saveImageAs: string;
|
||||
setSaveImageAs: React.Dispatch<React.SetStateAction<string>>;
|
||||
@@ -25,8 +17,6 @@ interface IProps {
|
||||
|
||||
function SettingsTab({
|
||||
batchMode,
|
||||
setBatchMode,
|
||||
imagePath,
|
||||
setModel,
|
||||
gpuId,
|
||||
setGpuId,
|
||||
@@ -50,9 +40,7 @@ function SettingsTab({
|
||||
|
||||
const [scale, setScale] = useAtom(scaleAtom);
|
||||
|
||||
const [rememberOutputFolder, setRememberOutputFolder] = useAtom(
|
||||
rememberOutputFolderAtom
|
||||
);
|
||||
const [rememberOutputFolder, setRememberOutputFolder] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
themeChange(false);
|
||||
@@ -71,7 +59,7 @@ function SettingsTab({
|
||||
} else {
|
||||
const currentlySavedModel = JSON.parse(
|
||||
localStorage.getItem("model")
|
||||
) as (typeof modelOptions)[0];
|
||||
) as typeof modelOptions[0];
|
||||
setCurrentModel(currentlySavedModel);
|
||||
setModel(currentlySavedModel.value);
|
||||
}
|
||||
@@ -82,6 +70,22 @@ function SettingsTab({
|
||||
const currentlySavedGpuId = localStorage.getItem("gpuId");
|
||||
setGpuId(currentlySavedGpuId);
|
||||
}
|
||||
|
||||
if (!localStorage.getItem("rememberOutputFolder")) {
|
||||
localStorage.setItem("rememberOutputFolder", "false");
|
||||
} else {
|
||||
const currentlySavedRememberOutputFolder = localStorage.getItem(
|
||||
"rememberOutputFolder"
|
||||
);
|
||||
console.log(
|
||||
"🚀 => file: SettingsTab.tsx:80 => currentlySavedRememberOutputFolder:",
|
||||
currentlySavedRememberOutputFolder
|
||||
);
|
||||
|
||||
setRememberOutputFolder(
|
||||
currentlySavedRememberOutputFolder === "true" ? true : false
|
||||
);
|
||||
}
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -161,9 +165,19 @@ function SettingsTab({
|
||||
<input
|
||||
type="checkbox"
|
||||
className="toggle-primary toggle"
|
||||
defaultChecked={rememberOutputFolder}
|
||||
checked={rememberOutputFolder}
|
||||
onClick={() => {
|
||||
setRememberOutputFolder((oldValue) => !oldValue);
|
||||
setRememberOutputFolder((oldValue) => {
|
||||
if (oldValue === true) {
|
||||
localStorage.removeItem("lastOutputFolderPath");
|
||||
}
|
||||
|
||||
return !oldValue;
|
||||
});
|
||||
localStorage.setItem(
|
||||
"rememberOutputFolder",
|
||||
JSON.stringify(!rememberOutputFolder)
|
||||
);
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user