feat: complete UI/UX improvements, vuesax icons, media server, and section management

This commit is contained in:
s.esmaeili
2026-10-23 21:06:15 +03:30
parent 49f30a96b1
commit fa61a76444
64 changed files with 4527 additions and 819 deletions
+11
View File
@@ -77,6 +77,7 @@ export const settingsSectionSchema = z.object({
});
export const heroSectionSchema = z.object({
enabled: z.boolean().default(true),
badge: req(120),
title: req(80),
titleHighlight: req(80),
@@ -91,10 +92,12 @@ export const heroSectionSchema = z.object({
});
export const tapeSectionSchema = z.object({
enabled: z.boolean().default(true),
items: z.array(req(80)).min(1).max(20),
});
export const statsSectionSchema = z.object({
enabled: z.boolean().default(true),
items: z
.array(
z.object({
@@ -108,12 +111,14 @@ export const statsSectionSchema = z.object({
});
export const productsIntroSectionSchema = z.object({
enabled: z.boolean().default(true),
head: sectionHeadSchema,
ctaLabel: req(60),
trust: z.array(iconCard).max(6),
});
export const aboutSectionSchema = z.object({
enabled: z.boolean().default(true),
head: sectionHeadSchema,
body: req(2000),
image: imageRefSchema,
@@ -123,6 +128,7 @@ export const aboutSectionSchema = z.object({
});
export const servicesSectionSchema = z.object({
enabled: z.boolean().default(true),
head: sectionHeadSchema,
items: z
.array(
@@ -137,6 +143,7 @@ export const servicesSectionSchema = z.object({
});
export const standardsSectionSchema = z.object({
enabled: z.boolean().default(true),
head: sectionHeadSchema,
note: text(500),
ctaLabel: req(80),
@@ -144,6 +151,7 @@ export const standardsSectionSchema = z.object({
});
export const industriesSectionSchema = z.object({
enabled: z.boolean().default(true),
head: sectionHeadSchema,
items: z
.array(
@@ -158,11 +166,13 @@ export const industriesSectionSchema = z.object({
});
export const testimonialsSectionSchema = z.object({
enabled: z.boolean().default(true),
head: sectionHeadSchema,
items: z.array(z.object({ text: req(600), name: req(80), role: text(160) })).max(12),
});
export const contactSectionSchema = z.object({
enabled: z.boolean().default(true),
head: sectionHeadSchema,
emergencyTitle: req(80),
emergencyText: req(400),
@@ -173,6 +183,7 @@ export const contactSectionSchema = z.object({
});
export const footerSectionSchema = z.object({
enabled: z.boolean().default(true),
about: req(500),
copyright: req(160),
certLine: text(160),