style: run eslint and prettier
Some checks failed
TrafficCue CI / check (push) Failing after 33s
TrafficCue CI / build (push) Failing after 34s

This commit is contained in:
Cfp
2025-08-14 16:19:34 +02:00
parent 8abf745135
commit 12aa42d98c
13 changed files with 320 additions and 293 deletions

View File

@ -1,6 +1,3 @@
{ {
"recommendations": [ "recommendations": ["svelte.svelte-vscode", "inlang.vs-code-extension"]
"svelte.svelte-vscode",
"inlang.vs-code-extension"
]
} }

View File

@ -1,127 +1,127 @@
{ {
"$schema": "https://inlang.com/schema/inlang-message-format", "$schema": "https://inlang.com/schema/inlang-message-format",
"language": "Deutsch - German", "language": "Deutsch - German",
"saved": { "saved": {
"home": "Heim", "home": "Heim",
"school": "Schule", "school": "Schule",
"work": "Arbeit", "work": "Arbeit",
"no-location": "Kein {name} Speicherort gespeichert." "no-location": "Kein {name} Speicherort gespeichert."
}, },
"location": { "location": {
"unlock": "Standort entsperren", "unlock": "Standort entsperren",
"lock": "Standort sperren", "lock": "Standort sperren",
"code": "Standortcode", "code": "Standortcode",
"start": "Standort teilen", "start": "Standort teilen",
"join": "Remote-Standort beitreten" "join": "Remote-Standort beitreten"
}, },
"vehicles": { "vehicles": {
"selector": { "selector": {
"title": "Fahrzeugauswahl", "title": "Fahrzeugauswahl",
"description": "Wählen Sie Ihr Fahrzeug aus, um die Route individuell auf Sie abzustimmen.", "description": "Wählen Sie Ihr Fahrzeug aus, um die Route individuell auf Sie abzustimmen.",
"add": "Fahrzeug hinzufügen" "add": "Fahrzeug hinzufügen"
}, },
"types": { "types": {
"car": "Auto", "car": "Auto",
"moped": "Moped" "moped": "Moped"
}, },
"add": { "add": {
"name": "Fahrzeugname", "name": "Fahrzeugname",
"legal-speed": "Legale Geschwindigkeit", "legal-speed": "Legale Geschwindigkeit",
"actual-speed": "Tatsächliche Geschwindigkeit", "actual-speed": "Tatsächliche Geschwindigkeit",
"fuel": "Kraftstoffart", "fuel": "Kraftstoffart",
"preferred-fuel": "Bevorzugter Kraftstoff", "preferred-fuel": "Bevorzugter Kraftstoff",
"diesel": "Diesel", "diesel": "Diesel",
"petrol": "Benzin", "petrol": "Benzin",
"electric": "Elektrisch", "electric": "Elektrisch",
"errors": { "errors": {
"enter-name": "Bitte geben Sie einen Fahrzeugnamen ein.", "enter-name": "Bitte geben Sie einen Fahrzeugnamen ein.",
"enter-speeds": "Bitte geben Sie gültige Geschwindigkeiten ein.", "enter-speeds": "Bitte geben Sie gültige Geschwindigkeiten ein.",
"select-fuel": "Bitte wählen Sie eine gültige Kraftstoffart und den bevorzugten Kraftstoff aus." "select-fuel": "Bitte wählen Sie eine gültige Kraftstoffart und den bevorzugten Kraftstoff aus."
} }
}, },
"default": "Standardfahrzeug" "default": "Standardfahrzeug"
}, },
"save": "Speichern", "save": "Speichern",
"cancel": "Abbrechen", "cancel": "Abbrechen",
"loading": "Laden...", "loading": "Laden...",
"more": "Mehr", "more": "Mehr",
"error": "Fehler", "error": "Fehler",
"sidebar": { "sidebar": {
"about": { "about": {
"header": "Über", "header": "Über",
"powered-by": "Angetrieben von", "powered-by": "Angetrieben von",
"contributors": "Mitwirkende" "contributors": "Mitwirkende"
}, },
"developer": { "developer": {
"header": "Entwicklereinstellungen" "header": "Entwicklereinstellungen"
}, },
"offline-maps": { "offline-maps": {
"header": "Offline-Karten", "header": "Offline-Karten",
"not-available": "Keine Offline-Karten verfügbar.", "not-available": "Keine Offline-Karten verfügbar.",
"only-mobile": "Offline-Karten sind nur auf Mobilgeräten verfügbar.", "only-mobile": "Offline-Karten sind nur auf Mobilgeräten verfügbar.",
"downloaded": "{name} wurde heruntergeladen" "downloaded": "{name} wurde heruntergeladen"
}, },
"language": { "language": {
"header": "Sprache" "header": "Sprache"
}, },
"map-style": { "map-style": {
"header": "Kartenstil" "header": "Kartenstil"
}, },
"settings": { "settings": {
"header": "Einstellungen", "header": "Einstellungen",
"general": "Allgemein", "general": "Allgemein",
"map": "Karte" "map": "Karte"
}, },
"info": { "info": {
"dropped": "Pin", "dropped": "Pin",
"route": "Route", "route": "Route",
"email": "E-Mail", "email": "E-Mail",
"website": "Webseite", "website": "Webseite",
"call": "Anrufen", "call": "Anrufen",
"set-as": "Speichern als {name}", "set-as": "Speichern als {name}",
"payment-methods": "Zahlungsarten", "payment-methods": "Zahlungsarten",
"fuel-types": "Kraftstoffarten", "fuel-types": "Kraftstoffarten",
"prices": "Kraftstoffpreise", "prices": "Kraftstoffpreise",
"no-prices": "Keine Kraftstoffpreise verfügbar.", "no-prices": "Keine Kraftstoffpreise verfügbar.",
"error-loading-prices": "Fehler beim Laden der Kraftstoffpreise", "error-loading-prices": "Fehler beim Laden der Kraftstoffpreise",
"internet-access": "Internetzugang", "internet-access": "Internetzugang",
"fee": "Gebühr", "fee": "Gebühr",
"opening-hours": "Öffnungszeiten", "opening-hours": "Öffnungszeiten",
"open": "Offen", "open": "Offen",
"closed": "Geschlossen", "closed": "Geschlossen",
"restaurant": "Restaurant", "restaurant": "Restaurant",
"reviews": "Bewertungen", "reviews": "Bewertungen",
"no-reviews": "Keine Bewertungen.", "no-reviews": "Keine Bewertungen.",
"write-review": "Eigene Bewertung schreiben" "write-review": "Eigene Bewertung schreiben"
}, },
"mapai": { "mapai": {
"ask-question": "Stellen Sie eine Frage zu diesem Ort ..." "ask-question": "Stellen Sie eine Frage zu diesem Ort ..."
}, },
"in-route": { "in-route": {
"left": "links", "left": "links",
"end-trip": "Route beenden", "end-trip": "Route beenden",
"share-code": "Code teilen", "share-code": "Code teilen",
"stop-sharing": "Standortfreigabe beenden", "stop-sharing": "Standortfreigabe beenden",
"share-location": "Routenstatus und Standort teilen" "share-location": "Routenstatus und Standort teilen"
}, },
"route": { "route": {
"header": "Route", "header": "Route",
"driving-with": "Fahren mit", "driving-with": "Fahren mit",
"help": "Sie können <strong>aktuell</strong> für Ihren aktuellen Standort und <strong>home</strong>, <strong>school</strong> oder <strong>work</strong> für gespeicherte Standorte verwenden.", "help": "Sie können <strong>aktuell</strong> für Ihren aktuellen Standort und <strong>home</strong>, <strong>school</strong> oder <strong>work</strong> für gespeicherte Standorte verwenden.",
"calculate": "Berechnen" "calculate": "Berechnen"
}, },
"search": { "search": {
"header": "Suchergebnisse für" "header": "Suchergebnisse für"
}, },
"trip": { "trip": {
"header": "Routendetails", "header": "Routendetails",
"start": "Start", "start": "Start",
"save": "Speichern", "save": "Speichern",
"send": "Senden" "send": "Senden"
}, },
"user": { "user": {
"header": "Benutzer", "header": "Benutzer",
"login": "Login" "login": "Login"
} }
} }
} }

