- Add category field to generatorSchema (required, 5 values) - Assign categories to all 28 generators - Add Organization JSON-LD schema to BaseLayout - Create custom 404 pages (EN + RU) - Add not-found and blog translation keys
29 lines
890 B
TypeScript
29 lines
890 B
TypeScript
import { z } from "zod";
|
|
|
|
export const generatorSchema = z
|
|
.object({
|
|
slug: z.string(),
|
|
title: z.string(),
|
|
description: z.string(),
|
|
icon: z.string(),
|
|
status: z.enum(["live", "coming-soon"]),
|
|
seoTitle: z.string(),
|
|
seoDescription: z.string(),
|
|
ruTitle: z.string(),
|
|
ruDescription: z.string(),
|
|
ruSeoTitle: z.string(),
|
|
ruSeoDescription: z.string(),
|
|
pageTitle: z.string(),
|
|
ruPageTitle: z.string(),
|
|
howTo: z.array(z.string()),
|
|
whenTo: z.array(z.string()),
|
|
ruHowTo: z.array(z.string()),
|
|
ruWhenTo: z.array(z.string()),
|
|
faq: z.array(z.object({ q: z.string(), a: z.string() })).optional(),
|
|
ruFaq: z.array(z.object({ q: z.string(), a: z.string() })).optional(),
|
|
category: z.enum(["gaming", "security", "decision-making", "creative", "utility"]),
|
|
})
|
|
.strict();
|
|
|
|
export type Generator = z.infer<typeof generatorSchema>;
|