Await incompatibility fix
This commit is contained in:
parent
768bc82c5b
commit
454108a959
@ -8,7 +8,7 @@
|
|||||||
},
|
},
|
||||||
"package": {
|
"package": {
|
||||||
"productName": "allenwrench-app",
|
"productName": "allenwrench-app",
|
||||||
"version": "0.1.0"
|
"version": "0.1.1"
|
||||||
},
|
},
|
||||||
"tauri": {
|
"tauri": {
|
||||||
"allowlist": {
|
"allowlist": {
|
||||||
|
63
src/App.tsx
63
src/App.tsx
@ -12,7 +12,10 @@ import { PhysicalPosition, appWindow } from "@tauri-apps/api/window";
|
|||||||
|
|
||||||
// TODO: Keyboard usage
|
// TODO: Keyboard usage
|
||||||
|
|
||||||
const codes = JSON.parse(await readTextFile(await resolveResource("resources/codes.json")));
|
// const codes = JSON.parse(await readTextFile(await resolveResource("resources/codes.json")));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
type Code = {
|
type Code = {
|
||||||
code: number;
|
code: number;
|
||||||
type: string;
|
type: string;
|
||||||
@ -33,6 +36,7 @@ invoke('get_mouse_pos', {}).then((posJson: any) => {
|
|||||||
Modal.setAppElement("#root");
|
Modal.setAppElement("#root");
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
|
const [codes, setCodes] = useState<Array<Code>>();
|
||||||
const [subTopic, setSubTopic] = useState<string>("");
|
const [subTopic, setSubTopic] = useState<string>("");
|
||||||
const [configModalOpen, setConfigModalOpen] = useState<boolean>(false);
|
const [configModalOpen, setConfigModalOpen] = useState<boolean>(false);
|
||||||
const [droneId, setDroneId] = useState<string>(() => {
|
const [droneId, setDroneId] = useState<string>(() => {
|
||||||
@ -40,6 +44,12 @@ function App() {
|
|||||||
return (storedId ? storedId : "0000");
|
return (storedId ? storedId : "0000");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
resolveResource("resources/codes.json").then((path: string) => {
|
||||||
|
readTextFile(path).then((codesJson: string) => {
|
||||||
|
setCodes(JSON.parse(codesJson));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
const getSubjects = (input: Array<Code>) => {
|
const getSubjects = (input: Array<Code>) => {
|
||||||
// TODO: Put all single-level elements at bottom
|
// TODO: Put all single-level elements at bottom
|
||||||
let subjects: Array<string> = [];
|
let subjects: Array<string> = [];
|
||||||
@ -53,6 +63,7 @@ function App() {
|
|||||||
|
|
||||||
const getTopicChildren = (topic: string) => {
|
const getTopicChildren = (topic: string) => {
|
||||||
let topicChildren: Array<string> = [];
|
let topicChildren: Array<string> = [];
|
||||||
|
if (codes){
|
||||||
codes.forEach((code: Code) => {
|
codes.forEach((code: Code) => {
|
||||||
if (code.type == topic) {
|
if (code.type == topic) {
|
||||||
if (!topicChildren.includes(code.text)) {
|
if (!topicChildren.includes(code.text)) {
|
||||||
@ -60,6 +71,7 @@ function App() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
return topicChildren;
|
return topicChildren;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -131,6 +143,36 @@ function App() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const buildMenu = () => {
|
||||||
|
if (codes) {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{getSubjects(codes).map((type: string, index: number) => {
|
||||||
|
let dispType: string = type;
|
||||||
|
let filtered = codes.filter((code: Code) => code.type === type);
|
||||||
|
if (filtered.length == 1) {
|
||||||
|
dispType += ((filtered[0].text == "")?" :: ...":((filtered[0].text == ".")?"":(" :: "+filtered[0].text)));
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<input
|
||||||
|
className={`item ${(filtered.length == 1)?"individual":""}`}
|
||||||
|
key={index}
|
||||||
|
type="button"
|
||||||
|
onClick={() => {
|
||||||
|
handleTopicClick(type)
|
||||||
|
}}
|
||||||
|
value={dispType}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
// TODO: This isn't returning as expected, use an object to append to then return the compiled list
|
||||||
|
}else{
|
||||||
|
return (<div></div>);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<Modal
|
<Modal
|
||||||
@ -198,24 +240,7 @@ function App() {
|
|||||||
</Modal>
|
</Modal>
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-4">
|
<div className="col-4">
|
||||||
{getSubjects(codes).map((type: string, index: number) => {
|
{buildMenu()}
|
||||||
let dispType: string = type;
|
|
||||||
let filtered = codes.filter((code: Code) => code.type === type);
|
|
||||||
if (filtered.length == 1) {
|
|
||||||
dispType += ((filtered[0].text == "")?" :: ...":((filtered[0].text == ".")?"":(" :: "+filtered[0].text)));
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
<input
|
|
||||||
className={`item ${(filtered.length == 1)?"individual":""}`}
|
|
||||||
key={index}
|
|
||||||
type="button"
|
|
||||||
onClick={() => {
|
|
||||||
handleTopicClick(type)
|
|
||||||
}}
|
|
||||||
value={dispType}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
</div>
|
||||||
<SubMenu/>
|
<SubMenu/>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user