View File

@ -1,127 +1,127 @@
{ {
"$schema": "https://inlang.com/schema/inlang-message-format", "$schema": "https://inlang.com/schema/inlang-message-format",
"language": "English", "language": "English",
"save": "Save", "save": "Save",
"cancel": "Cancel", "cancel": "Cancel",
"loading": "Loading...", "loading": "Loading...",
"more": "More", "more": "More",
"error": "Error", "error": "Error",
"saved": { "saved": {
"home": "Home", "home": "Home",
"school": "School", "school": "School",
"work": "Work", "work": "Work",
"no-location": "No {name} location saved." "no-location": "No {name} location saved."
}, },
"location": { "location": {
"unlock": "Unlock Location", "unlock": "Unlock Location",
"lock": "Lock Location", "lock": "Lock Location",
"code": "Advertise code", "code": "Advertise code",
"start": "Advertise Location", "start": "Advertise Location",
"join": "Join Remote Location" "join": "Join Remote Location"
}, },
"vehicles": { "vehicles": {
"default": "Default Vehicle", "default": "Default Vehicle",
"selector": { "selector": {
"title": "Vehicle Selector", "title": "Vehicle Selector",
"description": "Select your vehicle to customize routing just for you.", "description": "Select your vehicle to customize routing just for you.",
"add": "Add Vehicle" "add": "Add Vehicle"
}, },
"types": { "types": {
"car": "Car", "car": "Car",
"moped": "Moped" "moped": "Moped"
}, },
"add": { "add": {
"name": "Vehicle Name", "name": "Vehicle Name",
"legal-speed": "Legal Speed", "legal-speed": "Legal Speed",
"actual-speed": "Actual Speed", "actual-speed": "Actual Speed",
"fuel": "Fuel Type", "fuel": "Fuel Type",
"preferred-fuel": "Preferred Fuel", "preferred-fuel": "Preferred Fuel",
"diesel": "Diesel", "diesel": "Diesel",
"petrol": "Petrol", "petrol": "Petrol",
"electric": "Electric", "electric": "Electric",
"errors": { "errors": {
"enter-name": "Please enter a vehicle name.", "enter-name": "Please enter a vehicle name.",
"enter-speeds": "Please enter valid speeds.", "enter-speeds": "Please enter valid speeds.",
"select-fuel": "Please select a valid fuel type and preferred fuel." "select-fuel": "Please select a valid fuel type and preferred fuel."
} }
} }
}, },
"sidebar": { "sidebar": {
"about": { "about": {
"header": "About", "header": "About",
"powered-by": "Powered by", "powered-by": "Powered by",
"contributors": "contributors" "contributors": "contributors"
}, },
"developer": { "developer": {
"header": "Developer Settings" "header": "Developer Settings"
}, },
"offline-maps": { "offline-maps": {
"header": "Offline Maps", "header": "Offline Maps",
"not-available": "No offline maps available.", "not-available": "No offline maps available.",
"only-mobile": "Offline maps are only available on mobile.", "only-mobile": "Offline maps are only available on mobile.",
"downloaded": "Downloaded {name}" "downloaded": "Downloaded {name}"
}, },
"language": { "language": {
"header": "Language" "header": "Language"
}, },
"map-style": { "map-style": {
"header": "Map Style" "header": "Map Style"
}, },
"settings": { "settings": {
"header": "Settings", "header": "Settings",
"general": "General", "general": "General",
"map": "Map" "map": "Map"
}, },
"info": { "info": {
"dropped": "Dropped Pin", "dropped": "Dropped Pin",
"route": "Route", "route": "Route",
"email": "Email", "email": "Email",
"website": "Website", "website": "Website",
"call": "Call", "call": "Call",
"set-as": "Set as {name}", "set-as": "Set as {name}",
"payment-methods": "Payment Methods", "payment-methods": "Payment Methods",
"fuel-types": "Fuel Types", "fuel-types": "Fuel Types",
"prices": "Fuel Prices", "prices": "Fuel Prices",
"no-prices": "No fuel prices available.", "no-prices": "No fuel prices available.",
"error-loading-prices": "Error loading fuel prices", "error-loading-prices": "Error loading fuel prices",
"internet-access": "Internet Access", "internet-access": "Internet Access",
"fee": "Fee", "fee": "Fee",
"opening-hours": "Opening Hours", "opening-hours": "Opening Hours",
"open": "Open", "open": "Open",
"closed": "Closed", "closed": "Closed",
"restaurant": "Restaurant", "restaurant": "Restaurant",
"reviews": "Reviews", "reviews": "Reviews",
"no-reviews": "No reviews.", "no-reviews": "No reviews.",
"write-review": "Write a review" "write-review": "Write a review"
}, },
"mapai": { "mapai": {
"ask-question": "Ask a question about this place..." "ask-question": "Ask a question about this place..."
}, },
"in-route": { "in-route": {
"left": "left", "left": "left",
"end-trip": "End Trip", "end-trip": "End Trip",
"share-code": "Share Code", "share-code": "Share Code",
"stop-sharing": "Stop Sharing Location", "stop-sharing": "Stop Sharing Location",
"share-location": "Share Trip Status & Location" "share-location": "Share Trip Status & Location"
}, },
"route": { "route": {
"header": "Route", "header": "Route",
"driving-with": "Driving with", "driving-with": "Driving with",
"help": "You can use <strong>current</strong> for your current location, <strong>home</strong>, <strong>school</strong> or <strong>work</strong> for saved locations.", "help": "You can use <strong>current</strong> for your current location, <strong>home</strong>, <strong>school</strong> or <strong>work</strong> for saved locations.",
"calculate": "Calculate" "calculate": "Calculate"
}, },
"search": { "search": {
"header": "Search Results for" "header": "Search Results for"
}, },
"trip": { "trip": {
"header": "Trip Details", "header": "Trip Details",
"start": "Start Navigation", "start": "Start Navigation",
"save": "Save", "save": "Save",
"send": "Send" "send": "Send"
}, },
"user": { "user": {
"header": "User", "header": "User",
"login": "Login" "login": "Login"
} }
} }
} }

