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;