1
0
mirror of https://github.com/upscayl/upscayl.git synced 2024-12-19 19:05:56 +01:00
upscayl/renderer/components/sidebar/settings-tab/select-custom-models-folder.tsx

54 lines
1.6 KiB
TypeScript
Raw Normal View History

2023-07-22 13:07:53 +02:00
import React from "react";
import { ELECTRON_COMMANDS } from "@common/electron-commands";
import { useAtomValue } from "jotai";
import { translationAtom } from "@/atoms/translations-atom";
2023-07-22 13:07:53 +02:00
type CustomModelsFolderSelectProps = {
customModelsPath: string;
setCustomModelsPath: (arg: string) => void;
};
export function CustomModelsFolderSelect({
customModelsPath,
setCustomModelsPath,
}: CustomModelsFolderSelectProps) {
const t = useAtomValue(translationAtom);
2023-07-22 13:07:53 +02:00
return (
<div className="flex flex-col items-start gap-2">
<p className="text-sm font-medium">{t("SETTINGS.CUSTOM_MODELS.TITLE")}</p>
2024-01-16 08:33:43 +01:00
<p className="text-xs text-base-content/80">
{t("SETTINGS.CUSTOM_MODELS.DESCRIPTION")}
2024-01-16 08:33:43 +01:00
<a
href="https://github.com/upscayl/custom-models/blob/main/README.md"
className="link underline"
target="_blank"
>
{t("SETTINGS.CUSTOM_MODELS.LINK_TITLE")}
2024-01-16 08:33:43 +01:00
</a>
</p>
2023-07-22 13:07:53 +02:00
<p className="text-sm text-base-content/60">{customModelsPath}</p>
<button
className="btn btn-primary"
2023-07-22 13:07:53 +02:00
onClick={async () => {
const customModelPath = await window.electron.invoke(
ELECTRON_COMMANDS.SELECT_CUSTOM_MODEL_FOLDER,
2023-07-22 13:07:53 +02:00
);
if (customModelPath !== null) {
setCustomModelsPath(customModelPath);
window.electron.send(
ELECTRON_COMMANDS.GET_MODELS_LIST,
customModelPath,
);
2023-07-22 13:07:53 +02:00
} else {
setCustomModelsPath("");
}
}}
>
{t("SETTINGS.CUSTOM_MODELS.BUTTON_FOLDER")}
2023-07-22 13:07:53 +02:00
</button>
</div>
);
}