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_DISABLE_SIGNUP: false
UPLOAD_FOLDER: /app/uploads
UPLOAD_USER:
UPLOAD_PASSWORD:
UPLOAD_USER: Flomp
UPLOAD_PASSWORD: 12345678
volumes:
- ./data/uploads:/app/uploads
ports:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -103,6 +103,7 @@
"required": "Obrigatório",
"save": "Guardar",
"save-trail": "Guardar trilho",
"save-your-trail-first": "Salve sua trilha primeiro",
"search-cities": "Procurar cidades",
"search-for-trails-places": "Procurar trilhos, locais",
"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 ?? []);
@@ -360,13 +360,6 @@ export async function fetchGPX(trail: Trail, f: (url: RequestInfo | URL, config?
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[]) {
const newObjects = [];
const updatedObjects = [];

View File

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