import React, { ReactElement, useEffect, useState, useContext } from "react"; import { Form, Field } from "react-final-form"; import { isEmpty, isNil, isUndefined } from "lodash"; import Select from "react-select"; import { saveSettings } from "../../../actions/settings.actions"; import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { useStore } from "../../../store"; import { useShallow } from "zustand/react/shallow"; import axios from "axios"; export const AirDCPPHubsForm = (airDCPPClientUserSettings): ReactElement => { const queryClient = useQueryClient(); const { airDCPPSocketInstance, airDCPPClientConfiguration, airDCPPSessionInformation, } = useStore( useShallow((state) => ({ airDCPPSocketInstance: state.airDCPPSocketInstance, airDCPPClientConfiguration: state.airDCPPClientConfiguration, airDCPPSessionInformation: state.airDCPPSessionInformation, })), ); const { data: settings, isLoading, isError, } = useQuery({ queryKey: ["settings"], queryFn: async () => await axios({ url: "http://localhost:3000/api/settings/getAllSettings", method: "GET", }), }); console.log("Asd", settings); // const { // settings: { // data: { directConnect }, // }, // } = data; const { data: hubs } = useQuery({ queryKey: [], queryFn: async () => await airDCPPSocketInstance.get(`hubs`), enabled: !!settings, }); let hubList = {}; if (hubs) { hubList = hubs.map(({ hub_url, identity }) => ({ value: hub_url, label: identity.name, })); } const { mutate } = useMutation({ mutationFn: async (values) => await axios({ url: `http://localhost:3000/api/settings/saveSettings`, method: "POST", data: { settingsPayload: values, settingsKey: "directConnect" }, }), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["settings"] }); }, }); const validate = async () => {}; const SelectAdapter = ({ input, ...rest }) => { return ; }; return ( <>
)} />