diff --git a/package.json b/package.json index 9749c1e..c6bda83 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "devDependencies": { "@eslint/compat": "^2.0.2", "@eslint/js": "^9.39.2", - "@owlboard/api-schema-types": "^3.0.2-alpha1", "@owlboard/owlboard-ts": "^3.0.0-dev.20260325T1023", "@playwright/test": "^1.58.1", "@sveltejs/adapter-static": "^3.0.10", diff --git a/src/lib/components/ui/LocationSearchBox.svelte b/src/lib/components/ui/LocationSearchBox.svelte index 9c340ae..f997ce7 100644 --- a/src/lib/components/ui/LocationSearchBox.svelte +++ b/src/lib/components/ui/LocationSearchBox.svelte @@ -27,13 +27,16 @@ return LOCATIONS.data .filter((r) => tokens.every((t) => r.s.includes(t))) .sort((a, b) => { - // Check if query matches CRS - const aIsCrs = a.c?.toLowerCase() === lowerQuery; - const bIsCrs = b.c?.toLowerCase() === lowerQuery; - // Sort matching CRS first - if (aIsCrs && !bIsCrs) return -1; - if (!aIsCrs && bIsCrs) return 1; + // Priority One - Exact CRS Match + const aExactCrs = a.c?.toLowerCase() === lowerQuery; + const bExactCrs = b.c?.toLowerCase() === lowerQuery; + if (aExactCrs && !bExactCrs) return -1; + if (!aExactCrs && bExactCrs) return 1; + + // Priority Two - 'Stations' with CRS + if (!!a.c && !b.c) return -1; + if (!a.c & !! b.c) return 1; // Alphabetical Sort return a.n.localeCompare(b.n); diff --git a/src/lib/locations-object.svelte.ts b/src/lib/locations-object.svelte.ts index ac36287..e804181 100644 --- a/src/lib/locations-object.svelte.ts +++ b/src/lib/locations-object.svelte.ts @@ -1,5 +1,5 @@ import { OwlClient } from "./owlClient"; -import type { ApiLocationFilter } from "@owlboard/api-schema-types"; +import type { ApiLocationFilter } from '@owlboard/owlboard-ts' class LocationStore { data = $state([]); diff --git a/src/routes/pis/+page.svelte b/src/routes/pis/+page.svelte index 9e6f791..e88b3e0 100644 --- a/src/routes/pis/+page.svelte +++ b/src/routes/pis/+page.svelte @@ -2,7 +2,7 @@ import PisStartEndCard from '$lib/components/ui/cards/pis/PisStartEndCard.svelte'; import PisCode from '$lib/components/ui/cards/pis/PisCode.svelte'; import Button from '$lib/components/ui/Button.svelte'; - import type { ApiPisObject } from '@owlboard/api-schema-types'; + import type { ApiPisObject } from '@owlboard/owlboard-ts'; import { OwlClient, ApiError, ValidationError } from '$lib/owlClient'; import TocStyle from '$lib/components/ui/TocStyle.svelte';