🏗️ Trying out react-query

This commit is contained in:
2023-10-30 13:47:35 -04:00
parent 2df0fce792
commit d45c53dff9
13 changed files with 117 additions and 393 deletions

View File

@@ -1,13 +1,10 @@
import React, { ReactElement, useCallback } from "react";
import { saveSettings } from "../../../actions/settings.actions";
import { ConnectionForm } from "../../shared/ConnectionForm/ConnectionForm";
import { useConnectToQBittorrentClientQuery } from "../../../services/torrents.api";
export const QbittorrentConnectionForm = (): ReactElement => {
const { data, isLoading } = useConnectToQBittorrentClientQuery({});
const onSubmit = useCallback(async (values) => {
try {
dispatch(saveSettings(values, "bittorrent"));
} catch (error) {
console.log(error);
}
@@ -15,13 +12,11 @@ export const QbittorrentConnectionForm = (): ReactElement => {
return (
<>
{!isLoading && (
<ConnectionForm
initialData={data?.bittorrent.client.host}
submitHandler={onSubmit}
formHeading={"Qbittorrent Configuration"}
/>
)}
<ConnectionForm
initialData={data?.bittorrent.client.host}
submitHandler={onSubmit}
formHeading={"Qbittorrent Configuration"}
/>
<pre>{JSON.stringify(data?.qbittorrentClientInfo, null, 2)}</pre>
</>
);

View File

@@ -7,22 +7,18 @@ import { ServiceStatuses } from "../ServiceStatuses/ServiceStatuses";
import settingsObject from "../../constants/settings/settingsMenu.json";
import { isUndefined, map } from "lodash";
interface ISettingsProps { }
interface ISettingsProps {}
export const Settings = (props: ISettingsProps): ReactElement => {
const [active, setActive] = useState("gen-db");
const settingsContent = [
{
id: "adc-hubs",
content: <div key="adc-hubs">{<AirDCPPHubsForm />}</div>,
content: <div key="adc-hubs">{/* <AirDCPPHubsForm /> */}</div>,
},
{
id: "adc-connection",
content: (
<div key="adc-connection">
<AirDCPPSettingsForm />
</div>
),
content: <div key="adc-connection">{/* <AirDCPPSettingsForm /> */}</div>,
},
{
id: "qbt-connection",
@@ -34,15 +30,11 @@ export const Settings = (props: ISettingsProps): ReactElement => {
},
{
id: "core-service",
content: <ServiceStatuses />,
content: <>a</>,
},
{
id: "flushdb",
content: (
<div key="flushdb">
<SystemSettingsForm />
</div>
),
content: <div key="flushdb">{/* <SystemSettingsForm /> */}</div>,
},
];
return (