diff --git a/build/icon.icns b/build/icon.icns index a1c4a6f..26b0999 100644 Binary files a/build/icon.icns and b/build/icon.icns differ diff --git a/main/build/icon.icns b/main/build/icon.icns index a1c4a6f..26b0999 100644 Binary files a/main/build/icon.icns and b/main/build/icon.icns differ diff --git a/main/build/icon.png b/main/build/icon.png index 6e2aba4..7816dd9 100644 Binary files a/main/build/icon.png and b/main/build/icon.png differ diff --git a/main/index.js b/main/index.js index b8a9f99..47534a4 100644 --- a/main/index.js +++ b/main/index.js @@ -110,7 +110,6 @@ ipcMain.on(commands.DOUBLE_UPSCAYL, async (event, payload) => { const model = payload.model; let inputDir = payload.imagePath.match(/(.*)[\/\\]/)[1] || ""; let outputDir = payload.outputPath; - console.log(outputDir); // COPY IMAGE TO TMP FOLDER const platform = getPlatform(); diff --git a/package.json b/package.json index a27c964..59fd687 100644 --- a/package.json +++ b/package.json @@ -143,5 +143,8 @@ "react-dropzone": "^14.2.2", "react-tooltip": "^4.2.21", "tailwind-scrollbar": "^1.3.1" + }, + "volta": { + "node": "16.17.0" } } diff --git a/renderer/components/Header.jsx b/renderer/components/Header.jsx index 1dd7729..3c8790b 100644 --- a/renderer/components/Header.jsx +++ b/renderer/components/Header.jsx @@ -3,8 +3,18 @@ import React from "react"; export default function Header() { return ( -

Upscayl

-

AI Image Upscaler

+
+ Upscayl Logo +
+

Upscayl

+

AI Image Upscaler

+
+
); } diff --git a/renderer/components/LeftPaneSteps.jsx b/renderer/components/LeftPaneSteps.jsx index f580804..c053218 100644 --- a/renderer/components/LeftPaneSteps.jsx +++ b/renderer/components/LeftPaneSteps.jsx @@ -30,150 +30,92 @@ function LeftPaneSteps(props) { - {!props.batchMode ? ( - <> - {/* STEP 1 */} -
-

Step 1

- -
+ {/* STEP 1 */} +
+

Step 1

+ +
- {/* STEP 2 */} -
-

Step 2

-

- Select Upscaling Type + {/* STEP 2 */} +

+

Step 2

+

Select Upscaling Type

+ {props.model !== "models-DF2K" && !props.batchMode && ( +
+ { + if (e.target.checked) { + props.setDoubleUpscayl(true); + } else { + props.setDoubleUpscayl(false); + } + }} + /> +

{ + props.setDoubleUpscayl(!props.doubleUpscayl); + }} + > + Double Upscayl

- {props.model !== "models-DF2K" && ( -
- { - if (e.target.checked) { - props.setDoubleUpscayl(true); - } else { - props.setDoubleUpscayl(false); - } - }} - /> -

{ - props.setDoubleUpscayl(!props.doubleUpscayl); - }} - > - Double Upscayl -

-
- )} -
+ )} + +
- {/* STEP 3 */} -
-

Step 3

-

- Defaults to Image's path -

- -
+ {/* STEP 3 */} +
+

Step 3

+

+ Defaults to Image's path +

+ +
- {/* STEP 4 */} -
-

Step 4

