fixes tcx and kml file conversion upload

This commit is contained in:
Christian Beutel
2024-03-29 15:19:31 +01:00
parent bd1dbcddae
commit c4acab6568
11 changed files with 17 additions and 13 deletions

View File

@@ -54,8 +54,8 @@ services:
PUBLIC_POCKETBASE_URL: http://db:8090 PUBLIC_POCKETBASE_URL: http://db:8090
PUBLIC_DISABLE_SIGNUP: false PUBLIC_DISABLE_SIGNUP: false
UPLOAD_FOLDER: /app/uploads UPLOAD_FOLDER: /app/uploads
UPLOAD_USER: UPLOAD_USER: Flomp
UPLOAD_PASSWORD: UPLOAD_PASSWORD: 12345678
volumes: volumes:
- ./data/uploads:/app/uploads - ./data/uploads:/app/uploads
ports: ports:

View File

@@ -8,6 +8,7 @@
export let large: boolean = false; export let large: boolean = false;
export let loading: boolean = false; export let loading: boolean = false;
export let disabled: boolean = false; export let disabled: boolean = false;
export let tooltip: string = "";
</script> </script>
<button <button
@@ -17,6 +18,8 @@
class:btn-large={large} class:btn-large={large}
class:btn-disabled={disabled || loading} class:btn-disabled={disabled || loading}
disabled={disabled || loading} disabled={disabled || loading}
class:tooltip={tooltip.length > 0}
data-title={tooltip}
on:click on:click
{type} {type}
> >

View File

@@ -30,7 +30,6 @@
}, },
}); });
$: form.set(util.cloneDeep($summitLog)); $: form.set(util.cloneDeep($summitLog));
$: console.log($summitLog);
</script> </script>
<Modal <Modal

View File

@@ -103,6 +103,7 @@
"required": "Pflichtfeld", "required": "Pflichtfeld",
"save": "Speichern", "save": "Speichern",
"save-trail": "Route speichern", "save-trail": "Route speichern",
"save-your-trail-first": "Route zuerst speichern",
"search-cities": "Städte suchen", "search-cities": "Städte suchen",
"search-for-trails-places": "Suche nach Routen, Orten", "search-for-trails-places": "Suche nach Routen, Orten",
"search-trails": "Route suchen", "search-trails": "Route suchen",

View File

@@ -103,6 +103,7 @@
"required": "Required", "required": "Required",
"save": "Save", "save": "Save",
"save-trail": "Save Trail", "save-trail": "Save Trail",
"save-your-trail-first": "Save your trail first",
"search-cities": "Search cities", "search-cities": "Search cities",
"search-for-trails-places": "Search for trails, places", "search-for-trails-places": "Search for trails, places",
"search-trails": "Search trails", "search-trails": "Search trails",

View File

@@ -103,6 +103,7 @@
"required": "Requis", "required": "Requis",
"save": "Sauvegarder", "save": "Sauvegarder",
"save-trail": "Sauvegarder l'itinéraire", "save-trail": "Sauvegarder l'itinéraire",
"save-your-trail-first": "Enregistrez d'abord votre trace",
"search-cities": "Recherche une ville", "search-cities": "Recherche une ville",
"search-for-trails-places": "Chercher un itinéraire ou un endroit", "search-for-trails-places": "Chercher un itinéraire ou un endroit",
"search-trails": "Chercher un itinéraire", "search-trails": "Chercher un itinéraire",

View File

@@ -103,6 +103,7 @@
"required": "Verplicht", "required": "Verplicht",
"save": "Opslaan", "save": "Opslaan",
"save-trail": "Route opslaan", "save-trail": "Route opslaan",
"save-your-trail-first": "Sla eerst uw route op",
"search-cities": "Zoek steden", "search-cities": "Zoek steden",
"search-for-trails-places": "Zoek routes, plaatsen", "search-for-trails-places": "Zoek routes, plaatsen",
"search-trails": "Zoek routes", "search-trails": "Zoek routes",

View File

