feat: ea and cs

This commit is contained in:
TrèsAbhi committed 2024-01-21 22:11:01 -06:00
1 parent a0c9895122
commit 9488602f5b
17 files changed
+134 -43

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
import { EquipmentPreset } from '../core/blitzkrieg/equipmentDefinitions';
import { EquipmentMatrix } from '../stores/tankopedia';
export function useAppliedEquipments(
matrix: EquipmentMatrix,
preset: EquipmentPreset,
) {
const flatMatrix = matrix.flat();
return preset.flat().map((options, index) => options[flatMatrix[index]]);
}
+8
View File
@@ -0,0 +1,8 @@
import usePromise from 'react-promise-suspense';
/**
* A more stable alternative to `use` using `usePromise`.
*/
export function useAwait<Type>(promise: Promise<Type>) {
return usePromise(async () => await promise, []);
}
+8
View File
@@ -0,0 +1,8 @@
import { equipmentDefinitions } from '../core/blitzkrieg/equipmentDefinitions';
import { useAwait } from './useAwait';
export function useEquipmentPreset(preset: string) {
const awaitedEquipmentDefinitions = useAwait(equipmentDefinitions);
console.log(awaitedEquipmentDefinitions);
return awaitedEquipmentDefinitions.presets[preset];
}
+2 -2
View File
@@ -1,6 +1,6 @@
import usePromise from 'react-promise-suspense';
import { modelDefinitions } from '../core/blitzkrieg/modelDefinitions';
import { useAwait } from './useAwait';
export function useModelDefinitions() {
return usePromise(async () => await modelDefinitions, []);
return useAwait(modelDefinitions);
}