Configure to a hub in AirDC++ and then select a default hub here.
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 { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { useStore } from "../../../store"; import axios from "axios"; export const AirDCPPHubsForm = (): ReactElement => { const queryClient = useQueryClient(); const { airDCPPSocketInstance, airDCPPClientConfiguration, airDCPPSessionInformation, } = useStore((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", }), }); /** * Get the hubs list from an AirDCPP Socket */ const { data: hubs } = useQuery({ queryKey: [], queryFn: async () => await airDCPPSocketInstance.get(`hubs`), }); let hubList = {}; if (!isNil(hubs)) { hubList = hubs.map(({ hub_url, identity }) => ({ value: hub_url, label: identity.name, })); } console.log(hubList); const { mutate } = useMutation({ mutationFn: async (values) => await axios({ url: `http://localhost:3000/api/settings/saveSettings`, method: "POST", data: { settingsPayload: values, settingsObjectId: settings?.data._id, settingsKey: "directConnect", }, }), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["settings"] }); }, }); const validate = async () => {}; const SelectAdapter = ({ input, ...rest }) => { return ; }; return ( <> {!isEmpty(hubList) ? (
)} /> ) : ( <>