View File

@ -1,15 +1,12 @@
{ {
"$schema": "https://inlang.com/schema/project-settings", "$schema": "https://inlang.com/schema/project-settings",
"baseLocale": "en", "baseLocale": "en",
"locales": [ "locales": ["en", "de"],
"en", "modules": [
"de" "https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@4/dist/index.js",
], "https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@2/dist/index.js"
"modules": [ ],
"https://cdn.jsdelivr.net/npm/@inlang/plugin-message-format@4/dist/index.js", "plugin.inlang.messageFormat": {
"https://cdn.jsdelivr.net/npm/@inlang/plugin-m-function-matcher@2/dist/index.js" "pathPattern": "./messages/{locale}.json"
], }
"plugin.inlang.messageFormat": {
"pathPattern": "./messages/{locale}.json"
}
} }

View File

@ -6,7 +6,6 @@
import { routing } from "$lib/services/navigation/routing.svelte"; import { routing } from "$lib/services/navigation/routing.svelte";
import { checkWebGL } from "$lib/webgl"; import { checkWebGL } from "$lib/webgl";
import RoutingInfo from "$lib/components/lnv/RoutingInfo.svelte"; import RoutingInfo from "$lib/components/lnv/RoutingInfo.svelte";
import { setLocale } from "./paraglide/runtime";
onMount(() => { onMount(() => {
if (!checkWebGL()) { if (!checkWebGL()) {
@ -15,9 +14,6 @@
); );
return; return;
} }
// @ts-expect-error
window.setLocale = setLocale;
}); });
</script> </script>

