Continue messing with stores

This commit is contained in:
ThePetrovich 2025-06-27 19:27:19 +08:00
parent c7df38e6ce
commit 52558ed3b2
7 changed files with 148 additions and 83 deletions

View file

@ -14,7 +14,7 @@
import { getForecast } from "$lib/prediction";
import type { FlightParameters, ProfileName } from "$lib/types";
import { PROFILE_MAP } from "$lib/types";
import { flightParametersStore } from '$lib/stores';
import { FlightParametersStore, writeLocalStorage } from '$lib/stores';
let isCollapsed = false;
let selectedProfile: ProfileName = "Normal";
@ -24,19 +24,20 @@
let startDate = now.toISOString().split("T")[0]; // YYYY-MM-DD
let startTime = now.toISOString().split("T")[1].split(".")[0]; // HH:MM:SS
let inputLat = $flightParametersStore.launch_latitude.toString();
let inputLng = $flightParametersStore.launch_longitude.toString();
let inputLat = $FlightParametersStore.launch_latitude.toString();
let inputLng = $FlightParametersStore.launch_longitude.toString();
$: $flightParametersStore.profile = PROFILE_MAP[selectedProfile];
$: $FlightParametersStore.profile = PROFILE_MAP[selectedProfile];
const handleGetPrediction = async () => {
console.log("Fetching prediction with parameters:", $flightParametersStore);
console.log("Fetching prediction with parameters:", $FlightParametersStore);
console.log(startDate, startTime);
$flightParametersStore.launch_datetime = `${startDate}T${startTime}Z`;
$FlightParametersStore.launch_datetime = `${startDate}T${startTime}Z`;
writeLocalStorage<FlightParameters>("flightParameters", $FlightParametersStore);
try {
const response = await getForecast($flightParametersStore);
const response = await getForecast($FlightParametersStore);
console.log(response);
// TODO: Notify other components of the new prediction.
// const dispatch = createEventDispatcher();
@ -52,9 +53,9 @@
const lng = parseFloat(inputLng);
if (!isNaN(lat) && !isNaN(lng)) {
$flightParametersStore.launch_latitude = lat;
$flightParametersStore.launch_longitude = lng;
console.log("Updated position:", $flightParametersStore.launch_latitude, $flightParametersStore.launch_longitude);
$FlightParametersStore.launch_latitude = lat;
$FlightParametersStore.launch_longitude = lng;
console.log("Updated position:", $FlightParametersStore.launch_latitude, $FlightParametersStore.launch_longitude);
} else {
console.error("Invalid coordinate input");
// TODO: Show a validation error to the user.
@ -67,8 +68,8 @@
* @param {number} lng The new longitude.
*/
export const updateLaunchPosition = (lat: number, lng: number) => {
$flightParametersStore.launch_latitude = lat;
$flightParametersStore.launch_longitude = lng;
$FlightParametersStore.launch_latitude = lat;
$FlightParametersStore.launch_longitude = lng;
console.log("Launch position updated:", lat, lng);
inputLat = lat.toString();
inputLng = lng.toString();
@ -214,7 +215,7 @@
type="number"
id="startHeight"
class="form-control-sm"
bind:value={$flightParametersStore.launch_altitude}
bind:value={$FlightParametersStore.launch_altitude}
/>
</FormGroup>
@ -236,7 +237,7 @@
type="number"
id="ascentRate"
class="form-control-sm"
bind:value={$flightParametersStore.ascent_rate}
bind:value={$FlightParametersStore.ascent_rate}
/>
</FormGroup>
<FormGroup class="flex-fill" spacing="mb-0">
@ -245,7 +246,7 @@
type="number"
id="descentRate"
class="form-control-sm"
bind:value={$flightParametersStore.descent_rate}
bind:value={$FlightParametersStore.descent_rate}
/>
</FormGroup>
</div>
@ -256,7 +257,7 @@
type="number"
id="burstAltitude"
class="form-control-sm"
bind:value={$flightParametersStore.burst_altitude}
bind:value={$FlightParametersStore.burst_altitude}
/>
</FormGroup>