From 161175c3c942abbefe8b3600ccad948d59ba9d09 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 6 Mar 2022 14:29:40 -0500 Subject: [PATCH] firecons --- src/dux/index.js | 12 ------- .../ShipEdit/Weaponry/Firecons.svelte | 21 ++++++++++++ .../ShipEdit/Weaponry/Weaponry.stories.svelte | 33 +++++++++++++++++++ .../components/ShipEdit/Weaponry/index.svelte | 16 +++++++++ src/lib/shipDux/weaponry/index.js | 30 +++++++++++++++++ 5 files changed, 100 insertions(+), 12 deletions(-) create mode 100644 src/lib/components/ShipEdit/Weaponry/Firecons.svelte create mode 100644 src/lib/components/ShipEdit/Weaponry/Weaponry.stories.svelte create mode 100644 src/lib/components/ShipEdit/Weaponry/index.svelte create mode 100644 src/lib/shipDux/weaponry/index.js diff --git a/src/dux/index.js b/src/dux/index.js index 86acdde..2c234ca 100644 --- a/src/dux/index.js +++ b/src/dux/index.js @@ -129,18 +129,6 @@ dux.addSubscription((store) => ) ); -const calc_firecons_reqs = (nbr) => ({ - cost: 4 * nbr, - mass: nbr, -}); - -const set_firecons = action("set_firecons", payload()); -dux.addMutation(set_firecons, (nbr) => - u.updateIn("weaponry.firecons", { - nbr, - ...calc_firecons_reqs(nbr), - }) -); export default dux.asDux; diff --git a/src/lib/components/ShipEdit/Weaponry/Firecons.svelte b/src/lib/components/ShipEdit/Weaponry/Firecons.svelte new file mode 100644 index 0000000..24ffc9c --- /dev/null +++ b/src/lib/components/ShipEdit/Weaponry/Firecons.svelte @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/src/lib/components/ShipEdit/Weaponry/Weaponry.stories.svelte b/src/lib/components/ShipEdit/Weaponry/Weaponry.stories.svelte new file mode 100644 index 0000000..35be883 --- /dev/null +++ b/src/lib/components/ShipEdit/Weaponry/Weaponry.stories.svelte @@ -0,0 +1,33 @@ + + + + + + + diff --git a/src/lib/components/ShipEdit/Weaponry/index.svelte b/src/lib/components/ShipEdit/Weaponry/index.svelte new file mode 100644 index 0000000..18bd2c5 --- /dev/null +++ b/src/lib/components/ShipEdit/Weaponry/index.svelte @@ -0,0 +1,16 @@ +
+ +
+ + + + diff --git a/src/lib/shipDux/weaponry/index.js b/src/lib/shipDux/weaponry/index.js new file mode 100644 index 0000000..7c97c15 --- /dev/null +++ b/src/lib/shipDux/weaponry/index.js @@ -0,0 +1,30 @@ +import { Updux } from "updux"; +import u from "updeep"; + +const reqs = { cost: 0, mass: 0 }; + +const dux = new Updux({ + initial: { + firecons: { + stations: 0, + reqs, + }, + }, + actions: { + setFirecons: null, + }, +}); + +dux.setMutation("setFirecons", (stations) => + u({ + firecons: { + stations, + reqs: { + cost: 4 * stations, + mass: stations, + }, + }, + }) +); + +export default dux;