From 95646cebd8a447efaa46c483c41f6ba6f6e746af Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 13 Jun 2021 11:36:59 -0400 Subject: [PATCH] wip --- .node-version | 2 +- package.json | 5 +- src/components/App.svelte | 2 - src/components/Carrier/Squadron/index.svelte | 8 +- src/components/Carrier/index.svelte | 20 +-- src/components/Hull/Armour/Layer/index.svelte | 11 +- src/components/Hull/Cargo/index.svelte | 24 ++- src/components/Hull/Streamlining/index.svelte | 6 +- src/components/Weapon/Beam/index.svelte | 143 ++++++++--------- src/components/Weapon/index.svelte | 150 +++++++++--------- src/components/Weaponry/ADFC/index.svelte | 6 +- .../Weaponry/AddWeapon/index.svelte | 23 +-- src/dux/weaponry/weapons/index.js | 3 +- src/stores/ship.js | 43 +++-- svelte.config.js | 2 + 15 files changed, 216 insertions(+), 232 deletions(-) diff --git a/.node-version b/.node-version index fc2cbe5..fd1bd70 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -15.14.0 +16.2.0 diff --git a/package.json b/package.json index b52b73d..2f4b0e3 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "format": "prettier --write ." }, "devDependencies": { - "@sveltejs/kit": "^1.0.0-next.107", + "@sveltejs/kit": "^1.0.0-next.115", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.10", "eslint": "^7.22.0", "eslint-config-prettier": "^8.1.0", @@ -23,12 +23,13 @@ "type": "module", "dependencies": { "@sveltejs/adapter-node": "^1.0.0-next.18", - "@sveltejs/adapter-static": "^1.0.0-next.9", + "@sveltejs/adapter-static": "^1.0.0-next.13", "@yanick/updeep": "link:/home/yanick/work/javascript/updeep", "bulma": "^0.9.2", "lodash": "^4.17.21", "redux": "^4.1.0", "reselect": "^4.0.0", + "rollup-plugin-analyzer": "^4.0.0", "ts-action": "^11.0.0", "updux": "link:/home/yanick/work/javascript/updux/" }, diff --git a/src/components/App.svelte b/src/components/App.svelte index c22b6a4..65abf3f 100644 --- a/src/components/App.svelte +++ b/src/components/App.svelte @@ -129,8 +129,6 @@ const ship_dispatch = ({ detail }) => ship.dispatch(detail); - setContext("ship_change", ship.dispatch); - let show_notes = false; const toggle_notes = () => (show_notes = !show_notes); diff --git a/src/components/Carrier/Squadron/index.svelte b/src/components/Carrier/Squadron/index.svelte index c4c7200..d4aebde 100644 --- a/src/components/Carrier/Squadron/index.svelte +++ b/src/components/Carrier/Squadron/index.svelte @@ -2,7 +2,7 @@ @@ -21,13 +21,13 @@ export let id = 1; export let type = "standard"; - export let ftl = false; + export let ftl = false; export let cost =0; export let mass = 0; - export let ship_change = getContext('ship_change') || ( () => {} ); + export let ship = getContext('ship'); - $: ship_change( dux.actions.set_squadron({ id, type, }) ); + $: ship?.dispatch_action('set_squadron',{ id, type, }); diff --git a/src/components/Carrier/index.svelte b/src/components/Carrier/index.svelte index 8da5f1a..cbdf0cd 100644 --- a/src/components/Carrier/index.svelte +++ b/src/components/Carrier/index.svelte @@ -1,5 +1,5 @@
- + @@ -8,30 +8,24 @@ {#each squadrons as squad (squad.id)} {/each} -
- - diff --git a/src/components/Hull/Armour/Layer/index.svelte b/src/components/Hull/Armour/Layer/index.svelte index 3287636..1d30b50 100644 --- a/src/components/Hull/Armour/Layer/index.svelte +++ b/src/components/Hull/Armour/Layer/index.svelte @@ -4,21 +4,16 @@ diff --git a/src/components/Hull/Cargo/index.svelte b/src/components/Hull/Cargo/index.svelte index 1b0c4a1..ffb786d 100644 --- a/src/components/Hull/Cargo/index.svelte +++ b/src/components/Hull/Cargo/index.svelte @@ -1,30 +1,28 @@ - + - + - + + diff --git a/src/components/Hull/Streamlining/index.svelte b/src/components/Hull/Streamlining/index.svelte index 741e8b5..3dcb9e8 100644 --- a/src/components/Hull/Streamlining/index.svelte +++ b/src/components/Hull/Streamlining/index.svelte @@ -16,19 +16,17 @@ diff --git a/src/components/Weapon/Beam/index.svelte b/src/components/Weapon/Beam/index.svelte index d29f52b..6269277 100644 --- a/src/components/Weapon/Beam/index.svelte +++ b/src/components/Weapon/Beam/index.svelte @@ -1,111 +1,106 @@ - + - + - click_arc(detail)} /> + click_arc(detail)} /> + } + diff --git a/src/components/Weapon/index.svelte b/src/components/Weapon/index.svelte index 5f1c71e..df422ee 100644 --- a/src/components/Weapon/index.svelte +++ b/src/components/Weapon/index.svelte @@ -1,117 +1,120 @@ -
+ - - - - -
+ +
diff --git a/src/components/Weaponry/ADFC/index.svelte b/src/components/Weaponry/ADFC/index.svelte index 7447465..4a4e641 100644 --- a/src/components/Weaponry/ADFC/index.svelte +++ b/src/components/Weaponry/ADFC/index.svelte @@ -6,17 +6,15 @@ diff --git a/src/components/Weaponry/AddWeapon/index.svelte b/src/components/Weaponry/AddWeapon/index.svelte index bd64ad5..f6e66ba 100644 --- a/src/components/Weaponry/AddWeapon/index.svelte +++ b/src/components/Weaponry/AddWeapon/index.svelte @@ -1,24 +1,27 @@ - - - - - + + diff --git a/src/dux/weaponry/weapons/index.js b/src/dux/weaponry/weapons/index.js index ba92f02..ced8058 100644 --- a/src/dux/weaponry/weapons/index.js +++ b/src/dux/weaponry/weapons/index.js @@ -1,3 +1,4 @@ +import matches from 'lodash/matches.js'; import Updux from "updux"; import { action, payload } from "ts-action"; import u from "@yanick/updeep"; @@ -43,7 +44,7 @@ const set_weapon = action("set_weapon", payload()); dux.addMutation(set_weapon, (payload) => u.map( - u.if(_.matches({ id: payload.id }), (state) => with_reqs(u(payload, state))) + u.if(matches({ id: payload.id }), (state) => with_reqs(u(payload, state))) ) ); diff --git a/src/stores/ship.js b/src/stores/ship.js index 1247693..066e6ef 100644 --- a/src/stores/ship.js +++ b/src/stores/ship.js @@ -1,4 +1,4 @@ -import { browser } from '$app/env'; +import { browser } from "$app/env"; import { readable } from "svelte/store"; import { compose, applyMiddleware } from "redux"; @@ -6,25 +6,22 @@ import { calc_ship_req } from "../dux/utils"; let composeEnhancers = compose; -if(browser) { - composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; +if (browser) { + composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; } import shipDux from "../dux"; export default () => { - let saved; + let saved; - if(browser) saved = window.localStorage.getItem('aotds-shipyard'); - - if( saved ) { - saved = JSON.parse(saved); - } - else { - saved = undefined; - } - console.log(saved); + if (browser) saved = window.localStorage.getItem("aotds-shipyard"); + if (saved) { + saved = JSON.parse(saved); + } else { + saved = undefined; + } const duxStore = shipDux.createStore(saved, (mw) => composeEnhancers(applyMiddleware(mw)) @@ -34,20 +31,18 @@ export default () => { duxStore.actions.set_ship_reqs(calc_ship_req(duxStore.getState())) ); - Object.entries(duxStore.actions).forEach( ([type,action]) => { - duxStore.dispatch[ type ] = payload => duxStore.dispatch( action(payload) ) + Object.entries(duxStore.actions).forEach(([type, action]) => { + duxStore.dispatch[type] = (payload) => duxStore.dispatch(action(payload)); }); let previous = undefined; - duxStore.subscribe( () => { + duxStore.subscribe(() => { let current = duxStore.getState(); - if ( previous === current ) return; - previous = current; - console.log(current); + if (previous === current) return; + previous = current; - if(browser)window.localStorage.setItem( - 'aotds-shipyard', JSON.stringify(current) - ); + if (browser) + window.localStorage.setItem("aotds-shipyard", JSON.stringify(current)); }); const state = readable(duxStore.getState(), (set) => @@ -56,10 +51,14 @@ export default () => { }) ); + const dispatch_action = (action, payload) => + duxStore.dispatch[action](payload); + return { subscribe: state.subscribe, dispatch: duxStore.dispatch, actions: duxStore.actions, selectors: duxStore.selectors, + dispatch_action, }; }; diff --git a/svelte.config.js b/svelte.config.js index 564d225..bc88df1 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,4 +1,5 @@ import adapter from '@sveltejs/adapter-static'; +import analyze from 'rollup-plugin-analyzer'; /** @type {import('@sveltejs/kit').Config} */ export default { @@ -13,6 +14,7 @@ export default { vite: { build: { rollupOptions: { + plugins: [ analyze() ], // external: ['updux','@yanick/updeep'] } }