--- import { AttributeCategory, Currency, VerificationStatus } from '@prisma/client' import { Icon } from 'astro-icon/components' import { actions, isInputError } from 'astro:actions' import BaseLayout from '../../../layouts/BaseLayout.astro' import { cn } from '../../../lib/cn' import { prisma } from '../../../lib/prisma' const categories = await Astro.locals.banners.try('Failed to fetch categories', () => prisma.category.findMany({ orderBy: { name: 'asc' }, }) ) const attributes = await Astro.locals.banners.try('Failed to fetch attributes', () => prisma.attribute.findMany({ orderBy: { category: 'asc' }, }) ) const result = Astro.getActionResult(actions.admin.service.create) Astro.locals.banners.addIfSuccess(result, 'Service created successfully') if (result && !result.error) { return Astro.redirect(`/admin/services/${result.data.service.slug}/edit`) } const inputErrors = isInputError(result?.error) ? result.error.fields : {} ---
service.create
{ inputErrors.name && (

{inputErrors.name.join(', ')}

) }
{ inputErrors.description && (

{inputErrors.description.join(', ')}

) }
{ inputErrors.serviceUrls && (

{inputErrors.serviceUrls.join(', ')}

) }
{ inputErrors.tosUrls && (

{inputErrors.tosUrls.join(', ')}

) }
{ inputErrors.onionUrls && (

{inputErrors.onionUrls.join(', ')}

) }

Upload a square image for best results. Supported formats: JPG, PNG, WebP, SVG.

{ inputErrors.imageFile && (

{inputErrors.imageFile.join(', ')}

) }
{ categories?.map((category) => ( )) }
{ inputErrors.categories && (

{inputErrors.categories.join(', ')}

) }
{ inputErrors.kycLevel && (

{inputErrors.kycLevel.join(', ')}

) }
{ Object.values(AttributeCategory).map((category) => (

{category}

{attributes ?.filter((attr) => attr.category === category) .map((attr) => ( ))}
{inputErrors.attributes && (

{inputErrors.attributes.join(', ')}

)}
)) }
{ inputErrors.verificationStatus && (

{inputErrors.verificationStatus.join(', ')}

) }
{ inputErrors.verificationSummary && (

{inputErrors.verificationSummary.join(', ')}

) }
{ inputErrors.verificationProofMd && (

{inputErrors.verificationProofMd.join(', ')}

) }
{ Object.values(Currency).map((currency) => ( )) }
{ inputErrors.acceptedCurrencies && (

{inputErrors.acceptedCurrencies.join(', ')}

) }
{ inputErrors.overallScore && (

{inputErrors.overallScore.join(', ')}

) }
{ inputErrors.referral && (

{inputErrors.referral.join(', ')}

) }