Merge remote-tracking branch 'origin' into fix-remember-output-folder

This commit is contained in:
Nayam Amarshe
2024-04-01 15:12:58 +05:30
8 changed files with 633 additions and 318 deletions

View File

@@ -8,13 +8,13 @@ body:
options:
- label: I have **tried ALL** of the steps mentioned in the [troubleshooting guide](https://github.com/upscayl/upscayl/wiki/Troubleshooting).
required: true
- label: I have **searched** for my issue in the [issues tab](https://github.com/upscayl/upscayl/issues?q=).
- label: I have **searched** for this in the [issues tab](https://github.com/upscayl/upscayl/issues?q=).
required: true
- label: My error involves vkEnumeratePhysicalDevices or vkCreateInstance, which means I should ignore the other issues and file this one despite the last checkbox.
- type: textarea
attributes:
label: Describe the Bug
description: 💥 What's the bug?
description: 💥 Say it in words. Don't put the logs here.
validations:
required: true
@@ -48,14 +48,14 @@ body:
- type: input
attributes:
label: OS Version
description: "✍️ What's the version of your operating system? (Example: Ubuntu 22.04, MacOS Monterey or Windows 10)"
description: "✍️ For example: Ubuntu 22.04.03, macOS 12.7.3, Windows 11 23H2"
validations:
required: true
- type: input
attributes:
label: GPU Name
description: 📝 What GPU do you have? If you do not know, please just write your device name if it's a laptop. If the name is something like "Intel Graphics" or "AMD Vega" and you can't Upscayl images, [STOP and read the 3rd point in the FAQ](https://github.com/upscayl/upscayl?tab=readme-ov-file#-faq).
description: 📝 What GPU do you have? If you do not know, please just write the name of your device. If the name is something like "Intel Graphics" or "AMD Vega" and you can't Upscayl images, [STOP and read the 3rd point in the FAQ](https://github.com/upscayl/upscayl?tab=readme-ov-file#-faq).
validations:
required: true

View File

@@ -8,7 +8,7 @@ body:
options:
- label: I have checked that this issue isn't addressed in [the FAQ](https://github.com/upscayl/upscayl#-faq).
required: true
- label: I have checked that this issue isn't addressed in any other issue or pull request.
- label: I have searched for this in the [issues tab](https://github.com/upscayl/upscayl/issues?q=).
required: true
- type: textarea
attributes:

View File

@@ -2,7 +2,7 @@
"productName": "Upscayl",
"appId": "org.upscayl.Upscayl",
"afterSign": "./notarize.js",
"buildVersion": "24.02.09",
"buildVersion": "24.02.15",
"asar": true,
"asarUnpack": ["**/node_modules/sharp/**/*", "**/node_modules/@img/**/*"],
"extraFiles": [

888
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -74,7 +74,6 @@
"artifactName": "${name}-${version}-${os}.${ext}",
"afterSign": "./notarize.js",
"asar": true,
"buildVersion": "23.11.4",
"asarUnpack": [
"**/node_modules/sharp/**/*"
],
@@ -213,7 +212,7 @@
"cross-env": "^7.0.3",
"daisyui": "^3.9.4",
"electron": "^27.2.4",
"electron-builder": "^24.9.1",
"electron-builder": "^24.13.3",
"next": "^13.5.6",
"postcss": "^8.4.31",
"prettier": "^3.2.5",
@@ -230,7 +229,7 @@
"electron-next": "^3.1.5",
"electron-settings": "^4.0.2",
"electron-updater": "^6.1.4",
"firebase": "^10.3.0",
"firebase": "^10.8.1",
"gray-matter": "^4.0.3",
"jotai": "^2.2.2",
"react-compare-slider": "^3.0.1",

View File

@@ -39,7 +39,7 @@ export const turnOffNotificationsAtom = atomWithStorage(
export const viewTypeAtom = atomWithStorage<"slider" | "lens">(
"viewType",
"lens",
"slider",
);
export const lensSizeAtom = atomWithStorage<number>("lensSize", 100);

View File

@@ -2,7 +2,7 @@ import { lensSizeAtom, viewTypeAtom } from "@/atoms/userSettingsAtom";
import SidebarClosed from "@/components/icons/SidebarClosed";
import SidebarOpened from "@/components/icons/SidebarOpened";
import { useAtom } from "jotai";
import React, { useEffect, useState } from "react";
import { useEffect, useState } from "react";
const ImageOptions = ({
zoomAmount,
@@ -32,42 +32,46 @@ const ImageOptions = ({
onDoubleClick={(e) => {
e.stopPropagation();
}}
className="w-full h-full absolute">
className="absolute h-full w-full"
>
<div
className={`transition-all duration-500 bg-base-100 text-base-content h-screen w-[28rem] fixed right-0 top-0 z-50 shadow-xl shadow-black ${
className={`fixed right-0 top-0 z-50 h-screen w-[28rem] bg-base-100 text-base-content shadow-xl shadow-black transition-all duration-500 ${
openSidebar ? "right-0" : "-right-full translate-x-full"
}`}>
}`}
>
<div
className={`transition-all duration-500 bg-base-100 p-4 rounded-btn rounded-r-none absolute top-1/2 right-[100%] z-50 cursor-pointer flex items-center group gap-2`}
className={`group rounded-btn absolute right-[100%] top-1/2 z-50 flex cursor-pointer items-center gap-2 rounded-r-none bg-base-100 p-4 transition-all duration-500`}
onClick={() => {
setOpenSidebar(!openSidebar);
}}>
}}
>
{openSidebar ? (
<SidebarOpened className="text-white text-xl" />
<SidebarOpened className="text-xl text-white" />
) : (
<SidebarClosed className="text-white text-xl" />
<SidebarClosed className="text-xl text-white" />
)}
</div>
<div className="flex flex-col justify-center gap-5 overflow-auto p-5">
<button className="btn-primary btn" onClick={resetImagePaths}>
<button className="btn btn-primary" onClick={resetImagePaths}>
Reset Image
</button>
<div className="flex flex-row items-center gap-2">
<p className="font-medium text-sm">Lens View</p>
<p className="text-sm font-medium">Lens View</p>
<input
type="checkbox"
className="toggle"
checked={viewType === "slider"}
onChange={(e) => {
setViewType(e.target.checked ? "slider" : "lens");
}}
/>
<p className="font-medium text-sm">Slider View</p>
<p className="text-sm font-medium">Slider View</p>
</div>
<div className="flex flex-col gap-2">
<p className="font-medium text-sm">Zoom Amount ({zoomAmount}%)</p>
<p className="text-sm font-medium">Zoom Amount ({zoomAmount}%)</p>
<input
type="range"
min="100"
@@ -83,7 +87,7 @@ const ImageOptions = ({
</div>
<div className="flex flex-col gap-2">
<p className="font-medium text-sm">Lens Size ({lensSize / 10})</p>
<p className="text-sm font-medium">Lens Size ({lensSize / 10})</p>
<input
type="range"
min="20"

View File

@@ -23,14 +23,14 @@ function ProgressBar({
}, [progress]);
return (
<div className="absolute flex h-full w-full flex-col items-center justify-center bg-base-300/50 backdrop-blur-lg">
<div className="flex flex-col items-center bg-base-100/50 backdrop-blur-lg p-4 rounded-btn">
<div className="absolute z-50 flex h-full w-full flex-col items-center justify-center bg-base-300/50 backdrop-blur-lg">
<div className="rounded-btn flex flex-col items-center bg-base-100/50 p-4 backdrop-blur-lg">
<img
src="icon.png"
alt="Upscayl Icon"
className="w-12 h-12 spinner mb-4"
className="spinner mb-4 h-12 w-12"
/>
<p className="rounded-full px-2 font-bold pb-2">
<p className="rounded-full px-2 pb-2 font-bold">
{batchMode && "Batch Upscale In Progress: " + batchProgress}
{!batchMode &&
@@ -39,16 +39,16 @@ function ProgressBar({
: `${progress}`)}
</p>
<p className="rounded-full px-2 text-sm font-medium pb-3 animate-pulse">
<p className="animate-pulse rounded-full px-2 pb-3 text-sm font-medium">
Doing the Upscayl magic...
</p>
{batchMode && (
<p className="text-xs rounded-btn text-base-content/70 text-center pb-4 w-64">
<p className="rounded-btn w-64 pb-4 text-center text-xs text-base-content/70">
Info: The images will be converted and scaled after the upscaling
process.
</p>
)}
<button onClick={stopHandler} className="btn-outline btn">
<button onClick={stopHandler} className="btn btn-outline">
STOP
</button>
</div>