🔧 Removing context from AirDCPP settings page

This commit is contained in:
2023-11-06 17:45:12 -05:00
parent 59801763e6
commit 730141ff26
6 changed files with 24 additions and 17 deletions

View File

@@ -69,7 +69,7 @@
"socket.io-client": "^4.3.2", "socket.io-client": "^4.3.2",
"styled-components": "^6.0.7", "styled-components": "^6.0.7",
"threetwo-ui-typings": "^1.0.14", "threetwo-ui-typings": "^1.0.14",
"vite": "^4.4.9", "vite": "^4.5.0",
"vite-plugin-html": "^3.2.0", "vite-plugin-html": "^3.2.0",
"websocket": "^1.0.34", "websocket": "^1.0.34",
"zustand": "^4.4.6" "zustand": "^4.4.6"

View File

@@ -92,6 +92,7 @@ const AirDCPPSocketComponent = (): ReactElement => {
return <></>; return <></>;
}; };
export const App = (): ReactElement => { export const App = (): ReactElement => {
console.log("randitva");
// useEffect(() => { // useEffect(() => {
// // Check if there is a sessionId in localStorage // // Check if there is a sessionId in localStorage
// const sessionId = localStorage.getItem("sessionId"); // const sessionId = localStorage.getItem("sessionId");

View File

@@ -4,12 +4,13 @@ import {
deleteSettings, deleteSettings,
} from "../../../actions/settings.actions"; } from "../../../actions/settings.actions";
import { AirDCPPSettingsConfirmation } from "./AirDCPPSettingsConfirmation"; import { AirDCPPSettingsConfirmation } from "./AirDCPPSettingsConfirmation";
import { AirDCPPSocketContext } from "../../../context/AirDCPPSocket";
import { isUndefined, isEmpty } from "lodash"; import { isUndefined, isEmpty } from "lodash";
import { ConnectionForm } from "../../shared/ConnectionForm/ConnectionForm"; import { ConnectionForm } from "../../shared/ConnectionForm/ConnectionForm";
import { useStore } from "../../../store/index";
export const AirDCPPSettingsForm = (): ReactElement => { export const AirDCPPSettingsForm = (): ReactElement => {
const airDCPPSettings = useContext(AirDCPPSocketContext); // const airDCPPSettings = useContext(AirDCPPSocketContext);
const airDCPPSettings = useStore((store) => store.airDCPPClientConfiguration);
console.log(airDCPPSettings); console.log(airDCPPSettings);
const onSubmit = useCallback(async (values) => { const onSubmit = useCallback(async (values) => {

View File

@@ -10,6 +10,7 @@ import { isUndefined, map } from "lodash";
interface ISettingsProps {} interface ISettingsProps {}
export const Settings = (props: ISettingsProps): ReactElement => { export const Settings = (props: ISettingsProps): ReactElement => {
console.log("Asd");
const [active, setActive] = useState("gen-db"); const [active, setActive] = useState("gen-db");
const settingsContent = [ const settingsContent = [
{ {

View File

@@ -1,6 +1,5 @@
import { create } from "zustand"; import { create } from "zustand";
import { isEmpty, isUndefined } from "lodash"; import { isEmpty, isUndefined } from "lodash";
import React, { createContext, useEffect, useState } from "react";
import { useQuery, useMutation } from "@tanstack/react-query"; import { useQuery, useMutation } from "@tanstack/react-query";
import AirDCPPSocket from "../services/DcppSearchService"; import AirDCPPSocket from "../services/DcppSearchService";
import axios from "axios"; import axios from "axios";
@@ -8,6 +7,7 @@ import axios from "axios";
export const useStore = create((set, get) => ({ export const useStore = create((set, get) => ({
airDCPPSocketConnected: false, airDCPPSocketConnected: false,
disconnectionInfo: {}, disconnectionInfo: {},
airDCPPClientConfiguration: {},
setAirDCPPSocketConnectionStatus: () => setAirDCPPSocketConnectionStatus: () =>
set((value) => ({ set((value) => ({
airDCPPSocketConnected: value, airDCPPSocketConnected: value,
@@ -20,23 +20,22 @@ export const useStore = create((set, get) => ({
const { getState, setState } = useStore; const { getState, setState } = useStore;
// 1. get settings from mongo // 1. get settings from mongo
const { data, isLoading, isError } = useQuery({ const { data } = await axios({
queryKey: ["settings"],
queryFn: async () =>
await axios({
url: "http://localhost:3000/api/settings/getAllSettings", url: "http://localhost:3000/api/settings/getAllSettings",
method: "GET", method: "GET",
}),
}); });
const directConnectConfiguration = data?.data.directConnect.client.host; const directConnectConfiguration = data?.directConnect.client.host;
console.log(directConnectConfiguration);
// 2. If available, init AirDC++ Socket with those settings // 2. If available, init AirDC++ Socket with those settings
useEffect(() => {
if (!isEmpty(directConnectConfiguration)) { if (!isEmpty(directConnectConfiguration)) {
initializeAirDCPPSocket(directConnectConfiguration); initializeAirDCPPSocket(directConnectConfiguration);
setState({
airDCPPClientConfiguration: directConnectConfiguration,
});
} }
}, [directConnectConfiguration]);
// Method to init AirDC++ Socket with supplied settings // Method to init AirDC++ Socket with supplied settings
const initializeAirDCPPSocket = async (configuration) => { const initializeAirDCPPSocket = async (configuration) => {

View File

@@ -6,6 +6,11 @@ export default defineConfig({
publicDir: "public", publicDir: "public",
base: "", base: "",
build: "esnext", build: "esnext",
esbuild: {
supported: {
"top-level-await": true, //browsers can handle top-level-await features
},
},
server: { host: true }, server: { host: true },
plugins: [ plugins: [
nodeResolve({ nodeResolve({