diff --git a/src/lib/components/ShipEdit/ShipCost.svelte b/src/lib/components/ShipEdit/ShipCost.svelte new file mode 100644 index 0000000..969b577 --- /dev/null +++ b/src/lib/components/ShipEdit/ShipCost.svelte @@ -0,0 +1,86 @@ +
+ + + + +
+ {#if withinBudget} + mass unused: {massUnused} + {:else} + excessive mass: {-massUnused} + {/if} +
+
+
+ +
+ + {cost} + +
+ + + + diff --git a/src/lib/components/ShipEdit/index.svelte b/src/lib/components/ShipEdit/index.svelte index 841b7c7..5a96ab0 100644 --- a/src/lib/components/ShipEdit/index.svelte +++ b/src/lib/components/ShipEdit/index.svelte @@ -1,12 +1,24 @@ - +
+ + + +
diff --git a/src/lib/shipDux/index.js b/src/lib/shipDux/index.js index 755e3e9..3cf5750 100644 --- a/src/lib/shipDux/index.js +++ b/src/lib/shipDux/index.js @@ -1,4 +1,5 @@ import { Updux } from "updux"; +import u from 'updeep'; import engine from "./engine.js"; import identification from "./identification.js"; @@ -10,8 +11,13 @@ const dux = new Updux({ engine, }, initial: { - reqs: { cost: 0, mass: 10 }, + reqs: { cost: 0, mass: 10, usedMass: 0 }, }, + actions: { + setShipMass: null, + } }); +dux.setMutation( 'setShipMass', mass => u({reqs: {mass}}) ); + export default dux;