diff --git a/package.json b/package.json
index 2a98b5d..e40e34c 100644
--- a/package.json
+++ b/package.json
@@ -35,14 +35,13 @@
"@storybook/addon-svelte-csf": "^1.1.0",
"@storybook/svelte": "^6.4.19",
"@sveltejs/adapter-node": "^1.0.0-next.0",
- "@yanick/updeep": "link:/home/yanick/work/javascript/updeep",
"lodash": "^4.17.21",
"redux": "^4.1.2",
"reselect": "^4.1.5",
"rollup-plugin-analyzer": "^4.0.0",
"svelte-knobby": "^0.3.4",
"ts-action": "^11.0.0",
- "updux": "link:/home/yanick/work/javascript/updux/",
+ "updux": "link:/home/yanick/work/javascript/updux-js/",
"webpack": "5"
},
"prettier": {
diff --git a/src/dux/index.js b/src/dux/index.js
index 3565298..8d582ef 100644
--- a/src/dux/index.js
+++ b/src/dux/index.js
@@ -36,8 +36,6 @@ const initial = {
},
};
-console.log(Updux);
-
const dux = new Updux({
subduxes: { ftl, engine, weaponry, structure, cargo, streamlining, carrier },
initial
diff --git a/src/lib/components/ShipEdit/Identification/Identification.stories.svelte b/src/lib/components/ShipEdit/Identification/Identification.stories.svelte
new file mode 100644
index 0000000..49bf570
--- /dev/null
+++ b/src/lib/components/ShipEdit/Identification/Identification.stories.svelte
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/lib/components/ShipEdit/Identification/index.svelte b/src/lib/components/ShipEdit/Identification/index.svelte
new file mode 100644
index 0000000..0c57162
--- /dev/null
+++ b/src/lib/components/ShipEdit/Identification/index.svelte
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/dux/ship_types.js b/src/lib/components/ShipEdit/Identification/shipTypes.js
similarity index 93%
rename from src/dux/ship_types.js
rename to src/lib/components/ShipEdit/Identification/shipTypes.js
index f37b43b..038da4f 100644
--- a/src/dux/ship_types.js
+++ b/src/lib/components/ShipEdit/Identification/shipTypes.js
@@ -20,7 +20,6 @@ const ship_types = [
{ name: "Attack Carrier", mass: [150, 300], abbrev: "CVA", carrier: true },
];
-export function candidate_ship_types(mass = 0, carrier = false) {
- console.log({carrier});
+export function candidateShipTypes(mass = 0, carrier = false) {
return ship_types.filter((c) => carrier == !!c.carrier).filter((c) => c.mass[0] <= mass).filter((c) => c.mass[1] >= mass);
}
diff --git a/src/lib/components/ShipSpecs/index.svelte b/src/lib/components/ShipSpecs/index.svelte
index a564076..af4d310 100644
--- a/src/lib/components/ShipSpecs/index.svelte
+++ b/src/lib/components/ShipSpecs/index.svelte
@@ -6,9 +6,3 @@
import Identification from "./Identification.svelte";
import ShipCost from "./ShipCost.svelte";
-
-
diff --git a/src/lib/shipDux/engine.js b/src/lib/shipDux/engine.js
new file mode 100644
index 0000000..ed14366
--- /dev/null
+++ b/src/lib/shipDux/engine.js
@@ -0,0 +1,28 @@
+import {Updux} from "updux";
+import u from 'updeep';
+
+import reqs from './reqs.js';
+
+const dux = new Updux({
+ subduxes: { reqs },
+ initial: {
+ rating: 1,
+ advanced: false,
+ },
+ actions: {
+ setEngine: null,
+ setEngineReqs: null,
+ }
+});
+
+dux.addMutation('setEngine', changes => u(changes) );
+dux.addMutation('setEngineReqs', reqs => u({reqs}) );
+
+export function calcDriveReqs(shipMass,rating,advanced=false) {
+ const mass = Math.ceil(rating * 0.05 * shipMass);
+ const cost = mass * ( advanced ? 3 : 2 );
+
+ return { mass, cost };
+}
+
+export default dux;
diff --git a/src/lib/shipDux/index.js b/src/lib/shipDux/index.js
new file mode 100644
index 0000000..1b63cb1
--- /dev/null
+++ b/src/lib/shipDux/index.js
@@ -0,0 +1,12 @@
+import Updux from "updux";
+
+import engine from './engine.js';
+
+const dux = new Updux({
+ subduxes: {
+ engine,
+ },
+
+});
+
+export default dux;