Refine filtering logic

Remove api-types package as the types are re-exported by the TS Client package
This commit is contained in:
2026-03-25 10:50:26 +00:00
parent 3eceddf20a
commit fd213d6340
4 changed files with 11 additions and 9 deletions

View File

@@ -19,7 +19,6 @@
"devDependencies": { "devDependencies": {
"@eslint/compat": "^2.0.2", "@eslint/compat": "^2.0.2",
"@eslint/js": "^9.39.2", "@eslint/js": "^9.39.2",
"@owlboard/api-schema-types": "^3.0.2-alpha1",
"@owlboard/owlboard-ts": "^3.0.0-dev.20260325T1023", "@owlboard/owlboard-ts": "^3.0.0-dev.20260325T1023",
"@playwright/test": "^1.58.1", "@playwright/test": "^1.58.1",
"@sveltejs/adapter-static": "^3.0.10", "@sveltejs/adapter-static": "^3.0.10",

View File

@@ -27,13 +27,16 @@
return LOCATIONS.data return LOCATIONS.data
.filter((r) => tokens.every((t) => r.s.includes(t))) .filter((r) => tokens.every((t) => r.s.includes(t)))
.sort((a, b) => { .sort((a, b) => {
// Check if query matches CRS
const aIsCrs = a.c?.toLowerCase() === lowerQuery;
const bIsCrs = b.c?.toLowerCase() === lowerQuery;
// Sort matching CRS first // Priority One - Exact CRS Match
if (aIsCrs && !bIsCrs) return -1; const aExactCrs = a.c?.toLowerCase() === lowerQuery;
if (!aIsCrs && bIsCrs) return 1; 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 // Alphabetical Sort
return a.n.localeCompare(b.n); return a.n.localeCompare(b.n);

View File

@@ -1,5 +1,5 @@
import { OwlClient } from "./owlClient"; import { OwlClient } from "./owlClient";
import type { ApiLocationFilter } from "@owlboard/api-schema-types"; import type { ApiLocationFilter } from '@owlboard/owlboard-ts'
class LocationStore { class LocationStore {
data = $state<ApiLocationFilter.LocationFilterObject[]>([]); data = $state<ApiLocationFilter.LocationFilterObject[]>([]);

View File

@@ -2,7 +2,7 @@
import PisStartEndCard from '$lib/components/ui/cards/pis/PisStartEndCard.svelte'; import PisStartEndCard from '$lib/components/ui/cards/pis/PisStartEndCard.svelte';
import PisCode from '$lib/components/ui/cards/pis/PisCode.svelte'; import PisCode from '$lib/components/ui/cards/pis/PisCode.svelte';
import Button from '$lib/components/ui/Button.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 { OwlClient, ApiError, ValidationError } from '$lib/owlClient';
import TocStyle from '$lib/components/ui/TocStyle.svelte'; import TocStyle from '$lib/components/ui/TocStyle.svelte';