diff --git a/package.json b/package.json index 5e059a3..7a688f2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "upscayl", "private": true, - "version": "2.7.5", + "version": "2.8.0", "productName": "Upscayl", "homepage": "https://github.com/TGS963/upscayl", "contributors": [ @@ -56,7 +56,6 @@ "appId": "org.upscayl.app", "artifactName": "${name}-${version}-${os}-${arch}.${ext}", "asar": true, - "notarize": false, "afterSign": "scripts/notarize.js", "extraFiles": [ { @@ -97,6 +96,7 @@ "hardenedRuntime": true, "entitlements": "resources/entitlements.mac.plist", "entitlementsInherit": "resources/entitlements.mac.plist", + "notarize": false, "gatekeeperAssess": false, "target": [ { diff --git a/renderer/atoms/userSettingsAtom.ts b/renderer/atoms/userSettingsAtom.ts index 8d847a1..56edbe1 100644 --- a/renderer/atoms/userSettingsAtom.ts +++ b/renderer/atoms/userSettingsAtom.ts @@ -13,3 +13,8 @@ export const rememberOutputFolderAtom = atomWithStorage( "rememberOutputFolder", false ); + +export const dontShowCloudModalAtom = atomWithStorage( + "dontShowCloudModal", + false +); diff --git a/renderer/components/Header.tsx b/renderer/components/Header.tsx index 1c8bb54..d1eb12b 100644 --- a/renderer/components/Header.tsx +++ b/renderer/components/Header.tsx @@ -6,7 +6,8 @@ export default function Header({ version }: { version: string }) { href="https://github.com/upscayl/upscayl" target="_blank" className={`outline-none focus-visible:ring-2`} - data-tip="Star us on GitHub 😁"> + data-tooltip-id="tooltip" + data-tooltip-content="Star us on GitHub 😁">
Upscayl Logo
diff --git a/renderer/components/UpscaylCloudModal.tsx b/renderer/components/UpscaylCloudModal.tsx index b3628c8..9e0f68b 100644 --- a/renderer/components/UpscaylCloudModal.tsx +++ b/renderer/components/UpscaylCloudModal.tsx @@ -5,13 +5,38 @@ import { doc, setDoc } from "firebase/firestore"; const nameRegex = /^[A-Za-z\s.'-]+$/; const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; -export const UpscaylCloudModal = ({ show, setShow }) => { +export const UpscaylCloudModal = ({ show, setShow, setDontShowCloudModal }) => { const [name, setName] = useState(""); const [email, setEmail] = useState(""); return (
+

Coming soon!

Introducing Upscayl Cloud!

@@ -46,11 +71,15 @@ export const UpscaylCloudModal = ({ show, setShow }) => { email, }); } catch (error) { - alert("Error joining the waitlist. Please try again..."); + alert( + `Thank you ${name}! It seems that your email has already been registered :D If that's not the case, please try again.` + ); return; } setName(""); setEmail(""); + setDontShowCloudModal(true); + setShow(false); alert( "Thank you for joining the waitlist! We will notify you when Upscayl Cloud is ready for you." ); @@ -79,6 +108,16 @@ export const UpscaylCloudModal = ({ show, setShow }) => { className="bg-success text-success-content rounded-2xl px-4 py-2"> Join the waitlist + +

diff --git a/renderer/components/settings-tab/ResetSettings.tsx b/renderer/components/settings-tab/ResetSettings.tsx new file mode 100644 index 0000000..64066e9 --- /dev/null +++ b/renderer/components/settings-tab/ResetSettings.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import commands from "../../../electron/commands"; + +export function ResetSettings() { + return ( +
+

RESET UPSCAYL

+ +
+ ); +} diff --git a/renderer/components/settings-tab/index.tsx b/renderer/components/settings-tab/index.tsx index 1a7ddba..36d8076 100644 --- a/renderer/components/settings-tab/index.tsx +++ b/renderer/components/settings-tab/index.tsx @@ -14,6 +14,8 @@ import { modelsListAtom } from "../../atoms/modelsListAtom"; import useLog from "../hooks/useLog"; import { QualityInput } from "./QualityInput"; import ToggleOverwrite from "./ToggleOverwrite"; +import { UpscaylCloudModal } from "../UpscaylCloudModal"; +import { ResetSettings } from "./ResetSettings"; interface IProps { batchMode: boolean; @@ -28,6 +30,9 @@ interface IProps { overwrite: boolean; setOverwrite: (arg: any) => void; os: "linux" | "mac" | "win" | undefined; + show: boolean; + setShow: React.Dispatch>; + setDontShowCloudModal: React.Dispatch>; } function SettingsTab({ @@ -43,6 +48,9 @@ function SettingsTab({ overwrite, setOverwrite, os, + show, + setShow, + setDontShowCloudModal, }: IProps) { // STATES const [currentModel, setCurrentModel] = useState<{ @@ -195,6 +203,23 @@ function SettingsTab({ customModelsPath={customModelsPath} setCustomModelsPath={setCustomModelsPath} /> + + {/* RESET SETTINGS */} + + + + +
); } diff --git a/renderer/pages/index.tsx b/renderer/pages/index.tsx index 9217264..8ee82d5 100644 --- a/renderer/pages/index.tsx +++ b/renderer/pages/index.tsx @@ -1,4 +1,4 @@ -"use client" +"use client"; import { useState, useEffect, useCallback } from "react"; import commands from "../../electron/commands"; import { ReactCompareSlider } from "react-compare-slider"; @@ -13,7 +13,11 @@ import SettingsTab from "../components/settings-tab"; import { useAtom } from "jotai"; import { logAtom } from "../atoms/logAtom"; import { modelsListAtom } from "../atoms/modelsListAtom"; -import { batchModeAtom, scaleAtom } from "../atoms/userSettingsAtom"; +import { + batchModeAtom, + dontShowCloudModalAtom, + scaleAtom, +} from "../atoms/userSettingsAtom"; import useLog from "../components/hooks/useLog"; import { UpscaylCloudModal } from "../components/UpscaylCloudModal"; @@ -47,6 +51,9 @@ const Home = () => { const [logData, setLogData] = useAtom(logAtom); const [modelOptions, setModelOptions] = useAtom(modelsListAtom); const [scale] = useAtom(scaleAtom); + const [dontShowCloudModal, setDontShowCloudModal] = useAtom( + dontShowCloudModalAtom + ); const [showCloudModal, setShowCloudModal] = useState(false); @@ -174,7 +181,7 @@ const Home = () => { logit("⚙️ upscayl cloud show to true"); localStorage.setItem("upscaylCloudModalShown", "true"); setShowCloudModal(true); - } + } }, []); useEffect(() => { @@ -458,19 +465,25 @@ const Home = () => { return (
- + {window.electron.platform === "mac" && (
)} {/* HEADER */}
- + {!dontShowCloudModal && ( + + )} @@ -509,6 +522,9 @@ const Home = () => { overwrite={overwrite} setOverwrite={setOverwrite} os={os} + show={showCloudModal} + setShow={setShowCloudModal} + setDontShowCloudModal={setDontShowCloudModal} /> )} {/* )} */} diff --git a/resources/linux/bin/upscayl-realesrgan b/resources/linux/x64/bin/upscayl-realesrgan similarity index 100% rename from resources/linux/bin/upscayl-realesrgan rename to resources/linux/x64/bin/upscayl-realesrgan diff --git a/resources/mac/x86_64/bin/upscayl-realesrgan b/resources/mac/x64/bin/upscayl-realesrgan similarity index 100% rename from resources/mac/x86_64/bin/upscayl-realesrgan rename to resources/mac/x64/bin/upscayl-realesrgan diff --git a/resources/win/bin/upscayl-realesrgan.exe b/resources/win/x64/bin/upscayl-realesrgan.exe similarity index 100% rename from resources/win/bin/upscayl-realesrgan.exe rename to resources/win/x64/bin/upscayl-realesrgan.exe