diff --git a/apps/admin/src/components/ContactInfoFields.vue b/apps/admin/src/components/ContactInfoFields.vue
new file mode 100644
index 0000000..ed698e6
--- /dev/null
+++ b/apps/admin/src/components/ContactInfoFields.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/admin/src/pages/LoginPage.vue b/apps/admin/src/pages/LoginPage.vue
index 1037134..be080ec 100644
--- a/apps/admin/src/pages/LoginPage.vue
+++ b/apps/admin/src/pages/LoginPage.vue
@@ -107,9 +107,9 @@ async function submit() {
-
+
ایمن پیشگامان
diff --git a/apps/admin/src/pages/SectionEditPage.vue b/apps/admin/src/pages/SectionEditPage.vue
index 74e98f1..5e14ab2 100644
--- a/apps/admin/src/pages/SectionEditPage.vue
+++ b/apps/admin/src/pages/SectionEditPage.vue
@@ -1,5 +1,12 @@
-
+
کاربر جدید
@@ -241,7 +241,6 @@ onMounted(load);
- مدیریت کاربران، نقشها و تنظیمات امنیتی
- - تنظیمات پایه سایت، سئو، شبکهها و ساعات کاری
- حذف دادهها (محصولات، دستهها، پیامها، رسانهها)
@@ -253,7 +252,7 @@ onMounted(load);
- ایجاد، ویرایش و انتشار محصولات و دستهبندیها
- - ویرایش محتوای بخشهای صفحه اصلی
+ - ویرایش بخشهای سایت، نشانی، تماس، سئو و شبکهها
- آپلود تصاویر در رسانه و مشاهده پیامهای تماس
@@ -269,7 +268,6 @@ onMounted(load);
- مدیریت کاربران، افزودن کاربر و تغییر نقشها و وضعیت حساب
- - دسترسی کامل به تنظیمات پایه سایت، ساعات کاری، شبکهها و سئو
- مجوز حذف محصولات، دستهبندیها، رسانهها و پیامهای تماس
- مشاهده لاگهای امنیتی و رویدادهای کامل سامانه
@@ -282,7 +280,7 @@ onMounted(load);
- ایجاد، ویرایش، کپی و انتشار محصولات و گروهها
- - ویرایش محتوای بخشهای صفحه اصلی و فعال/مخفیسازی نمایش آنها
+ - ویرایش بخشهای سایت، نشانی، تماس، سئو، شبکهها و نمایش/مخفیسازی
- آپلود و ویرایش اطلاعات رسانهها در کتابخانه رسانه
- مشاهده پیامهای تماس و بهروزرسانی وضعیت (بدون دسترسی حذف یا مدیریت کاربران)
@@ -319,7 +317,7 @@ onMounted(load);
:options="ROLE_OPTIONS"
/>
- {{ model.role === 'ADMIN' ? 'مدیر کل: دسترسی کامل سیستمی، حذف دادهها، تنظیمات و مدیریت کاربران' : 'ویرایشگر: ویرایش محتوا، محصولات، بخشها و پیامها (بدون حذف)' }}
+ {{ model.role === 'ADMIN' ? 'مدیر کل: دسترسی کامل سیستمی، حذف دادهها و مدیریت کاربران' : 'ویرایشگر: ویرایش محتوا، محصولات، بخشهای سایت (از جمله نشانی و تماس)، پیامها (بدون حذف)' }}
diff --git a/apps/admin/src/sections/AboutForm.vue b/apps/admin/src/sections/AboutForm.vue
index 3e8364e..94cd6a6 100644
--- a/apps/admin/src/sections/AboutForm.vue
+++ b/apps/admin/src/sections/AboutForm.vue
@@ -13,7 +13,7 @@ const data = defineModel>({ required: true });
-
+
diff --git a/apps/admin/src/sections/ContactForm.vue b/apps/admin/src/sections/ContactForm.vue
index 596bc97..b7b55d6 100644
--- a/apps/admin/src/sections/ContactForm.vue
+++ b/apps/admin/src/sections/ContactForm.vue
@@ -1,17 +1,31 @@
- نشانی، تلفن، ایمیل و ساعات کاری از «تنظیمات سایت» خوانده میشوند.
+
+
+
+ این مقادیر در هدر، فوتر، بخش تماس و سئوی سایت مشترکاند و با ذخیرهٔ همین صفحه بهروز میشوند.
+
+
+
+
@@ -24,10 +38,16 @@ const data = defineModel>({ required: true });
+
+
+
+
+
+
diff --git a/apps/admin/src/sections/FooterForm.vue b/apps/admin/src/sections/FooterForm.vue
index a0260e5..ae70083 100644
--- a/apps/admin/src/sections/FooterForm.vue
+++ b/apps/admin/src/sections/FooterForm.vue
@@ -6,15 +6,30 @@ const data = defineModel>({ required: true });
-
-
-
-
-
- لینک دستهها و اطلاعات تماس فوتر بهصورت خودکار از دستهبندیها و تنظیمات سایت ساخته میشوند.
-
+
+
+
+
+
+
+
+
+ لینک دستهها و اطلاعات تماس فوتر بهصورت خودکار از دستهبندیها و تنظیمات سایت ساخته میشوند.
+
+
+
diff --git a/apps/admin/src/sections/SettingsForm.vue b/apps/admin/src/sections/SettingsForm.vue
index 3fe9e77..c5383cb 100644
--- a/apps/admin/src/sections/SettingsForm.vue
+++ b/apps/admin/src/sections/SettingsForm.vue
@@ -1,5 +1,6 @@
-
+
- ایمن پیشگامان
+ {{ settings.name }}
- IMEN PISHGAMAN CO.
+ {{ settings.nameEn }}
diff --git a/packages/shared/dist/sections.d.ts b/packages/shared/dist/sections.d.ts
index bbdda6e..c3a4a1e 100644
--- a/packages/shared/dist/sections.d.ts
+++ b/packages/shared/dist/sections.d.ts
@@ -28,6 +28,7 @@ export declare const settingsSectionSchema: z.ZodObject<{
locality: z.ZodString;
country: z.ZodDefault;
}, z.core.$strip>;
+ mapUrl: z.ZodDefault;
workingHours: z.ZodString;
openingHours: z.ZodObject<{
days: z.ZodArray;
foundingDate: z.ZodString;
+ headerCta: z.ZodDefault>;
socials: z.ZodArray;
+ resetLabel: z.ZodDefault;
}, z.core.$strip>;
export declare const footerSectionSchema: z.ZodObject<{
enabled: z.ZodDefault;
@@ -231,6 +238,9 @@ export declare const footerSectionSchema: z.ZodObject<{
copyright: z.ZodString;
certLine: z.ZodDefault;
emergencyNote: z.ZodDefault;
+ linksTitle: z.ZodDefault;
+ productsTitle: z.ZodDefault;
+ contactTitle: z.ZodDefault;
}, z.core.$strip>;
export declare const sectionSchemas: {
readonly settings: z.ZodObject<{
@@ -246,6 +256,7 @@ export declare const sectionSchemas: {
locality: z.ZodString;
country: z.ZodDefault;
}, z.core.$strip>;
+ mapUrl: z.ZodDefault;
workingHours: z.ZodString;
openingHours: z.ZodObject<{
days: z.ZodArray;
foundingDate: z.ZodString;
+ headerCta: z.ZodDefault>;
socials: z.ZodArray;
+ resetLabel: z.ZodDefault;
}, z.core.$strip>;
readonly footer: z.ZodObject<{
enabled: z.ZodDefault;
@@ -449,6 +466,9 @@ export declare const sectionSchemas: {
copyright: z.ZodString;
certLine: z.ZodDefault;
emergencyNote: z.ZodDefault;
+ linksTitle: z.ZodDefault;
+ productsTitle: z.ZodDefault;
+ contactTitle: z.ZodDefault;
}, z.core.$strip>;
};
export type SectionKey = keyof typeof sectionSchemas;
diff --git a/packages/shared/dist/sections.d.ts.map b/packages/shared/dist/sections.d.ts.map
index 602541d..a01930d 100644
--- a/packages/shared/dist/sections.d.ts.map
+++ b/packages/shared/dist/sections.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,yFAQZ,CAAC;AAEX,eAAO,MAAM,YAAY,+HAYf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAKvD,eAAO,MAAM,iBAAiB;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BhC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;iBAY7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;iBAKrC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAahC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAMjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAalC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;iBAIpC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;iBAS/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAajB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC;AACrD,eAAO,MAAM,YAAY,EAAkC,UAAU,EAAE,CAAC;AACxE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,MAAM,MAAM,YAAY,GAAG;KAAG,CAAC,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC;CAAE,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAEnD,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,UAAmC,CAAC;AAEtF,yCAAyC;AACzC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAa9E,CAAC"}
\ No newline at end of file
+{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AAEH,eAAO,MAAM,SAAS,yFAQZ,CAAC;AAEX,eAAO,MAAM,YAAY,+HAYf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAKvD,eAAO,MAAM,iBAAiB;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiChC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;iBAY7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;iBAKrC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAahC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAMjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAalC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;iBAIpC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;iBAa/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAU9B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAajB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC;AACrD,eAAO,MAAM,YAAY,EAAkC,UAAU,EAAE,CAAC;AACxE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,MAAM,MAAM,YAAY,GAAG;KAAG,CAAC,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC;CAAE,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAEnD,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,UAAmC,CAAC;AAEtF,yCAAyC;AACzC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAa9E,CAAC"}
\ No newline at end of file
diff --git a/packages/shared/dist/sections.js b/packages/shared/dist/sections.js
index c7dc648..019d28d 100644
--- a/packages/shared/dist/sections.js
+++ b/packages/shared/dist/sections.js
@@ -53,6 +53,8 @@ export const settingsSectionSchema = z.object({
locality: req(80),
country: z.string().trim().length(2).default("IR"),
}),
+ /** Google Maps / Neshan / etc. share link shown next to the address */
+ mapUrl: text(500),
/** human-readable working hours, e.g. «شنبه تا پنجشنبه — ۸:۰۰ تا ۱۷:۰۰» */
workingHours: req(120),
openingHours: z.object({
@@ -61,6 +63,8 @@ export const settingsSectionSchema = z.object({
closes: z.string().regex(/^\d{2}:\d{2}$/, "قالب ساعت باید HH:MM باشد"),
}),
foundingDate: z.string().regex(/^\d{4}$/, "سال میلادی چهاررقمی"),
+ /** sticky header CTA (e.g. «درخواست مشاوره») */
+ headerCta: linkSchema.default({ label: "درخواست مشاوره", href: "/#contact" }),
socials: z.array(z.object({ type: z.enum(SOCIAL_TYPES), url: req(300) })).max(12),
ogImage: imageRefSchema.extend({
width: z.number().int().positive().nullable().default(null),
@@ -156,6 +160,10 @@ export const contactSectionSchema = z.object({
formTitle: req(160),
successTitle: req(80),
successText: req(300),
+ /** submit button on the contact form */
+ submitLabel: req(80).default("ارسال درخواست مشاوره"),
+ /** button shown after a successful submit */
+ resetLabel: req(80).default("ثبت درخواست جدید"),
});
export const footerSectionSchema = z.object({
enabled: z.boolean().default(true),
@@ -163,6 +171,10 @@ export const footerSectionSchema = z.object({
copyright: req(160),
certLine: text(160),
emergencyNote: text(80),
+ /** column headings under the brand block */
+ linksTitle: req(40).default("دسترسی"),
+ productsTitle: req(40).default("محصولات"),
+ contactTitle: req(40).default("ارتباط"),
});
export const sectionSchemas = {
settings: settingsSectionSchema,
@@ -192,7 +204,7 @@ export const SECTION_LABELS = {
standards: { title: "استانداردها", desc: "استانداردها و گواهینامهها" },
industries: { title: "صنایع", desc: "صنایع تحت پوشش و تصویر هرکدام" },
testimonials: { title: "نظرات مشتریان", desc: "نقلقولهای مشتریان" },
- contact: { title: "تماس با ما", desc: "عنوانها و متنهای فرم تماس" },
- footer: { title: "فوتر", desc: "متن معرفی، کپیرایت و توضیحات پایین صفحه" },
+ contact: { title: "تماس با ما", desc: "عنوانها، متنهای فرم، و ویرایش نشانی و اطلاعات تماس" },
+ footer: { title: "فوتر", desc: "متن معرفی، عناوین ستونها، کپیرایت و توضیحات پایین صفحه" },
};
//# sourceMappingURL=sections.js.map
\ No newline at end of file
diff --git a/packages/shared/dist/sections.js.map b/packages/shared/dist/sections.js.map
index 79f564e..6a7b197 100644
--- a/packages/shared/dist/sections.js.map
+++ b/packages/shared/dist/sections.js.map
@@ -1 +1 @@
-{"version":3,"file":"sections.js","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"sections.js","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/shared/src/sections.ts b/packages/shared/src/sections.ts
index 52cf7ce..3c0c330 100644
--- a/packages/shared/src/sections.ts
+++ b/packages/shared/src/sections.ts
@@ -61,6 +61,8 @@ export const settingsSectionSchema = z.object({
locality: req(80),
country: z.string().trim().length(2).default("IR"),
}),
+ /** Google Maps / Neshan / etc. share link shown next to the address */
+ mapUrl: text(500),
/** human-readable working hours, e.g. «شنبه تا پنجشنبه — ۸:۰۰ تا ۱۷:۰۰» */
workingHours: req(120),
openingHours: z.object({
@@ -69,6 +71,8 @@ export const settingsSectionSchema = z.object({
closes: z.string().regex(/^\d{2}:\d{2}$/, "قالب ساعت باید HH:MM باشد"),
}),
foundingDate: z.string().regex(/^\d{4}$/, "سال میلادی چهاررقمی"),
+ /** sticky header CTA (e.g. «درخواست مشاوره») */
+ headerCta: linkSchema.default({ label: "درخواست مشاوره", href: "/#contact" }),
socials: z.array(z.object({ type: z.enum(SOCIAL_TYPES), url: req(300) })).max(12),
ogImage: imageRefSchema.extend({
width: z.number().int().positive().nullable().default(null),
@@ -180,6 +184,10 @@ export const contactSectionSchema = z.object({
formTitle: req(160),
successTitle: req(80),
successText: req(300),
+ /** submit button on the contact form */
+ submitLabel: req(80).default("ارسال درخواست مشاوره"),
+ /** button shown after a successful submit */
+ resetLabel: req(80).default("ثبت درخواست جدید"),
});
export const footerSectionSchema = z.object({
@@ -188,6 +196,10 @@ export const footerSectionSchema = z.object({
copyright: req(160),
certLine: text(160),
emergencyNote: text(80),
+ /** column headings under the brand block */
+ linksTitle: req(40).default("دسترسی"),
+ productsTitle: req(40).default("محصولات"),
+ contactTitle: req(40).default("ارتباط"),
});
export const sectionSchemas = {
@@ -225,6 +237,6 @@ export const SECTION_LABELS: Record
standards: { title: "استانداردها", desc: "استانداردها و گواهینامهها" },
industries: { title: "صنایع", desc: "صنایع تحت پوشش و تصویر هرکدام" },
testimonials: { title: "نظرات مشتریان", desc: "نقلقولهای مشتریان" },
- contact: { title: "تماس با ما", desc: "عنوانها و متنهای فرم تماس" },
- footer: { title: "فوتر", desc: "متن معرفی، کپیرایت و توضیحات پایین صفحه" },
+ contact: { title: "تماس با ما", desc: "عنوانها، متنهای فرم، و ویرایش نشانی و اطلاعات تماس" },
+ footer: { title: "فوتر", desc: "متن معرفی، عناوین ستونها، کپیرایت و توضیحات پایین صفحه" },
};