- -
- - ) : ( - <> - {/* STEP 1 */} -
-

Step 1

- -
+ {/* STEP 4 */} +
+

Step 4

+ +
- {/* STEP 2 */} -
-

Step 2

-

- Select Upscaling Type -

- -
- - {/* STEP 3 */} -
-

Step 3

-

- Defaults to Folder's path -

- -
- - {/* STEP 4 */} -
-

Step 4

- -
- - )} Reset diff --git a/renderer/components/RightPaneInfo.jsx b/renderer/components/RightPaneInfo.jsx index 69d94f7..c7b1f22 100644 --- a/renderer/components/RightPaneInfo.jsx +++ b/renderer/components/RightPaneInfo.jsx @@ -1,10 +1,10 @@ import React from "react"; -function RightPaneInfo({ version }) { +function RightPaneInfo({ version, batchMode }) { return ( <>

- Select an Image to Upscale + Select {batchMode ? "a Folder" : "an Image"} to Upscale

Upscayl v{version}

diff --git a/renderer/pages/index.jsx b/renderer/pages/index.jsx index 8d460c4..52d5839 100644 --- a/renderer/pages/index.jsx +++ b/renderer/pages/index.jsx @@ -27,8 +27,12 @@ const Home = () => { const resetImagePaths = () => { setProgress(""); + SetImagePath(""); setUpscaledImagePath(""); + + setBatchFolderPath(""); + setUpscaledBatchFolderPath(""); }; useEffect(() => { @@ -44,6 +48,7 @@ const Home = () => { ); resetImagePaths(); } else if (data.includes("failed")) { + if (batchMode) return; alert( data.includes("encode") ? "ENCODING ERROR => " : "DECODING ERROR => ", "This image is possibly corrupt or not supported by Upscayl. You could try converting the image into another format and upscaling again. Otherwise, make sure that the output path is correct and you have the proper write permissions for the directory. If not, then unfortuantely this image is not supported by Upscayl, sorry." @@ -100,6 +105,7 @@ const Home = () => { const selectImageHandler = async () => { resetImagePaths(); + var path = await window.electron.invoke(commands.SELECT_FILE); if (path !== "cancelled") { @@ -110,7 +116,10 @@ const Home = () => { }; const selectFolderHandler = async () => { + resetImagePaths(); + var path = await window.electron.invoke(commands.SELECT_FOLDER); + if (path !== "cancelled") { setBatchFolderPath(path); SetOutputPath(path + "_upscayled"); @@ -271,11 +280,18 @@ const Home = () => { ) : null} - {imagePath.length === 0 && batchFolderPath.length === 0 ? ( - - ) : upscaledImagePath.length === 0 && - upscaledBatchFolderPath.length === 0 ? ( - !batchMode ? ( + {((!batchMode && + imagePath.length === 0 && + upscaledImagePath.length === 0) || + (batchMode && + batchFolderPath.length === 0 && + upscaledBatchFolderPath.length === 0)) && ( + + )} + + {!batchMode && + upscaledImagePath.length === 0 && + imagePath.length > 0 && ( { draggable="false" alt="" /> - ) : ( + )} + + {batchMode && + upscaledBatchFolderPath.length === 0 && + batchFolderPath.length > 0 && (

Selected folder: {batchFolderPath}

- ) - ) : !batchMode ? ( - - } - itemTwo={ - - } - className="h-screen" - /> - ) : ( + )} + + {batchMode && upscaledBatchFolderPath.length > 0 && ( <>

- Finished Upscaling Folder! + All done!

)} + + {!batchMode && imagePath.length > 0 && upscaledImagePath.length > 0 && ( + +

+ Original +

+ + + } + itemTwo={ + <> +

+ Upscayled +

+ + + } + className="h-screen" + /> + )} + + {/* {imagePath.length === 0 && batchFolderPath.length === 0 ? ( + + ) : upscaledImagePath.length === 0 && + upscaledBatchFolderPath.length === 0 ? ( + !batchMode ? ( + + ) : ( + + ) + ) : !batchMode ? ( + + ) : ( + + )} */}
); diff --git a/renderer/public/filledbox.svg b/renderer/public/filledbox.svg deleted file mode 100644 index 51706ae..0000000 --- a/renderer/public/filledbox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/renderer/public/icon.png b/renderer/public/icon.png new file mode 100644 index 0000000..e0eeb26 Binary files /dev/null and b/renderer/public/icon.png differ diff --git a/renderer/styles/globals.css b/renderer/styles/globals.css index 878bc64..37f2e42 100644 --- a/renderer/styles/globals.css +++ b/renderer/styles/globals.css @@ -39,6 +39,9 @@ .bg-gradient { @apply bg-gradient-to-br from-green-500 to-lime-300 hover:from-lime-300 hover:to-green-500; } + .bg-gradient-blue { + @apply bg-gradient-to-br from-blue-500 to-sky-400 hover:from-sky-400 hover:to-blue-500; + } } .animate-step-in { diff --git a/to_upscale_upscayl_8x_realesrgan-x4plus.jpeg b/to_upscale_upscayl_8x_realesrgan-x4plus.jpeg new file mode 100644 index 0000000..c77a71d Binary files /dev/null and b/to_upscale_upscayl_8x_realesrgan-x4plus.jpeg differ diff --git a/ups/to_upscale.jpeg b/ups/to_upscale.jpeg new file mode 100644 index 0000000..a142ce3 Binary files /dev/null and b/ups/to_upscale.jpeg differ diff --git a/ups_upscayled/to_upscale.png b/ups_upscayled/to_upscale.png new file mode 100644 index 0000000..7d10557 Binary files /dev/null and b/ups_upscayled/to_upscale.png differ