@@ -103,6 +103,7 @@
"required": "Wymagane", "required": "Wymagane",
"save": "Zapisz", "save": "Zapisz",
"save-trail": "Zapisz ścieżkę", "save-trail": "Zapisz ścieżkę",
"save-your-trail-first": "Najpierw zapisz swój ślad",
"search-cities": "Szukaj miasta", "search-cities": "Szukaj miasta",
"search-for-trails-places": "Szukaj ścieżek lub miejsc", "search-for-trails-places": "Szukaj ścieżek lub miejsc",
"search-trails": "Szukaj ścieżek", "search-trails": "Szukaj ścieżek",

View File

@@ -103,6 +103,7 @@
"required": "Obrigatório", "required": "Obrigatório",
"save": "Guardar", "save": "Guardar",
"save-trail": "Guardar trilho", "save-trail": "Guardar trilho",
"save-your-trail-first": "Salve sua trilha primeiro",
"search-cities": "Procurar cidades", "search-cities": "Procurar cidades",
"search-for-trails-places": "Procurar trilhos, locais", "search-for-trails-places": "Procurar trilhos, locais",
"search-trails": "Procurar trilhos", "search-trails": "Procurar trilhos",

View File

@@ -245,7 +245,7 @@ export async function trails_create(trail: Trail, photos: File[], gpx: File | Bl
} }
} }
export async function trails_update(oldTrail: Trail, newTrail: Trail, photos: File[], gpx: File | null) { export async function trails_update(oldTrail: Trail, newTrail: Trail, photos: File[], gpx: File | Blob | null) {
const waypointUpdates = compareObjectArrays<Waypoint>(oldTrail.expand.waypoints ?? [], newTrail.expand.waypoints ?? []); const waypointUpdates = compareObjectArrays<Waypoint>(oldTrail.expand.waypoints ?? [], newTrail.expand.waypoints ?? []);
@@ -360,13 +360,6 @@ export async function fetchGPX(trail: Trail, f: (url: RequestInfo | URL, config?
return gpxData return gpxData
} }
function setFileURLs(trail: Trail) {
for (let i = 0; i < trail.photos.length; i++) {
const photo = trail.photos[i];
trail.photos[i] = getFileURL(trail, photo)
}
}
function compareObjectArrays<T extends { id?: string }>(oldArray: T[], newArray: T[]) { function compareObjectArrays<T extends { id?: string }>(oldArray: T[], newArray: T[]) {
const newObjects = []; const newObjects = [];
const updatedObjects = []; const updatedObjects = [];

View File

@@ -64,7 +64,7 @@
let photoFiles: File[] = []; let photoFiles: File[] = [];
let gpxFile: File | null = null; let gpxFile: File | Blob | null = null;
const trailSchema = object<Trail>({ const trailSchema = object<Trail>({
id: string().optional(), id: string().optional(),
@@ -282,7 +282,6 @@
return; return;
} }
gpxFile = selectedFile;
$form.expand.waypoints = []; $form.expand.waypoints = [];
$form.waypoints = []; $form.waypoints = [];
@@ -295,10 +294,13 @@
const fileContent = e.target?.result as string; const fileContent = e.target?.result as string;
if (fileContent.includes("http://www.opengis.net/kml")) { if (fileContent.includes("http://www.opengis.net/kml")) {
gpxData = fromKML(e.target?.result as string); gpxData = fromKML(e.target?.result as string);
gpxFile = new Blob([gpxData], { type: "application/gpx+xml" });
} else if (fileContent.includes("TrainingCenterDatabase")) { } else if (fileContent.includes("TrainingCenterDatabase")) {
gpxData = fromTCX(e.target?.result as string); gpxData = fromTCX(e.target?.result as string);
gpxFile = new Blob([gpxData], { type: "application/gpx+xml" });
} else { } else {
gpxData = fileContent; gpxData = fileContent;
gpxFile = selectedFile;
} }
try { try {
await addGPXLayer(gpxData); await addGPXLayer(gpxData);
@@ -644,6 +646,7 @@
</div> </div>
<Button <Button
secondary={true} secondary={true}
tooltip={$_("save-your-trail-first")}
disabled={!$form.id} disabled={!$form.id}
type="button" type="button"
on:click={openListSelectModal} on:click={openListSelectModal}