diff --git a/bun.lockb b/bun.lockb index 822d29c..93a2052 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 9f56b94..cd77f9f 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,10 @@ "leaflet-defaulticon-compatibility": "^0.1.2" }, "devDependencies": { - "@cloudflare/workers-types": "^4.20241112.0", + "@cloudflare/workers-types": "^4.20241127.0", "@sveltejs/adapter-cloudflare": "^4.7.4", - "@sveltejs/kit": "^2.8.4", - "@sveltejs/vite-plugin-svelte": "^4.0.2", + "@sveltejs/kit": "^2.8.5", + "@sveltejs/vite-plugin-svelte": "^5.0.1", "@types/eslint": "^9.6.1", "@types/leaflet": "^1.9.14", "eslint": "^9.15.0", @@ -33,11 +33,11 @@ "globals": "^15.12.0", "prettier": "^3.4.1", "prettier-plugin-svelte": "^3.3.2", - "svelte": "^5.2.8", + "svelte": "^5.2.11", "svelte-check": "^4.1.0", "typescript": "^5.7.2", "typescript-eslint": "^8.16.0", - "vite": "^5.4.11" + "vite": "^6.0.1" }, "type": "module", "patchedDependencies": { diff --git a/src/app.css b/src/app.css index 677f3ac..1a0525c 100644 --- a/src/app.css +++ b/src/app.css @@ -1,8 +1,30 @@ @import "@fontsource-variable/inter"; @import "@fontsource-variable/inter/wght-italic.css"; +:root { + --background-color: white; + --text-color: black; + --accent-color: #0077b8; + color-scheme: light; +} + +@media (prefers-color-scheme: dark) { + :root { + --background-color: #16191d; + --text-color: #f8f9fa; + --accent-color: #a5d8ff; + color-scheme: dark; + } +} + body { font-family: "Inter Variable", sans-serif; + background-color: var(--background-color); + color: var(--text-color); +} + +a { + color: var(--accent-color); } .contents { diff --git a/src/routes/game/+page.svelte b/src/routes/game/+page.svelte index 4657ecd..0a415a4 100644 --- a/src/routes/game/+page.svelte +++ b/src/routes/game/+page.svelte @@ -11,6 +11,9 @@ const zoom = 13; const center: [number, number] = [45.742858495, 4.86163814]; + const metroIcon = new L.Icon({ iconUrl: "/metro.svg", iconSize: [29, 15] }); + const tramIcon = new L.Icon({ iconUrl: "/tram.svg", iconSize: [29, 15] }); + let mapPromise = $state(fetchMap()); let gamePromise = $state(fetchGame()); let isChecking = $state(false); @@ -53,8 +56,10 @@ mapData.lines.forEach(([feature, color]) => { L.geoJSON(feature, { style: { color } }).addTo(map!); }); + + const icon = $page.url.searchParams.get("stops_type") === "tram" ? tramIcon : metroIcon; mapData.stops.forEach((coords) => { - const marker = L.marker(coords).addTo(map!); + const marker = L.marker(coords, { icon }).addTo(map!); marker.on("click", (e) => setMarker(e.latlng)); }); diff --git a/src/routes/results/+page.svelte b/src/routes/results/+page.svelte index 3c63647..45caa1f 100644 --- a/src/routes/results/+page.svelte +++ b/src/routes/results/+page.svelte @@ -24,7 +24,7 @@