View File

@ -138,9 +138,15 @@
: m["vehicles.add.electric"]()} : m["vehicles.add.electric"]()}
</Select.Trigger> </Select.Trigger>
<Select.Content> <Select.Content>
<Select.Item value="diesel">{m["vehicles.add.diesel"]()}</Select.Item> <Select.Item value="diesel"
<Select.Item value="petrol">{m["vehicles.add.petrol"]()}</Select.Item> >{m["vehicles.add.diesel"]()}</Select.Item
<Select.Item value="electric">{m["vehicles.add.electric"]()}</Select.Item> >
<Select.Item value="petrol"
>{m["vehicles.add.petrol"]()}</Select.Item
>
<Select.Item value="electric"
>{m["vehicles.add.electric"]()}</Select.Item
>
</Select.Content> </Select.Content>
</Select.Root> </Select.Root>

View File

@ -46,7 +46,7 @@
about: AboutSidebar, about: AboutSidebar,
"offline-maps": OfflineMapsSidebar, "offline-maps": OfflineMapsSidebar,
"dev-options": DeveloperSidebar, "dev-options": DeveloperSidebar,
language: LanguageSidebar language: LanguageSidebar,
}; };
let isDragging = false; let isDragging = false;

View File

@ -123,7 +123,8 @@
}); });
</script> </script>
{fullDistanceText} {m["sidebar.in-route.left"]()} {fullDistanceText}
{m["sidebar.in-route.left"]()}
<Button <Button
onclick={() => { onclick={() => {

View File

@ -256,7 +256,9 @@
<!-- any payment:* tag --> <!-- any payment:* tag -->
{#if Object.keys(tags).some((key) => key.startsWith("payment:"))} {#if Object.keys(tags).some((key) => key.startsWith("payment:"))}
<h3 class="text-lg font-bold mt-2">{m["sidebar.info.payment-methods"]()}</h3> <h3 class="text-lg font-bold mt-2">
{m["sidebar.info.payment-methods"]()}
</h3>
<ul style="display: flex; flex-wrap: wrap; gap: 0.5rem;"> <ul style="display: flex; flex-wrap: wrap; gap: 0.5rem;">
{#each Object.entries(tags).filter( ([key]) => key.startsWith("payment:"), ) as [key, value] (key)} {#each Object.entries(tags).filter( ([key]) => key.startsWith("payment:"), ) as [key, value] (key)}
<Badge <Badge

View File

@ -51,8 +51,8 @@
</SidebarHeader> </SidebarHeader>
<span <span
>{m["sidebar.route.driving-with"]()} <strong>{(selectedVehicle() ?? DefaultVehicle).name}</strong >{m["sidebar.route.driving-with"]()}
></span <strong>{(selectedVehicle() ?? DefaultVehicle).name}</strong></span
> >
<div class="flex flex-col gap-2 w-full mb-2"> <div class="flex flex-col gap-2 w-full mb-2">
<div class="flex gap-2 items-center w-full"> <div class="flex gap-2 items-center w-full">
@ -67,6 +67,7 @@
<Input bind:value={toLocation} /> <Input bind:value={toLocation} />
</div> </div>
<span> <span>
<!-- eslint-disable-next-line -->
{@html m["sidebar.route.help"]()} {@html m["sidebar.route.help"]()}
</span> </span>
</div> </div>

View File

@ -11,13 +11,17 @@
</SidebarHeader> </SidebarHeader>
<div id="languages"> <div id="languages">
{#each locales as locale} {#each locales as locale, _index (locale)}
{#if locale == getLocale()} {#if locale == getLocale()}
<SettingsButton text={m.language()} icon={CheckIcon} disabled /> <SettingsButton text={m.language()} icon={CheckIcon} disabled />
{:else} {:else}
<SettingsButton text={m.language({}, { locale })} icon={LanguagesIcon} onclick={() => { <SettingsButton
setLocale(locale) text={m.language({}, { locale })}
}} /> icon={LanguagesIcon}
onclick={() => {
setLocale(locale);
}}
/>
{/if} {/if}
{/each} {/each}
</div> </div>

View File

@ -19,13 +19,25 @@
<div id="sections"> <div id="sections">
<section> <section>
<h2>{m["sidebar.settings.general"]()}</h2> <h2>{m["sidebar.settings.general"]()}</h2>
<SettingsButton icon={LanguagesIcon} text={m["sidebar.language.header"]()} view="language" /> <SettingsButton
icon={LanguagesIcon}
text={m["sidebar.language.header"]()}
view="language"
/>
</section> </section>
<section> <section>
<h2>{m["sidebar.settings.map"]()}</h2> <h2>{m["sidebar.settings.map"]()}</h2>
<SettingsButton icon={MapIcon} text={m["sidebar.offline-maps.header"]()} view="offline-maps" /> <SettingsButton
<SettingsButton icon={PaintbrushIcon} text={m["sidebar.map-style.header"]()} disabled /> icon={MapIcon}
text={m["sidebar.offline-maps.header"]()}
view="offline-maps"
/>
<SettingsButton
icon={PaintbrushIcon}
text={m["sidebar.map-style.header"]()}
disabled
/>
</section> </section>
<section> <section>
@ -37,7 +49,11 @@
view="dev-options" view="dev-options"
/> />
{/if} {/if}
<SettingsButton icon={InfoIcon} text={m["sidebar.about.header"]()} view="about" /> <SettingsButton
icon={InfoIcon}
text={m["sidebar.about.header"]()}
view="about"
/>
</section> </section>
</div> </div>

View File

@ -1,4 +1,4 @@
import { paraglideVitePlugin } from '@inlang/paraglide-js' import { paraglideVitePlugin } from "@inlang/paraglide-js";
import tailwindcss from "@tailwindcss/vite"; import tailwindcss from "@tailwindcss/vite";
import { defineConfig } from "vite"; import { defineConfig } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte"; import { svelte } from "@sveltejs/vite-plugin-svelte";
@ -7,7 +7,14 @@ import path from "path";
const host = process.env.TAURI_DEV_HOST; const host = process.env.TAURI_DEV_HOST;
export default defineConfig({ export default defineConfig({
plugins: [paraglideVitePlugin({ project: './project.inlang', outdir: './src/paraglide' }),tailwindcss(), svelte()], plugins: [
paraglideVitePlugin({
project: "./project.inlang",
outdir: "./src/paraglide",
}),
tailwindcss(),
svelte(),
],
clearScreen: false, clearScreen: false,
server: { server: {
port: 5173, port: 5173,