diff --git a/package.json b/package.json index 52652de..cb62caa 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "type": "module", "dependencies": { - "bits-ui": "^0.21.8", + "bits-ui": "^0.21.9", "clsx": "^2.1.1", "cmdk-sv": "^0.0.17", "svelte-radix": "^1.1.0", diff --git a/src/lib/components/Atmosphere.svelte b/src/lib/components/Atmosphere.svelte new file mode 100644 index 0000000..dcce20b --- /dev/null +++ b/src/lib/components/Atmosphere.svelte @@ -0,0 +1,26 @@ + + + + +{#if valid} + +
+ + + +
+ +{/if} \ No newline at end of file diff --git a/src/lib/components/NewInventory.svelte b/src/lib/components/NewInventory.svelte index 4533e7b..7197b1e 100644 --- a/src/lib/components/NewInventory.svelte +++ b/src/lib/components/NewInventory.svelte @@ -47,19 +47,21 @@ {#if valid}
- - - - - - updateDetails(change)}> - {#each Object.values(INVENTORIES) as inventory} - {i18n.localize(inventory.name)} - {/each} - - - - +
+ + + + + + updateDetails(change)}> + {#each Object.values(INVENTORIES) as inventory} + {i18n.localize(inventory.name)} + {/each} + + + +
+
{:else}

Invalid Props

diff --git a/src/lib/components/NewThruster.svelte b/src/lib/components/NewThruster.svelte index 7848146..db23ae6 100644 --- a/src/lib/components/NewThruster.svelte +++ b/src/lib/components/NewThruster.svelte @@ -108,7 +108,7 @@ - + {:else}

Invalid Props

{/if} diff --git a/src/lib/components/WeightOutputSegment.svelte b/src/lib/components/WeightOutputSegment.svelte new file mode 100644 index 0000000..3db3238 --- /dev/null +++ b/src/lib/components/WeightOutputSegment.svelte @@ -0,0 +1,26 @@ + + + + +{#if valid} +
+

{i18n.localize("liftableVehcileWeight")}:

+ {#if maxVehicleWeight < 0} +

{weightConversion(i18n, maxVehicleWeight)}

+ {:else} +

{weightConversion(i18n, maxVehicleWeight)}

+ {/if} +
+

{i18n.localize("liftableWeight")}: {weightConversion(i18n, maxWeight)}

+{/if} \ No newline at end of file diff --git a/src/lib/components/ui/slider/index.ts b/src/lib/components/ui/slider/index.ts new file mode 100644 index 0000000..820f209 --- /dev/null +++ b/src/lib/components/ui/slider/index.ts @@ -0,0 +1,7 @@ +import Root from "./slider.svelte"; + +export { + Root, + // + Root as Slider, +}; diff --git a/src/lib/components/ui/slider/slider.svelte b/src/lib/components/ui/slider/slider.svelte new file mode 100644 index 0000000..d00618a --- /dev/null +++ b/src/lib/components/ui/slider/slider.svelte @@ -0,0 +1,27 @@ + + + + + + + {#each thumbs as thumb} + + {/each} + diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 608afd8..1e8964b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -21,6 +21,10 @@ import NewInventory from "$lib/components/NewInventory.svelte"; import {Inventory} from "$lib/containers.svelte"; import InventoryList from "$lib/components/InventoryList.svelte"; + import type {Thruster} from "$lib/thruster.svelte"; + import {Slider} from "$lib/components/ui/slider"; + import Atmosphere from "$lib/components/Atmosphere.svelte"; + import WeightOutputSegment from "$lib/components/WeightOutputSegment.svelte"; const STORAGE_VERSION = "2"; let i18n = $state(new Localization("en-GB")); @@ -67,6 +71,7 @@ let maxVehicleWeight: number = $derived(maxWeight - ship.getTotalVolume(inventoryMultiplier) * material.density) function addInventory(newInventory: Inventory) { + console.log("triggered") ship.addInventory(newInventory); } @@ -82,6 +87,12 @@ ship.removeThruster(index); } + function handleGravityChange() { + if (gravity <= 0) { + gravity = 0; + } + } + onMount(() => { if (navigator) { i18n.language = navigator.language; @@ -157,24 +168,23 @@ {#if ship.grid === size} {:else} - + {/if} {/each} - + {handleGravityChange(change)}}/>
{#each Object.values(CargoMaterial) as value} {#if material === value} {:else} - + {/if} {/each}
- - + @@ -183,15 +193,7 @@ -
-

{i18n.localize("liftableVehcileWeight")}:

- {#if maxVehicleWeight < 0} -

{weightConversion(i18n, maxVehicleWeight)}

- {:else} -

{weightConversion(i18n, maxVehicleWeight)}

- {/if} -
-

{i18n.localize("liftableWeight")}: {weightConversion(i18n, maxWeight)}

+

{i18n.localize("fuels")}: {ship.getFuelTypes().map((fuel) => i18n.localize(fuel.name)).join(", ") } diff --git a/yarn.lock b/yarn.lock index 7dd578a..d720d09 100644 --- a/yarn.lock +++ b/yarn.lock @@ -494,10 +494,10 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bits-ui@^0.21.8: - version "0.21.8" - resolved "https://registry.yarnpkg.com/bits-ui/-/bits-ui-0.21.8.tgz#623127b87558c9943c00393cb5969c1ae7ca7cfa" - integrity sha512-fr++Gf//41w9/Td5r1SfaeA/XXv5YEOw3LFY7JVH+eAbi7RzNqf7Xy8BS/W8HXfRqlsu1ReFgZ7ZZ4DbrP4HwQ== +bits-ui@^0.21.9: + version "0.21.9" + resolved "https://registry.yarnpkg.com/bits-ui/-/bits-ui-0.21.9.tgz#3e9ca44445a1f9a431783e2a7269de220f6dd3ec" + integrity sha512-tMoHi2QbsNKJsPDoXGi07OMx6F8LVMSNYMMcntFX4fPPvy+SJSeZYOKlBMmneiSg7smpWzg+h20q0q01OvyxZQ== dependencies: "@internationalized/date" "^3.5.1" "@melt-ui/svelte" "0.76.2"