fixes tcx and kml file conversion upload
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
$: form.set(util.cloneDeep($summitLog));
|
$: form.set(util.cloneDeep($summitLog));
|
||||||
$: console.log($summitLog);
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Modal
|
<Modal
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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 = [];
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user