feat(hunt): track walking distance via GPS, show live locations on map
Docker Image CI / test (push) Failing after 41s
Docker Image CI / deploy (push) Skipped
Tests / unit (push) Failing after 36s
Tests / integration (push) Successful in 1m34s

Add foreground-only GPS distance tracking for hunts
This commit is contained in:
2026-09-27 20:55:58 +02:00
parent a0fc836c05
commit 61cc516f47
43 changed files with 2313 additions and 24 deletions
+15 -5
View File
@@ -102,7 +102,9 @@ export default defineEventHandler(async (event) => {
.max(10_000_000)
.optional(),
final: zh.boolAsString.optional(),
private: zh.boolAsString.default(false)
private: zh.boolAsString.default(false),
lat: zh.numAsString.pipe(z.number().min(-90).max(90)).optional(),
lon: zh.numAsString.pipe(z.number().min(-180).max(180)).optional()
})
.parse(formDataObj);
@@ -174,7 +176,9 @@ export default defineEventHandler(async (event) => {
text: data.answer,
pictureId: file.id,
final: data.final,
lang: data.lang
lang: data.lang,
lat: data.lat,
lon: data.lon
}
});
} else {
@@ -185,7 +189,9 @@ export default defineEventHandler(async (event) => {
questId: quest.id,
text: data.answer,
final: data.final,
lang: data.lang
lang: data.lang,
lat: data.lat,
lon: data.lon
},
select: { id: true }
});
@@ -211,7 +217,9 @@ export default defineEventHandler(async (event) => {
memberId: userId,
text: data.answer,
final: data.final,
lang: data.lang
lang: data.lang,
lat: data.lat,
lon: data.lon
}
});
if (prevAnswer.picture) {
@@ -232,7 +240,9 @@ export default defineEventHandler(async (event) => {
questId: quest.id,
text: data.answer,
final: data.final,
lang: data.lang
lang: data.lang,
lat: data.lat,
lon: data.lon
}
});
}