pregenerate location names and fix location forwarding

This commit is contained in:
terraputix
2026-02-20 23:08:04 +01:00
parent bed6e3aa53
commit 65fe6d1601
5 changed files with 33 additions and 14 deletions
-1
View File
@@ -1,5 +1,4 @@
export * from './ui.ts';
export * from './meteo.ts';
export const pad = (n: string | number) => {
if (n === null || n === undefined) {
+6 -1
View File
@@ -2,7 +2,10 @@ import { error, redirect } from '@sveltejs/kit';
import { type GeoLocation, storedLocation } from '$lib/stores/settings';
import { geoLocationNameToRoute } from '$lib/utils/meteo';
export const geoLocationNameToRoute = (name: string) => {
const lowerCase = name.toLowerCase().replaceAll(' ', '-');
return lowerCase.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
};
export function buildLocationRoute(location: GeoLocation): string {
const locationRoute = geoLocationNameToRoute(location.name);
@@ -61,6 +64,8 @@ export async function resolveLocationFromRoute({
const split = urlLocation.split('_');
urlLocationName = split[0];
urlLocationId = split[1];
} else if (urlLocation.includes('-')) {
urlLocationName = urlLocation.replace(/-/g, ' ');
} else if (/^\d+$/.test(urlLocation)) {
urlLocationName = '';
urlLocationId = urlLocation;
+1 -7
View File
@@ -1,7 +1 @@
export function geoLocationNameToRoute(name: string): string {
// Placeholder implementation
return name
.toLowerCase()
.replace(/[^a-z0-9]+/g, '-')
.replace(/^-*|-*$/g, '');
}