Skip to content

Commit

Permalink
Merge pull request #21 from juherr/feature/redirect-pages
Browse files Browse the repository at this point in the history
feat: use redirections
  • Loading branch information
shiv3 authored Nov 29, 2024
2 parents 9549d38 + f604f3d commit d7735e5
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 26 deletions.
11 changes: 6 additions & 5 deletions src/components/Settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import React, {useState, useEffect} from "react";
import {configAtom} from "../store/store.ts";
import {useAtom} from "jotai/index";
import {DefaultBootNotification} from "../cp/OcppTypes.ts";
import {useNavigate} from "react-router-dom";

const Settings: React.FC = () => {
const [wsURL, setWsURL] = useState<string>("");
Expand All @@ -21,7 +22,7 @@ const Settings: React.FC = () => {
const [experimental, setExperimental] = useState<string | null>(null);
const [bootNotification, setBootNotification] = useState<string | null>(JSON.stringify(DefaultBootNotification));
const [config, setConfig] = useAtom(configAtom);

const navigate = useNavigate();

useEffect(() => {
if (config) {
Expand Down Expand Up @@ -62,10 +63,10 @@ const Settings: React.FC = () => {
interval: autoMeterValueInterval,
value: autoMeterValue
},
Experimental: experimental !== "" ? experimental && JSON.parse(experimental) : null,
BootNotification: bootNotification !== "" ? bootNotification && JSON.parse(bootNotification) : null,
});
// navigate(`/${location.hash}`)
Experimental: experimental && experimental !== "" ? JSON.parse(experimental) : null,
BootNotification: bootNotification && bootNotification !== "" ? JSON.parse(bootNotification) : null,
} as Config);
navigate("/");
};

return (
Expand Down
44 changes: 23 additions & 21 deletions src/components/TopPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,43 +6,45 @@ import {ChargePoint as OCPPChargePoint} from "../cp/ChargePoint.ts";
import {useAtom} from 'jotai'
import {configAtom} from "../store/store.ts";
import {BootNotification, DefaultBootNotification} from "../cp/OcppTypes.ts";

import {useNavigate} from "react-router-dom";

const TopPage: React.FC = () => {
const [cps, setCps] = useState<OCPPChargePoint[]>([]);
const [connectorNumber, setConnectorNumber] = useState<number>(2);
const [config] = useAtom(configAtom);
const [tagIDs, setTagIDs] = useState<string[]>([]);
const navigate = useNavigate();

useEffect(() => {
console.log(`Connector Number: ${config?.connectorNumber} WSURL: ${config?.wsURL} CPID: ${config?.ChargePointID} TagID: ${config?.tagID}`);
if (config?.Experimental === null) {
setConnectorNumber(config?.connectorNumber || 2);
setCps([
NewChargePoint(connectorNumber, config.ChargePointID, config.BootNotification ?? DefaultBootNotification, config.wsURL, config.basicAuthSettings,config.autoMeterValueSetting)
]);
} else {
const cps = config?.Experimental?.ChargePointIDs.map((cp) =>
NewChargePoint(cp.ConnectorNumber, cp.ChargePointID, config.BootNotification ?? DefaultBootNotification, config.wsURL,config.basicAuthSettings,config.autoMeterValueSetting)
if (!config) {
navigate('/settings');
return;
}
console.log(`Connector Number: ${config.connectorNumber} WSURL: ${config.wsURL} CPID: ${config.ChargePointID} TagID: ${config.tagID}`);
if (config.Experimental) {
const cps = config.Experimental.ChargePointIDs.map((cp) =>
NewChargePoint(cp.ConnectorNumber, cp.ChargePointID, config.BootNotification ?? DefaultBootNotification, config.wsURL, config.basicAuthSettings, config.autoMeterValueSetting)
)
setCps(cps ?? []);
const tagIDs = config?.Experimental?.TagIDs;
const tagIDs = config.Experimental.TagIDs;
setTagIDs(tagIDs ?? []);
} else {
setCps([
NewChargePoint(config.connectorNumber, config.ChargePointID, config.BootNotification ?? DefaultBootNotification, config.wsURL, config.basicAuthSettings, config.autoMeterValueSetting)
]);
}
}, []);

}, [config, navigate]);

return (
<div className="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4">
{
cps.length === 1 ? (
<>
<ChargePoint cp={cps[0]} TagID={config?.tagID ?? ""}/>
</>
config?.Experimental || cps.length !== 1 ? (
<>
<ExperimentalView cps={cps} tagIDs={tagIDs}/>
</>
) : (
<>
<ExperimentalView cps={cps} tagIDs={tagIDs}/>
</>
<>
<ChargePoint cp={cps[0]} TagID={config?.tagID ?? ""}/>
</>
)
}
</div>
Expand Down

0 comments on commit d7735e5

Please sign in to comment.