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
NayamAmarshe 95843ded88
Refactor Renderer Code (#987)
* Initial refactor

* Remove unused imports

* Update code

* Refactor and Update Code

- Change file names to kebab-caase
- Add new useTranslation Hook
- Change useLog hook name to useLogger
- Update translation hook to provide autocomplete

* Update import and component name

* Rename files and components

* Update locales

* Update electron commands

* Update var

* Change Lowercase

* Replace filter with map

* Add props

* Update flag check

* Add validate paths

* Update formats

* Update import

* Update function

* Update function and translation

* Update handlePaste
2024-10-04 14:45:54 +05:30

54 lines
1.6 KiB
TypeScript

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