Merge branch 'import_warnings' into local_server

This commit is contained in:
Carter 2026-05-19 16:18:42 -06:00
commit 9f02b47def
54 changed files with 132 additions and 113 deletions

2
package-lock.json generated
View file

@ -11205,7 +11205,7 @@
}, },
"node_modules/protobuf-ts": { "node_modules/protobuf-ts": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#9c0f668d4a56b8216dd71a44c3110a818aaf3541", "resolved": "git+https://gitlab+deploy-token-50627:hv8mB4WkyvtjBpJKU1rN@gitlab.com/brandx/protobuf-ts.git#29d9765ce93c04ad70d795b80e9873fc2fc5f600",
"dependencies": { "dependencies": {
"protobufjs": "^6.8.8" "protobufjs": "^6.8.8"
} }

View file

@ -71,6 +71,7 @@ export default function DeviceScannedComponents(props: Props){
let valid: quack.AddressData[] = [] let valid: quack.AddressData[] = []
//filter the address data //filter the address data
let addr = scannedI2C?.settings?.foundAddresses let addr = scannedI2C?.settings?.foundAddresses
console.log(addr)
if(addr){ if(addr){
addr.forEach(addrData => { addr.forEach(addrData => {
if(!i2cBlacklistAddresses.includes(addrData.address)){ if(!i2cBlacklistAddresses.includes(addrData.address)){

View file

@ -20,6 +20,7 @@ interface Props {
ambient?: Component ambient?: Component
start: Moment; start: Moment;
end: Moment; end: Moment;
multiGraphZoom?: (domain: number[] | string[]) => void;
} }
export default function GateDeltaTempGraph(props: Props){ export default function GateDeltaTempGraph(props: Props){
@ -28,7 +29,8 @@ export default function GateDeltaTempGraph(props: Props){
ambient, ambient,
deviceID, deviceID,
start, start,
end end,
multiGraphZoom
} = props } = props
const [data, setData] = useState<SSAreaDataPoint[]>([]) const [data, setData] = useState<SSAreaDataPoint[]>([])
const [{user}] = useGlobalState() const [{user}] = useGlobalState()
@ -110,7 +112,6 @@ export default function GateDeltaTempGraph(props: Props){
end.toISOString(), end.toISOString(),
500 500
).then(resp => { ).then(resp => {
console.log(resp)
if(resp.data.measurements){ if(resp.data.measurements){
let tempCompMeasurements = resp.data.measurements.map(um => UnitMeasurement.any(um, user)); let tempCompMeasurements = resp.data.measurements.map(um => UnitMeasurement.any(um, user));
//if there is an ambient component, then treat the temp component like a single sensor and not a chain, and use the ambient measurements as the inlet //if there is an ambient component, then treat the temp component like a single sensor and not a chain, and use the ambient measurements as the inlet
@ -217,7 +218,8 @@ export default function GateDeltaTempGraph(props: Props){
tooltipUnit={user.tempUnit() === pond.TemperatureUnit.TEMPERATURE_UNIT_FAHRENHEIT ? " °F" : " °C"} tooltipUnit={user.tempUnit() === pond.TemperatureUnit.TEMPERATURE_UNIT_FAHRENHEIT ? " °F" : " °C"}
yAxisLabel={"Delta T" + (user.tempUnit() === pond.TemperatureUnit.TEMPERATURE_UNIT_FAHRENHEIT ? " °F" : " °C")} yAxisLabel={"Delta T" + (user.tempUnit() === pond.TemperatureUnit.TEMPERATURE_UNIT_FAHRENHEIT ? " °F" : " °C")}
colourAboveZero={{colour: warmingColour, label: "Heating"}} colourAboveZero={{colour: warmingColour, label: "Heating"}}
colourBelowZero={{colour: coolingColour, label: "Cooling"}}/> colourBelowZero={{colour: coolingColour, label: "Cooling"}}
multiGraphZoom={multiGraphZoom}/>
</Card> </Card>
) )

View file

@ -15,7 +15,7 @@ import { Gate } from "models/Gate";
import moment, { Moment } from "moment"; import moment, { Moment } from "moment";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGateAPI, useGlobalState } from "providers"; import { useGateAPI, useGlobalState } from "providers";
import React, { useEffect, useState } from "react"; import React, { useCallback, useEffect, useState } from "react";
interface Props { interface Props {
gate: Gate; gate: Gate;
@ -25,7 +25,6 @@ interface Props {
ambient?: string; ambient?: string;
newXDomain?: number[] | string[]; newXDomain?: number[] | string[];
pressureComponent?: string; pressureComponent?: string;
// setPCAState: (state: boolean) => void;
multiGraphZoom?: (domain: number[] | string[]) => void; multiGraphZoom?: (domain: number[] | string[]) => void;
} }
@ -55,7 +54,6 @@ export default function GateFlowGraph(props: Props) {
device, device,
ambient, ambient,
pressureComponent, pressureComponent,
// setPCAState,
start, start,
end, end,
newXDomain, newXDomain,
@ -74,12 +72,13 @@ export default function GateFlowGraph(props: Props) {
const eventThreshold = 5; //the threshold that if crossed from one measurement to the next during a flow event will end the current flow event and start a new one const eventThreshold = 5; //the threshold that if crossed from one measurement to the next during a flow event will end the current flow event and start a new one
//const idleFlow = 3.5; //the mass air flow that must be crossed in order to start a flow event, anything below this will not start an event but must go below this to end an event //const idleFlow = 3.5; //the mass air flow that must be crossed in order to start a flow event, anything below this will not start an event but must go below this to end an event
const [idleFlow, setIdleFlow] = useState(3.5) const [idleFlow, setIdleFlow] = useState(3.5)
useEffect(() => { const loadData = useCallback(()=>{
if (loadingChartData) return; if (loadingChartData) return;
if (ambient && pressureComponent) { if (ambient && pressureComponent) {
let gateIdle = idleFlow let gateIdle = idleFlow
if(gate.settings.idleFlow){ if(gate.settings.idleFlow){
setIdleFlow(gate.settings.idleFlow)
gateIdle = gate.settings.idleFlow gateIdle = gate.settings.idleFlow
} }
@ -131,22 +130,17 @@ export default function GateFlowGraph(props: Props) {
} }
}); });
setRuntime(moment.duration(runtime)); setRuntime(moment.duration(runtime));
// let state = false;
// if (
// data.length > 1 &&
// data[data.length - 1].value > gate.lowerFlow() &&
// data[data.length - 1].value < gate.upperFlow()
// ) {
// state = true;
// }
// setPCAState(state);
} }
setFlowData(data); setFlowData(data);
setLoadingChartData(false); setLoadingChartData(false);
setRecent(recent); setRecent(recent);
}); });
} }
}, [gateAPI, gate, ambient, pressureComponent, start, end, device, as]); // eslint-disable-line react-hooks/exhaustive-deps },[gateAPI, gate, ambient, pressureComponent, start, end, device, as])
useEffect(() => {
loadData()
}, [loadData]); // eslint-disable-line react-hooks/exhaustive-deps
const loadFlowEvents = () => { const loadFlowEvents = () => {
if (ambient && pressureComponent) { if (ambient && pressureComponent) {

View file

@ -101,16 +101,22 @@ export default function GateGraphs(props: Props) {
}); });
}, [gate, endDate, gateAPI, startDate, as]); // eslint-disable-line react-hooks/exhaustive-deps }, [gate, endDate, gateAPI, startDate, as]); // eslint-disable-line react-hooks/exhaustive-deps
const updateDateRange = (newStartDate: any, newEndDate: any) => { const updateDateRange = (newStartDate: moment.Moment, newEndDate: moment.Moment) => {
let range = GetDefaultDateRange();
range.start = newStartDate;
range.end = newEndDate;
setStartDate(newStartDate); setStartDate(newStartDate);
setEndDate(newEndDate); setEndDate(newEndDate);
}; };
const zoomGraphs = (domain: string[] | number[]) => {
setZoomed(true)
if((domain[0] && !isNaN(parseInt(domain[0] as string))) && (domain[1] && !isNaN(parseInt(domain[1] as string)))){
updateDateRange(moment(domain[0]),moment(domain[1]))
}
}
const zoomOut = () => { const zoomOut = () => {
setXDomain(["dataMin", "dataMax"]); let d = GetDefaultDateRange()
setStartDate(d.start)
setEndDate(d.end)
setZoomed(false); setZoomed(false);
}; };
@ -175,8 +181,7 @@ export default function GateGraphs(props: Props) {
tooltip tooltip
newXDomain={xDomain} newXDomain={xDomain}
multiGraphZoom={domain => { multiGraphZoom={domain => {
setXDomain(domain); zoomGraphs(domain)
setZoomed(true);
}} }}
multiGraphZoomOut multiGraphZoomOut
/> />
@ -239,8 +244,7 @@ export default function GateGraphs(props: Props) {
tooltip tooltip
newXDomain={xDomain} newXDomain={xDomain}
multiGraphZoom={domain => { multiGraphZoom={domain => {
setXDomain(domain); zoomGraphs(domain)
setZoomed(true);
}} }}
multiGraphZoomOut multiGraphZoomOut
/> />
@ -250,7 +254,6 @@ export default function GateGraphs(props: Props) {
const graphHeader = (comp: Component) => { const graphHeader = (comp: Component) => {
const componentIcon = GetComponentIcon(comp.settings.type, comp.settings.subtype, themeType); const componentIcon = GetComponentIcon(comp.settings.type, comp.settings.subtype, themeType);
console.log(comp)
let measurement = cloneDeep(comp.status.measurement) let measurement = cloneDeep(comp.status.measurement)
let umArray = measurement.map(um => UnitMeasurement.create(um, user)) let umArray = measurement.map(um => UnitMeasurement.create(um, user))
return ( return (
@ -356,17 +359,22 @@ export default function GateGraphs(props: Props) {
gate={gate} gate={gate}
ambient={ambient} ambient={ambient}
pressureComponent={pressure} pressureComponent={pressure}
// setPCAState={(state: boolean) => {
// setPCAState(state);
// }}
multiGraphZoom={domain => { multiGraphZoom={domain => {
setXDomain(domain); zoomGraphs(domain)
setZoomed(true);
}} }}
/> />
{/* add a new chart here for the delta temp over time */} {/* add a new chart here for the delta temp over time */}
{tempComp && {tempComp &&
<GateDeltaTempGraph deviceID={device} start={startDate} end={endDate} tempComponent={tempComp} ambient={ambientComp}/> <GateDeltaTempGraph
deviceID={device}
start={startDate}
end={endDate}
tempComponent={tempComp}
ambient={ambientComp}
multiGraphZoom={domain => {
zoomGraphs(domain)
}}
/>
} }
</Box> </Box>
); );

View file

@ -272,7 +272,12 @@ export default function GateList(props: Props) {
// cellStyle: {width: 100000}, // cellStyle: {width: 100000},
// sortKey: "state", // sortKey: "state",
render: gate => { render: gate => {
const deviceStateHelper = getDeviceStateHelper(gate.status.pcaDeviceState); let deviceStateHelper = getDeviceStateHelper(pond.DeviceState.DEVICE_STATE_UNKNOWN);
if(moment().isAfter(moment(gate.status.deviceStateExpires).add(1, 'hour'))){
deviceStateHelper = getDeviceStateHelper(pond.DeviceState.DEVICE_STATE_MISSING)
}else{
deviceStateHelper = getDeviceStateHelper(gate.status.pcaDeviceState)
}
return ( return (
<Box className={classes.cellContainer}> <Box className={classes.cellContainer}>
<Tooltip title={deviceStateHelper.description}>{deviceStateHelper.icon}</Tooltip> <Tooltip title={deviceStateHelper.description}>{deviceStateHelper.icon}</Tooltip>

View file

@ -262,7 +262,7 @@ export default function NewObjectInteraction(props: Props){
const conditionGroup = (condition: pond.InteractionCondition, index: number) => { const conditionGroup = (condition: pond.InteractionCondition, index: number) => {
let measurementType = condition.measurementType; let measurementType = condition.measurementType;
let describer = describeMeasurement(measurementType, newAlertComponentType); let describer = describeMeasurement(measurementType, newAlertComponentType, undefined, undefined, user);
let isBoolean = condition.measurementType === Measurement.boolean; let isBoolean = condition.measurementType === Measurement.boolean;
return ( return (
<React.Fragment key={index}> <React.Fragment key={index}>

View file

@ -58,9 +58,9 @@ import {
// useBinYardAPI, // useBinYardAPI,
useGlobalState, useGlobalState,
useInteractionsAPI, useInteractionsAPI,
useSnackbar, useSnackbar
useTeamAPI
} from "providers"; } from "providers";
import { useTeamAPI } from "providers/pond/teamAPI";
import React, { SetStateAction, useCallback, useEffect, useState } from "react"; import React, { SetStateAction, useCallback, useEffect, useState } from "react";
// import { getThemeType } from "theme"; // import { getThemeType } from "theme";
import { stringToMaterialColour } from "utils"; import { stringToMaterialColour } from "utils";

View file

@ -7,7 +7,8 @@ import { useDeviceStatusStreams } from "hooks/useDeviceStatusStreams";
import { useCallback, useEffect, useMemo, useState } from "react"; import { useCallback, useEffect, useMemo, useState } from "react";
import { useLocation, useParams } from "react-router-dom"; import { useLocation, useParams } from "react-router-dom";
import PageContainer from "./PageContainer"; import PageContainer from "./PageContainer";
import { useHTTP, useMobile } from "hooks"; import { useMobile } from "hooks";
import { useHTTP } from "providers/http";
import LoadingScreen from "app/LoadingScreen"; import LoadingScreen from "app/LoadingScreen";
import SmartBreadcrumb from "common/SmartBreadcrumb"; import SmartBreadcrumb from "common/SmartBreadcrumb";
import DeviceActions from "device/DeviceActions"; import DeviceActions from "device/DeviceActions";
@ -623,4 +624,4 @@ export default function DevicePage() {
{componentCards()} {componentCards()}
</PageContainer> </PageContainer>
); );
} }

View file

@ -38,7 +38,8 @@ import {
} from "pbHelpers/DeviceAvailability"; } from "pbHelpers/DeviceAvailability";
import { getDefaultInteraction } from "pbHelpers/Interaction"; import { getDefaultInteraction } from "pbHelpers/Interaction";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState, useTeamAPI } from "providers"; import { useGlobalState } from "providers";
import { useTeamAPI } from "providers/pond/teamAPI";
import { useCallback, useEffect, useRef, useState } from "react"; import { useCallback, useEffect, useRef, useState } from "react";
import { useParams } from "react-router-dom"; import { useParams } from "react-router-dom";
// import { useRouteMatch } from "react-router"; // import { useRouteMatch } from "react-router";

View file

@ -5,8 +5,9 @@ import { makeStyles } from "@mui/styles";
import ResponsiveTable, { Column } from "common/ResponsiveTable"; import ResponsiveTable, { Column } from "common/ResponsiveTable";
import ProvisionDevice from "device/ProvisionDevice"; import ProvisionDevice from "device/ProvisionDevice";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useDeviceAPI, useGlobalState, useGroupAPI, useTeamAPI } from "providers"; import { useDeviceAPI, useGlobalState, useGroupAPI } from "providers";
import { useHTTP } from "hooks"; import { useHTTP } from "providers/http";
import { useTeamAPI } from "providers/pond/teamAPI";
import { useDeviceStatusStreams } from "hooks/useDeviceStatusStreams"; import { useDeviceStatusStreams } from "hooks/useDeviceStatusStreams";
import { useCallback, useEffect, useMemo, useState } from "react"; import { useCallback, useEffect, useMemo, useState } from "react";
import PageContainer from "./PageContainer"; import PageContainer from "./PageContainer";
@ -1204,4 +1205,4 @@ export default function Devices() {
/> />
</PageContainer> </PageContainer>
) )
} }

View file

@ -12,7 +12,8 @@ import { appendToUrl } from "navigation/Router";
import PageContainer from "pages/PageContainer"; import PageContainer from "pages/PageContainer";
import { getContextKeys, getContextTypes } from "pbHelpers/Context"; import { getContextKeys, getContextTypes } from "pbHelpers/Context";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState, useSnackbar, useTeamAPI, useUserAPI } from "providers"; import { useGlobalState, useSnackbar, useUserAPI } from "providers";
import { useTeamAPI } from "providers/pond/teamAPI";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useLocation, useNavigate, useParams } from 'react-router-dom'; import { useLocation, useNavigate, useParams } from 'react-router-dom';
import { getSignatureAccentColour, IsAdaptiveAgriculture, IsStreamline } from "services/whiteLabel"; import { getSignatureAccentColour, IsAdaptiveAgriculture, IsStreamline } from "services/whiteLabel";

View file

@ -1,7 +1,7 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import React, { createContext, PropsWithChildren, useContext } from "react"; import React, { createContext, PropsWithChildren, useContext } from "react";
import { or } from "utils"; import { or } from "utils";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,4 +1,5 @@
import { useHTTP, usePermissionAPI } from "hooks"; import { useHTTP } from "../http";
import { usePermissionAPI } from "./permissionAPI";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { has, or } from "utils/types"; import { has, or } from "utils/types";
@ -6,7 +7,7 @@ import { User, binScope } from "models";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { dateRange } from "providers/http"; import { dateRange } from "providers/http";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { quack } from "protobuf-ts/quack"; import { quack } from "protobuf-ts/quack";
export interface IBinAPIContext { export interface IBinAPIContext {

View file

@ -1,10 +1,10 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { or } from "utils/types"; import { or } from "utils/types";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface IBinYardAPIContext { export interface IBinYardAPIContext {
addBinYard: (bin: pond.BinYardSettings, otherTeam?: string) => Promise<AxiosResponse<pond.AddBinYardResponse>>; addBinYard: (bin: pond.BinYardSettings, otherTeam?: string) => Promise<AxiosResponse<pond.AddBinYardResponse>>;

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
//import { or } from "utils"; //import { or } from "utils";

View file

@ -1,4 +1,4 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
// import { useWebsocket } from "websocket"; // import { useWebsocket } from "websocket";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
@ -7,7 +7,7 @@ import { getComponentIDString } from "pbHelpers/Component";
import { Component } from "models"; import { Component } from "models";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { quack } from "protobuf-ts/quack"; import { quack } from "protobuf-ts/quack";
export interface IComponentAPIContext { export interface IComponentAPIContext {

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface IContractInterface { export interface IContractInterface {
addContract: ( addContract: (

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,10 +1,11 @@
import { useHTTP, usePermissionAPI } from "hooks"; import { useHTTP } from "../http";
import { usePermissionAPI } from "./permissionAPI";
import { Component, deviceScope, User } from "models"; import { Component, deviceScope, User } from "models";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import moment from "moment"; import moment from "moment";
import { or } from "utils/types"; import { or } from "utils/types";
import { dateRange } from "providers/http"; import { dateRange } from "providers/http";

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface IDevicePresetInterface { export interface IDevicePresetInterface {
//add //add

View file

@ -1,7 +1,7 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import React, { createContext, PropsWithChildren, useContext } from "react"; import React, { createContext, PropsWithChildren, useContext } from "react";
import { or } from "utils"; import { or } from "utils";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,7 +1,7 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers/StateContainer"; import { useGlobalState } from "providers/StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";

View file

@ -1,4 +1,4 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers/StateContainer"; import { useGlobalState } from "providers/StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface IGateInterface { export interface IGateInterface {
addGate: ( addGate: (

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { or } from "utils"; import { or } from "utils";
export interface IGrainInterface { export interface IGrainInterface {

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import React, { createContext, PropsWithChildren, useContext } from "react"; import React, { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface IGrainBagInterface { export interface IGrainBagInterface {
addGrainBag: ( addGrainBag: (

View file

@ -1,11 +1,12 @@
import { useHTTP, usePermissionAPI } from "hooks"; import { useHTTP } from "../http";
import { usePermissionAPI } from "./permissionAPI";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { or } from "utils/types"; import { or } from "utils/types";
import { User, groupScope } from "models"; import { User, groupScope } from "models";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { getContextKeys, getContextTypes } from "pbHelpers/Context"; import { getContextKeys, getContextTypes } from "pbHelpers/Context";
export interface IGroupAPIContext { export interface IGroupAPIContext {

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers/StateContainer"; import { useGlobalState } from "providers/StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";

View file

@ -1,7 +1,7 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,6 +1,6 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { Interaction } from "models"; import { Interaction } from "models";
import { componentIDToString } from "pbHelpers/Component"; import { componentIDToString } from "pbHelpers/Component";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
//import { or } from "utils"; //import { or } from "utils";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import React, { createContext, PropsWithChildren, useContext } from "react"; import React, { createContext, PropsWithChildren, useContext } from "react";
//import { or } from "utils"; //import { or } from "utils";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { permissionToString } from "pbHelpers/Permission"; import { permissionToString } from "pbHelpers/Permission";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers/StateContainer"; import { useGlobalState } from "providers/StateContainer";

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface IMutationAPIContext { export interface IMutationAPIContext {
linearMutation: ( linearMutation: (

View file

@ -1,7 +1,7 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
// import { useGlobalState } from "providers"; // import { useGlobalState } from "../StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,10 +1,10 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import React, { createContext, PropsWithChildren, useContext } from "react"; import React, { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { or } from "utils/types"; import { or } from "utils/types";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface INotificationAPIContext { export interface INotificationAPIContext {
listNotifications: ( listNotifications: (

View file

@ -1,9 +1,9 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { Scope, Team, User } from "models"; import { Scope, Team, User } from "models";
import { permissionToString } from "pbHelpers/Permission"; import { permissionToString } from "pbHelpers/Permission";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { objectQueryParams, pondURL } from "./pond"; import { objectQueryParams, pondURL } from "./pond";

View file

@ -1,4 +1,4 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,5 +1,5 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers/StateContainer"; import { useGlobalState } from "providers/StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";

View file

@ -1,4 +1,4 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,7 +1,7 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,11 +1,11 @@
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { Scope, Team } from "models"; import { Scope, Team } from "models";
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { or } from "utils/types"; import { or } from "utils/types";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface ITeamAPIContext { export interface ITeamAPIContext {
addTeam: (team: pond.TeamSettings) => Promise<AxiosResponse<pond.AddTeamResponse>>; addTeam: (team: pond.TeamSettings) => Promise<AxiosResponse<pond.AddTeamResponse>>;

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
export interface ITerminalAPIContext { export interface ITerminalAPIContext {
addTerminal: ( addTerminal: (

View file

@ -1,9 +1,9 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { pondURL } from "./pond"; import { pondURL } from "./pond";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { or } from "utils"; import { or } from "utils";
export interface ITransactionAPIContext { export interface ITransactionAPIContext {

View file

@ -1,6 +1,6 @@
import { useHTTP } from "hooks"; import { useHTTP } from "../http";
import moment from "moment"; import moment from "moment";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { pondURL } from "./pond"; import { pondURL } from "./pond";

View file

@ -1,10 +1,10 @@
// import { useHTTP } from "hooks"; // import { useHTTP } from "../http";
// import { Scope, User } from "models"; // import { Scope, User } from "models";
// import { pond } from "protobuf-ts/pond"; // import { pond } from "protobuf-ts/pond";
import { createContext, PropsWithChildren, useContext } from "react"; import { createContext, PropsWithChildren, useContext } from "react";
import { objectQueryParams, pondURL } from "./pond"; import { objectQueryParams, pondURL } from "./pond";
// import { or } from "utils"; // import { or } from "utils";
import { useGlobalState } from "providers"; import { useGlobalState } from "../StateContainer";
// import { AxiosResponse } from "axios"; // import { AxiosResponse } from "axios";
import { useHTTP } from "../http"; import { useHTTP } from "../http";
import { AxiosResponse } from "axios"; import { AxiosResponse } from "axios";

View file

@ -1,4 +1,4 @@
import * as axios from "axios"; import axios from "axios";
export var defaultOptions = { export var defaultOptions = {
headers: { headers: {

View file

@ -12,7 +12,8 @@ import {
Grid2, Grid2,
} from "@mui/material"; } from "@mui/material";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useGlobalState, useSnackbar, useTeamAPI, useUserAPI } from "providers"; import { useGlobalState, useSnackbar, useUserAPI } from "providers";
import { useTeamAPI } from "providers/pond/teamAPI";
import { Team, teamScope } from "models"; import { Team, teamScope } from "models";
import { useNavigate } from "react-router"; import { useNavigate } from "react-router";
import { cloneDeep } from "lodash"; import { cloneDeep } from "lodash";

View file

@ -14,7 +14,8 @@ import {
import ResponsiveDialog from "common/ResponsiveDialog"; import ResponsiveDialog from "common/ResponsiveDialog";
import { Team } from "models"; import { Team } from "models";
import { pond } from "protobuf-ts/pond"; import { pond } from "protobuf-ts/pond";
import { useSnackbar, useTeamAPI } from "providers"; import { useSnackbar } from "providers";
import { useTeamAPI } from "providers/pond/teamAPI";
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import DeleteButton from "common/DeleteButton"; import DeleteButton from "common/DeleteButton";
import { userRoleFromPermissions } from "pbHelpers/User"; import { userRoleFromPermissions } from "pbHelpers/User";