Alova 3 now working

This commit is contained in:
proddy
2024-08-10 11:39:31 +02:00
parent bb98042957
commit a718f8ed0d
31 changed files with 117 additions and 409 deletions

View File

@@ -5,8 +5,7 @@ import { Button } from '@mui/material';
import * as NetworkApi from 'api/network';
// import { updateState, useRequest } from 'alova/client'; // TODO replace when Alova 3 is released
import { updateState, useRequest } from 'alova';
import { updateState, useRequest } from 'alova/client';
import { ButtonRow, FormLoader, SectionContent } from 'components';
import { useI18nContext } from 'i18n/i18n-react';
@@ -21,18 +20,22 @@ const WiFiNetworkScanner = () => {
const [errorMessage, setErrorMessage] = useState<string>();
// is called on page load to start network scan
const { send: scanNetworks, onComplete: onCompleteScanNetworks } = useRequest(
NetworkApi.scanNetworks
const { send: scanNetworks } = useRequest(NetworkApi.scanNetworks).onComplete(
() => {
pollCount.current = 0;
setErrorMessage(undefined);
void updateState(NetworkApi.listNetworks(), () => undefined);
void getNetworkList();
}
);
const {
data: networkList,
send: getNetworkList,
onSuccess: onSuccessNetworkList
} = useRequest(NetworkApi.listNetworks, {
immediate: false
});
onSuccessNetworkList((event) => {
const { data: networkList, send: getNetworkList } = useRequest(
NetworkApi.listNetworks,
{
immediate: false
}
).onSuccess((event) => {
// is called when network scan is completed
if (!event.data) {
const completedPollCount = pollCount.current + 1;
if (completedPollCount < NUM_POLLS) {
@@ -45,42 +48,6 @@ const WiFiNetworkScanner = () => {
}
});
onCompleteScanNetworks(() => {
pollCount.current = 0;
setErrorMessage(undefined);
updateState('listNetworks', () => undefined);
void getNetworkList();
});
// Alova 3 code...
// const { send: scanNetworks } = useRequest(NetworkApi.scanNetworks).onComplete(
// () => {
// pollCount.current = 0;
// setErrorMessage(undefined);
// void updateState(NetworkApi.listNetworks(), () => undefined);
// void getNetworkList();
// }
// );
// const { data: networkList, send: getNetworkList } = useRequest(
// NetworkApi.listNetworks,
// {
// immediate: false
// }
// ).onSuccess((event) => {
// // is called when network scan is completed
// if (!event.data) {
// const completedPollCount = pollCount.current + 1;
// if (completedPollCount < NUM_POLLS) {
// pollCount.current = completedPollCount;
// setTimeout(getNetworkList, POLLING_FREQUENCY);
// } else {
// setErrorMessage(LL.PROBLEM_LOADING());
// pollCount.current = 0;
// }
// }
// });
const renderNetworkScanner = () => {
if (!networkList) {
return (