Release 2025-05-23-S6tT
This commit is contained in:
@@ -18,7 +18,7 @@ const serviceSchemaBase = z.object({
|
|||||||
slug: z
|
slug: z
|
||||||
.string()
|
.string()
|
||||||
.regex(/^[a-z0-9-]+$/, 'Allowed characters: lowercase letters, numbers, and hyphens')
|
.regex(/^[a-z0-9-]+$/, 'Allowed characters: lowercase letters, numbers, and hyphens')
|
||||||
.nullable(),
|
.optional(),
|
||||||
name: z.string().min(1).max(20),
|
name: z.string().min(1).max(20),
|
||||||
description: z.string().min(1),
|
description: z.string().min(1),
|
||||||
serviceUrls: stringListOfUrlsSchemaRequired,
|
serviceUrls: stringListOfUrlsSchemaRequired,
|
||||||
@@ -28,12 +28,12 @@ const serviceSchemaBase = z.object({
|
|||||||
attributes: z.array(z.coerce.number().int().positive()),
|
attributes: z.array(z.coerce.number().int().positive()),
|
||||||
categories: z.array(z.coerce.number().int().positive()).min(1),
|
categories: z.array(z.coerce.number().int().positive()).min(1),
|
||||||
verificationStatus: z.nativeEnum(VerificationStatus),
|
verificationStatus: z.nativeEnum(VerificationStatus),
|
||||||
verificationSummary: z.string().nullable(),
|
verificationSummary: z.string().optional().nullable().default(null),
|
||||||
verificationProofMd: z.string().nullable(),
|
verificationProofMd: z.string().optional().nullable().default(null),
|
||||||
acceptedCurrencies: z.array(z.nativeEnum(Currency)),
|
acceptedCurrencies: z.array(z.nativeEnum(Currency)),
|
||||||
referral: z.string().nullable(),
|
referral: z.string().optional().nullable().default(null),
|
||||||
imageFile: imageFileSchema,
|
imageFile: imageFileSchema,
|
||||||
overallScore: zodCohercedNumber(z.number().int().min(0).max(10)).nullable(),
|
overallScore: zodCohercedNumber(z.number().int().min(0).max(10)).optional(),
|
||||||
serviceVisibility: z.nativeEnum(ServiceVisibility),
|
serviceVisibility: z.nativeEnum(ServiceVisibility),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -170,8 +170,6 @@ const errorTextClasses = 'mt-1 text-xs text-red-400'
|
|||||||
</h1>
|
</h1>
|
||||||
<a
|
<a
|
||||||
href={`/service/${service.slug}`}
|
href={`/service/${service.slug}`}
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
class="inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-sm text-sky-400 hover:text-sky-300 hover:underline focus:ring-2 focus:ring-sky-500 focus:ring-offset-2 focus:ring-offset-zinc-900 focus:outline-none"
|
class="inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-sm text-sky-400 hover:text-sky-300 hover:underline focus:ring-2 focus:ring-sky-500 focus:ring-offset-2 focus:ring-offset-zinc-900 focus:outline-none"
|
||||||
>
|
>
|
||||||
<Icon name="ri:external-link-line" class="size-4" />
|
<Icon name="ri:external-link-line" class="size-4" />
|
||||||
@@ -1017,12 +1015,10 @@ const errorTextClasses = 'mt-1 text-xs text-red-400'
|
|||||||
<div class="flex-grow space-y-1">
|
<div class="flex-grow space-y-1">
|
||||||
<div class="flex flex-wrap items-center gap-2">
|
<div class="flex flex-wrap items-center gap-2">
|
||||||
<Icon name={contactMethodInfo.icon} class="size-4 text-zinc-300" />
|
<Icon name={contactMethodInfo.icon} class="size-4 text-zinc-300" />
|
||||||
<span class="text-md font-semibold text-zinc-100">
|
<span class="text-md font-semibold text-zinc-100">{contactMethodInfo.label}</span>
|
||||||
{method.label ?? contactMethodInfo.label}
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
<p class="text-sm text-pretty text-zinc-400">
|
<p class="text-sm text-pretty text-zinc-400">
|
||||||
{contactMethodInfo.formattedValue}{' '}
|
{method.label ?? contactMethodInfo.formattedValue}{' '}
|
||||||
<span class="text-zinc-500">({method.value})</span>
|
<span class="text-zinc-500">({method.value})</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -1067,7 +1063,7 @@ const errorTextClasses = 'mt-1 text-xs text-red-400'
|
|||||||
id={`contactLabel-${method.id}`}
|
id={`contactLabel-${method.id}`}
|
||||||
value={method.label}
|
value={method.label}
|
||||||
class={inputBaseClasses}
|
class={inputBaseClasses}
|
||||||
placeholder={contactMethodInfo.label}
|
placeholder={contactMethodInfo.formattedValue}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
Reference in New Issue
Block a user