touchups after refactor

This commit is contained in:
Christian Beutel
2025-01-03 14:13:06 +01:00
parent 0d2e71c2f6
commit 7e0276aecb
8 changed files with 60 additions and 147 deletions

View File

@@ -130,7 +130,7 @@
{/if}
</td>
{/if}
{#if showAuthor && log.expand.author}
{#if showAuthor && log.expand?.author}
<td>
<p
class="tooltip flex justify-center"
@@ -162,7 +162,7 @@
</p>
</td>
{/if}
{#if showRoute && log.expand.gpx_data}
{#if showRoute && log.expand?.gpx_data}
<td>
<button on:click={openRoute} class="btn-icon">
<i class="fa fa-map-location-dot px-[3px] text-xl"></i></button

View File

@@ -12,8 +12,8 @@ const SummitLogCreateSchema = z.object({
elevation_loss: z.number().nonnegative().optional(),
duration: z.number().nonnegative().optional(),
author: z.string().length(15),
photos: z.array(z.string())
}) satisfies ZodType<SummitLog>
photos: z.array(z.string()).default([])
}) satisfies ZodType<Partial<SummitLog>>
const SummitLogUpdateSchema = z.object({
date: z.string().date().refine((val) => !val || !isNaN(Date.parse(val)), "invalid-date").optional(),

View File

@@ -10,21 +10,21 @@ const TrailCreateSchema = z.object({
date: z.string().optional().refine((val) => !val || !isNaN(Date.parse(val)), "invalid-date"),
public: z.boolean(),
difficulty: z.enum(["easy", "moderate", "difficult"]).optional(),
lat: z.number().optional(),
lon: z.number().optional(),
lat: z.number().min(-90).max(90).optional(),
lon: z.number().min(-180).max(180).optional(),
distance: z.number({coerce: true}).nonnegative().optional(),
elevation_gain: z.number({coerce: true}).nonnegative().optional(),
elevation_loss: z.number({coerce: true}).nonnegative().optional(),
duration: z.number({coerce: true}).nonnegative().optional(),
photos: z.array(z.string()),
photos: z.array(z.string()).default([]),
thumbnail: z.number().int().nonnegative().optional(),
waypoints: z.array(z.string()),
summit_logs: z.array(z.string()),
category: z.string().optional(),
waypoints: z.array(z.string()).default([]),
summit_logs: z.array(z.string()).default([]),
category: z.string().length(15).optional(),
gpx: z.string().optional(),
author: z.string().length(15),
}) satisfies ZodType<Trail>
}) satisfies ZodType<Partial<Trail>>
const TrailUpdateSchema = z.object({
name: z.string(),
@@ -33,13 +33,15 @@ const TrailUpdateSchema = z.object({
date: z.string().optional().refine((val) => !val || !isNaN(Date.parse(val)), "invalid-date"),
public: z.boolean().optional(),
difficulty: z.enum(["easy", "moderate", "difficult"]).optional(),
lat: z.number().optional(),
lon: z.number().optional(),
lat: z.number().min(-90).max(90).optional(),
lon: z.number().min(-180).max(180).optional(),
distance: z.number({coerce: true}).nonnegative().optional(),
elevation_gain: z.number({coerce: true}).nonnegative().optional(),
elevation_loss: z.number({coerce: true}).nonnegative().optional(),
duration: z.number({coerce: true}).nonnegative().optional(),
photos: z.array(z.string()).optional(),
"photos-": z.string().optional(),
"photos+": z.string().optional(),
thumbnail: z.number().int().nonnegative().optional(),
waypoints: z.array(z.string()).optional(),
summit_logs: z.array(z.string()).optional(),

View File

@@ -7,7 +7,7 @@ const UserCreateSchema = (z.object({
password: z.string().min(8, "must-be-at-least-n-characters-long"),
passwordConfirm: z.string().optional()
}) satisfies ZodType<User>).refine((data) => data.password === data.passwordConfirm, {
}) satisfies ZodType<Partial<User>>).refine((data) => data.password === data.passwordConfirm, {
message: "passwords-must-match",
path: ["passwordConfirm"],
})

View File

@@ -5,22 +5,20 @@ const WaypointCreateSchema = z.object({
id: z.string().length(15).optional(),
name: z.string().optional(),
description: z.string().optional(),
text: z.string().optional(),
lat: z.number(),
lon: z.number(),
lat: z.number({coerce: true}).min(-90).max(90),
lon: z.number({coerce: true}).min(-180).max(180),
icon: z.string().optional(),
author: z.string().length(15),
photos: z.array(z.string()),
}) satisfies ZodType<Waypoint>
photos: z.array(z.string()).default([]),
}) satisfies ZodType<Partial<Waypoint>>
const WaypointUpdateSchema = z.object({
name: z.string().optional(),
description: z.string().optional(),
text: z.string().optional(),
lat: z.number({coerce: true}).optional(),
lon: z.number({coerce: true}).optional(),
lat: z.number({coerce: true}).min(-90).max(90).optional(),
lon: z.number({coerce: true}).min(-180).max(180).optional(),
icon: z.string().optional(),
photos: z.array(z.string()),
photos: z.array(z.string()).optional(),
"photos-": z.string().optional(),
"photos+": z.string().optional(),
}) satisfies ZodType<Partial<Waypoint>>