Update content in about blocks to reflect new branding and messaging for various products. Key changes include rephrasing descriptions, updating titles, and modifying statistics to better align with the current offerings and mission statements. This enhances clarity and consistency across the platform.

This commit is contained in:
mr.sabri
2026-07-15 20:22:14 +02:00
parent 85836ef183
commit 4fa6b150d1
496 changed files with 5199 additions and 5357 deletions
+10 -10
View File
@@ -15,7 +15,7 @@ const About1 = ({ className }: About1Props) => {
درباره ما
</h1>
<p className="max-w-xl text-xl">
پلتفرم ما ساخت پورتال مشتری، سامانه‌های سامانه ارتباط با مشتری و فروش، ابزارهای داخلی و نرم‌افزارهای سازمانی را برای تیم شما ساده می‌کند؛ در چند دقیقه، نه چند ماه.
وندوک به تیم‌های فروش کمک می‌کند مخاطبین، فرصت‌ها و چرخه معامله را در یک CRM واحد مدیریت کنند. از ثبت لید تا بستن قرارداد، همه‌چیز شفاف و قابل پیگیری است.
</p>
</div>
<div className="grid gap-6 md:grid-cols-2">
@@ -27,17 +27,17 @@ const About1 = ({ className }: About1Props) => {
<div className="flex flex-col justify-between gap-10 rounded-2xl bg-muted bg-[url('/block-media/shadcnblocks/block/photos/christin-hume-Hcfwew744z4-unsplash.jpg')] bg-cover bg-center p-10">
<p className="text-sm font-semibold text-white">مأموریت ما</p>
<p className="text-lg font-medium text-white">
باور ما این است که ساخت نرم‌افزار باید برای همه ساده و در دسترس باشد. هر کسی باید بتواند بدون نیاز به طراح یا برنامه‌نویس، ابزار موردنیاز خود را بسازد.
مأموریت وندوک این است که فروش B2B را بدون پیچیدگی‌های قدیمی CRM ممکن کند. هر نماینده باید بتواند در چند دقیقه وضعیت پایپ‌لاین را ببیند و اقدام بعدی را بداند.
</p>
</div>
</div>
<div className="flex flex-col gap-6 md:gap-20">
<div className="max-w-xl">
<h2 className="mb-4 text-3xl font-semibold tracking-tight md:text-2xll">
ساخت نرم‌افزار را ساده کرده‌ایم
فروش را قابل اندازه‌گیری کرده‌ایم
</h2>
<p className="text-lg text-muted-foreground">
ما قصد داریم به یک میلیون تیم کمک کنیم تا نرم‌افزار اختصاصی خود را بسازند. این هم برنامه‌ی ما برای رسیدن به این هدف است.
هدف ما این است که هزاران تیم فروش با دادهٔ واقعی تصمیم بگیرند، نه با حدس. این سه اصل مسیر ماست.
</p>
</div>
<div className="grid gap-10 md:grid-cols-3">
@@ -46,10 +46,10 @@ const About1 = ({ className }: About1Props) => {
<Files className="size-5" />
</div>
<h3 className="mt-2 mb-3 text-lg font-semibold">
شفافیت و همکاری
شفافیت پایپ‌لاین
</h3>
<p className="text-muted-foreground">
ما باور داریم همکاری زمانی شکل می‌گیرد که فروتنی، احترام و روحیه کمک به یکدیگر بخشی از فرهنگ تیم باشد. بازخورد سازنده، گفت‌وگوی شفاف و یادگیری مداوم از ارزش‌های اصلی ما هستند.
هر معامله وضعیت، مالک و مرحله بعدی مشخص دارد. مدیران و نمایندگان روی یک منبع حقیقت کار می‌کنند تا هیچ فرصتی از دست نرود.
</p>
</div>
<div className="flex flex-col">
@@ -57,10 +57,10 @@ const About1 = ({ className }: About1Props) => {
<CircleArrowRight className="size-5" />
</div>
<h3 className="mt-2 mb-3 text-lg font-semibold">
ایجاد تغییر چشمگیر
شتاب در بستن معامله
</h3>
<p className="text-muted-foreground">
با جسارت، شجاعت و اهداف شفاف. ما به دنبال فرصت‌های بزرگ هستیم و تمرکز و انرژی خود را بر مهم‌ترین کارهایی که باید انجام شوند، دوچندان می‌کنیم.
اتوماسیون یادآوری، امتیازدهی لید و هشدارهای ازدست‌رفتن به تیم کمک می‌کند روی فرصت‌های با اولویت بالا تمرکز کند و نرخ تبدیل را بالا ببرد.
</p>
</div>
<div className="flex flex-col">
@@ -68,10 +68,10 @@ const About1 = ({ className }: About1Props) => {
<Settings className="size-5" />
</div>
<h3 className="mt-2 mb-3 text-lg font-semibold">
بهینه‌سازی برای توانمندسازی
گزارش‌های قابل اقدام
</h3>
<p className="text-muted-foreground">
ما باور داریم که همه باید توانمند باشند تا هر کاری را که به نظرشان در راستای منافع شرکت است انجام دهند.
داشبوردهای وندوک نرخ برد، طول چرخه و عملکرد نمایندگان را لحظه‌ای نشان می‌دهد تا کوچینگ و برنامه‌ریزی فروش دقیق‌تر شود.
</p>
</div>
</div>
+14 -14
View File
@@ -3,19 +3,19 @@ import { ArrowUpRight } from "lucide-react";
import { cn } from "@/lib/utils";
const profile = {
title: "کسب‌وکار نوپا سامانه ابری",
subtitle: "ساخت آینده بهره‌وری",
bio: `تیمی پرشور از نوآوران هستیم که راهکارهای SaaS پیشرفته می‌سازیم تا کسب‌وکارها عملیات خود را ساده‌تر کنند و بهره‌وری را بالا ببرند. مأموریت ما نرم‌افزاری است که نه‌تنها مشکلات امروز را حل کند، بلکه چالش‌های فردا را پیش‌بینی کند.`,
vision: `به قدرت فناوری برای تحول نحوه کار کسب‌وکارها باور داریم. هدف ما ساخت راهکارهای شهودی و مقیاس‌پذیر است که با مشتریان رشد کند و به نیازهای در حال تغییر آن‌ها سازگار شود.`,
outro: `به هزاران کسب‌وکاری بپیوندید که به پلتفرم ما برای موفقیت خود اعتماد دارند. بیایید با هم چیزی شگفت‌انگیز بسازیم.`,
title: "لیدهاب",
subtitle: "CRM برای تیم‌های فروش در حال رشد",
bio: `لیدهاب CRM سبک و قدرتمند برای تیم‌های فروش B2B است. مخاطبین، فرصت‌ها و فعالیت‌ها در یک جا می‌مانند تا هیچ لیدی از دست نرود.`,
vision: `فروش وقتی مقیاس می‌گیرد که داده‌ها تمیز، قابل جست‌وجو و متصل به کمپین باشند. لیدهاب برای رشد تدریجی تیم فروش طراحی شده است؛ از ۳ نفر تا ۳۰۰ نفر.`,
outro: `به هزاران تیم فروشی بپیوندید که پایپ‌لاین خود را با لیدهاب شفاف و قابل پیش‌بینی کرده‌اند.`,
team: [
{ id: "01", item: "مریم چناری", type: "مدیرعامل و هم‌بنیان‌گذار" },
{ id: "02", item: "مهدی محمدی", type: "مدیر فناوری و هم‌بنیان‌گذار" },
{ id: "03", item: "الهام حسینی", type: "سرپرست محصول" },
{ id: "04", item: "داوود کیمیایی", type: "مهندس ارشد" },
{ id: "05", item: "لیلا احمدی", type: "سرپرست طراحی" },
{ id: "06", item: "امیر جعفری", type: "سرپرست بازاریابی" },
{ id: "07", item: "راحله سبز", type: "سرپرست فروش" },
{ id: "03", item: "الهام حسینی", type: "مدیر محصول" },
{ id: "04", item: "داوود کیمیایی", type: "مهندس ارشد CRM" },
{ id: "05", item: "لیلا احمدی", type: "مدیر تجربه محصول" },
{ id: "06", item: "امیر جعفری", type: "مدیر رشد" },
{ id: "07", item: "راحله سبز", type: "مدیر فروش سازمانی" },
],
};
@@ -34,7 +34,7 @@ const About10 = ({ className }: About10Props) => {
<div className="mb-6 flex items-center gap-4">
<img
src="/block-media/shadcnblocks/block/photos/futuristic-device-design-qcufu.png"
alt="تیم کسب‌وکار نوپا سامانه ابری"
alt="تیم لیدهاب"
className="h-16 w-16 rounded-lg object-cover"
/>
<div>
@@ -50,7 +50,7 @@ const About10 = ({ className }: About10Props) => {
<div className="py-4">
<div className="group flex p-0 text-start text-xl font-medium hover:bg-transparent sm:text-xl">
<span className="border-b-2 border-border pb-0.5 transition-colors">
تماس با ما
درخواست دمو
</span>
<ArrowUpRight className="ml-1 h-6 w-5 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
</div>
@@ -69,14 +69,14 @@ const About10 = ({ className }: About10Props) => {
</p>
<div className="grid grid-cols-1 gap-12 lg:grid-cols-2">
<h2 className="text-xl font-medium">فلسفه اصلی</h2>
<h2 className="text-xl font-medium">رویکرد ما</h2>
<p className="leading-relaxed">{profile.vision}</p>
</div>
<div className="my-12">
<img
src="/block-media/shadcnblocks/block/lummi/bw12.jpeg"
alt="دفتر کسب‌وکار نوپا سامانه ابری"
alt="دفتر لیدهاب"
className="rounded-2xl object-cover"
/>
</div>
+27 -31
View File
@@ -5,27 +5,27 @@ import { cn } from "@/lib/utils";
const awards = [
{
title: "جایزه رهبری طراحی",
title: "جایزه بهترین پلتفرم اتوماسیون بازاریابی",
year: "2025",
},
{
title: "بهترین بازطراحی برند",
title: "بهترین یکپارچه‌سازی CRM",
year: "2025",
},
{
title: "جایزه تعالی تجربه کاربری",
title: "جایزه تجربه کاربری SaaS",
year: "2024",
},
{
title: "نوآوری در هویت بصری",
title: "نوآوری در Attribution چندلمسی",
year: "2024",
},
{
title: "تقدیر طراحی بسته‌بندی",
title: "تقدیر گزارش‌های رشد درآمد",
year: "2023",
},
{
title: "اثر اجتماعی در طراحی",
title: "تأثیر بر بهره‌وری تیم بازاریابی",
year: "2023",
},
];
@@ -45,17 +45,16 @@ const About12 = ({ className }: About12Props) => {
</div>
<div className="col-span-1 flex flex-col gap-8 md:col-span-4 md:gap-24">
<p className="text-xl font-medium tracking-tight text-balance md:text-2xll">
پلتفرم‌های CRM و بازاریابی می‌سازیم که ارزش پیشنهادی شما را
به مشتریان هدف منتقل می‌کنند و رشد درآمد را تسریع می‌بخشند.
برندلینک پلتفرم CRM بازاریابی است؛ سگمنت مخاطب، کمپین چندکاناله و Attribution را در یک سیستم واحد برای تیم‌های رشد فراهم می‌کند.
</p>
<div className="flex flex-col gap-4 md:gap-6">
<img
src="/block-media/shadcnblocks/block/photos/annie-spratt-MChSQHxGZrQ-unsplash.jpg"
alt="پرتره"
alt="تصویر تیم برندلینک"
className="aspect-[6/8] rounded-xl object-cover md:max-w-md"
/>
<p className="max-w-md text-muted-foreground">
فراتر از تحویل پروژه، به ایجاد همکاری‌های بلندمدت باور داریم. از هر تجربه می‌آموزیم و ایده‌های کوچک را به تغییرات ماندگار تبدیل می‌کنیم.
فراتر از اجرای کمپین، روی حلقه بازخورد بین بازاریابی و فروش تمرکز می‌کنیم تا هر لید قابل اندازه‌گیری به درآمد نزدیک‌تر شود.
</p>
</div>
</div>
@@ -71,7 +70,7 @@ const About12 = ({ className }: About12Props) => {
<div className="relative overflow-hidden rounded-xl border">
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="جای‌نگهدار"
alt="نمای محصول برندلینک"
className="aspect-square object-cover dark:invert"
/>
<span className="absolute top-3 start-3 rounded-xs bg-primary px-2.5 py-1 font-mono text-sm text-primary-foreground">
@@ -79,10 +78,9 @@ const About12 = ({ className }: About12Props) => {
</span>
</div>
<div className="flex flex-col gap-1 md:gap-2">
<h3 className="text-xl font-medium lg:text-xl">درک</h3>
<h3 className="text-xl font-medium lg:text-xl">کشف</h3>
<p className="text-sm text-muted-foreground lg:text-base">
با پژوهش و گفت‌وگو شروع می‌کنیم تا اهداف، مخاطب و محدودیت‌ها
روشن شود.
قیف فعلی، منابع لید و شکاف‌های داده را بررسی می‌کنیم تا اهداف کمپین دقیق شود.
</p>
</div>
</div>
@@ -90,7 +88,7 @@ const About12 = ({ className }: About12Props) => {
<div className="relative overflow-hidden rounded-xl border">
<img
src="/block-media/shadcnblocks/block/placeholder-2.svg"
alt="جای‌نگهدار"
alt="نمای محصول برندلینک"
className="aspect-square object-cover dark:invert"
/>
<span className="absolute top-3 left-3 rounded-xs bg-primary px-2.5 py-1 font-mono text-sm text-primary-foreground">
@@ -98,10 +96,9 @@ const About12 = ({ className }: About12Props) => {
</span>
</div>
<div className="flex flex-col gap-1 md:gap-2">
<h3 className="text-xl font-medium lg:text-xl">طراحی</h3>
<h3 className="text-xl font-medium lg:text-xl">طراحی جریان</h3>
<p className="text-sm text-muted-foreground lg:text-base">
مسیرها و نمونه‌های اولیه در هویت، محصول و محتوا با نقاط
کنترل شفاف می‌سازیم.
سگمنت‌ها، سفر مشتری و تریگرهای کمپین را با نقاط کنترل شفاف طراحی می‌کنیم.
</p>
</div>
</div>
@@ -109,7 +106,7 @@ const About12 = ({ className }: About12Props) => {
<div className="relative overflow-hidden rounded-xl border">
<img
src="/block-media/shadcnblocks/block/placeholder-3.svg"
alt="جای‌نگهدار"
alt="نمای محصول برندلینک"
className="aspect-square object-cover dark:invert"
/>
<span className="absolute top-3 left-3 rounded-xs bg-primary px-2.5 py-1 font-mono text-sm text-primary-foreground">
@@ -117,9 +114,9 @@ const About12 = ({ className }: About12Props) => {
</span>
</div>
<div className="flex flex-col gap-1 md:gap-2">
<h3 className="text-xl font-medium lg:text-xl">تحویل</h3>
<h3 className="text-xl font-medium lg:text-xl">بهینه‌سازی</h3>
<p className="text-sm text-muted-foreground lg:text-base">
مستندات، راهنماها و پشتیبانی مستمر را فراهم می‌کنیم تا رشد و توسعه کسب‌وکار شما بدون مانع ادامه پیدا کند.
پس از اجرا، گزارش Attribution و نرخ تبدیل را بررسی و کمپین را برای فصل بعد بهینه می‌کنیم.
</p>
</div>
</div>
@@ -137,26 +134,26 @@ const About12 = ({ className }: About12Props) => {
<div className="flex flex-col justify-between gap-2 rounded-lg bg-muted p-8 lg:flex-row lg:items-center lg:gap-10 lg:p-12">
<span className="text-2xll font-medium lg:text-2xll">120+</span>
<p className="text-primary/80 lg:max-w-md">
پروژه‌های موفق در صنایع مختلف، از غذا و نوشیدنی تا فین‌تک.
استقرار موفق برای تیم‌های بازاریابی B2B در صنایع SaaS، فین‌تک و خدمات سازمانی.
</p>
</div>
<div className="flex flex-col justify-between gap-2 rounded-lg bg-muted p-8 lg:flex-row lg:items-center lg:gap-10 lg:p-12">
<span className="text-2xll font-medium lg:text-2xll">12+</span>
<p className="text-primary/80 lg:max-w-md">
سال‌ها تجربه در توسعه برند، بهبود فرایندها و طراحی سیستم‌های پایدار.
سال‌ها تجربه در توسعه برند، بهبود فرایندها و طراحی جریان سیستم‌های پایدار.
</p>
</div>
<div className="flex flex-col justify-between gap-2 rounded-lg bg-muted p-8 lg:flex-row lg:items-center lg:gap-10 lg:p-12">
<span className="text-2xll font-medium lg:text-2xll">15+</span>
<p className="text-primary/80 lg:max-w-md">
جوایز و افتخاراتی که حاصل اعتماد مشتریان و کیفیت همکاری‌های ما هستند.
جوایز محصول و رضایت مشتری که حاصل نتایج رشد قابل اندازه‌گیری است.
</p>
</div>
</div>
</section>
<img
src="/block-media/shadcnblocks/block/photos/studio-republic-fotKKqWNMQ4-unsplash.jpg"
alt="جای‌نگهدار"
alt="نمای محصول برندلینک"
className="my-16 aspect-square w-full rounded-xl object-cover md:my-32 md:aspect-video"
/>
<section className="grid grid-cols-1 items-start gap-6 md:grid-cols-6">
@@ -192,32 +189,31 @@ const About12 = ({ className }: About12Props) => {
<div className="flex flex-col gap-8 md:col-span-4 md:gap-12">
<div className="flex flex-col gap-4">
<p className="text-xl font-medium tracking-tight md:text-2xll">
&ldquo;برند و محصول ما را هم‌راستا کردند و اثر آن فوراً در
تیم‌ها و مشتریان ما دیده شد.&rdquo;
&ldquo;برندلینک Attribution کمپین‌ها را شفاف کرد و نرخ تبدیل لید به فرصت ما ۴۰٪ رشد کرد.&rdquo;
</p>
<p className="font-medium text-muted-foreground md:text-lg">
نگار، مدیر عملیات در یک خرده‌فروشی جهانی
نگار، مدیر بازاریابی رشد در یک شرکت SaaS سازمانی
</p>
</div>
<div className="flex flex-col gap-2">
<a href="#" className="group relative overflow-hidden rounded-lg">
<img
src="/block-media/shadcnblocks/block/photos/israel-andrade-YI_9SivVt_s-unsplash.jpg"
alt="جای‌نگهدار"
alt="نمای محصول برندلینک"
className="transition-scale aspect-video scale-103 object-cover duration-400 group-hover:scale-101"
/>
<div className="absolute inset-0 hidden bg-gradient-to-t from-black via-transparent to-transparent opacity-0 transition-all duration-400 group-hover:opacity-60 md:block" />
<div className="absolute bottom-5 left-5 hidden translate-y-16 flex-col transition-transform duration-400 group-hover:translate-y-0 md:flex">
<p className="text-lg font-medium text-white">مطالعه موردی</p>
<p className="text-sm font-medium text-white/70">
بازطراحی تجارت الکترونیک
بازطراحی جریان تجارت الکترونیک
</p>
</div>
</a>
<div className="flex flex-col md:hidden">
<p className="font-medium">مطالعه موردی</p>
<p className="text-sm font-medium text-muted-foreground">
بازطراحی تجارت الکترونیک
بازطراحی جریان تجارت الکترونیک
</p>
</div>
</div>
+6 -9
View File
@@ -18,12 +18,11 @@ const About13 = ({ className }: About13Props) => {
</div>
<div className="grid-cols-6 space-y-12 lg:grid lg:space-y-0 xl:gap-10">
<p className="hidden text-foreground/40 lg:block">
تیم ما، مأموریت ما
سیگنا فروش
</p>
<div className="col-span-2 lg:pr-24 lg:pl-10">
<p className="text-foreground/40">
می‌خواهیم ذهن‌های متنوع را کنار هم بیاوریم و ایده‌ها را به
تجربه‌هایی تبدیل کنیم که اهمیت دارند.
سیگنا محتوای فروش، اسکریپت تماس و کوچینگ را در یک پلتفرم واحد برای تیم‌های درآمد فراهم می‌کند.
</p>
<div className="mt-5 flex items-center gap-5 lg:mt-20">
<img
@@ -33,25 +32,23 @@ const About13 = ({ className }: About13Props) => {
/>
<div>
<h3 className="text-lg font-medium tracking-tight">علی رضایی</h3>
<p className="text-sm text-foreground/40">مدیر خلاقیت</p>
<p className="text-sm text-foreground/40">مدیر موفقیت فروش</p>
</div>
</div>
</div>
<div className="col-span-3 mt-32 lg:mt-0 lg:pl-10">
<h2 className="text-xl font-medium tracking-tight lg:text-3xl">
ما تیمی از متخصصان محصول، فروش و بازاریابی هستیم که به ساخت
پلتفرم‌های B2B مؤثر باور داریم. مأموریت ما بر نوآوری،
کارایی و کمک به رشد درآمد تیم‌های فروش بنا شده است.
ما تیمی از متخصصان فروش و محصول هستیم. سیگنا به نمایندگان کمک می‌کند با محتوای درست در لحظه مناسب، چرخه معامله را کوتاه‌تر کنند.
</h2>
<p className="mt-6 text-base text-foreground/40 lg:mt-18 lg:text-lg">
همیشه از خود می‌پرسیم: هدف چیست؟ مخاطب کیست؟ و چگونه می‌توان تجربه‌ای ساده‌تر و بهتر خلق کرد؟
همیشه می‌پرسیم: نماینده به چه پاسخی نیاز دارد؟ مخاطب در چه مرحله‌ای است؟ و چطور می‌توان نرخ برد را بالا برد؟
</p>
</div>
</div>
<div>
<img
src="/block-media/shadcnblocks/block/guri4/img10.png"
alt="تصویر درباره ما"
alt="تیم سیگنا در فضای کاری"
className="mt-4 h-150 w-full object-cover"
/>
</div>
+5 -8
View File
@@ -19,16 +19,15 @@ const About14 = ({ className }: About14Props) => {
<div>
<img
src="/block-media/shadcnblocks/block/guri4/img1.png"
alt="تصویر درباره ما"
alt="داشبورد موج‌مارکت"
className="mt-4 h-132 w-full object-cover"
/>
</div>
<div className="grid grid-cols-1 gap-10 space-y-12 lg:grid-cols-6 lg:space-y-0">
<p className="hidden text-foreground lg:block">تیم ما، مأموریت ما</p>
<p className="hidden text-foreground lg:block">موج‌مارکت</p>
<div className="order-2 col-span-2 lg:order-none lg:pr-24 lg:pl-10">
<p className="text-foreground/40">
می‌خواهیم ذهن‌های متنوع را کنار هم بیاوریم و ایده‌ها را به
تجربه‌هایی تبدیل کنیم که اهمیت دارند.
موج‌مارکت کمپین‌های ایمیلی، صفحات فرود و امتیازدهی لید را برای تیم‌های بازاریابی B2B یکپارچه می‌کند.
</p>
<div className="mt-5 flex items-center gap-5 lg:mt-12">
<img
@@ -38,15 +37,13 @@ const About14 = ({ className }: About14Props) => {
/>
<div>
<h3 className="text-lg font-medium tracking-tight">علی رضایی</h3>
<p className="text-sm text-foreground/40">مدیر خلاقیت</p>
<p className="text-sm text-foreground/40">مدیر کمپین</p>
</div>
</div>
</div>
<div className="order-1 col-span-3 lg:order-none lg:mt-0 lg:pl-10">
<h2 className="text-xl font-medium tracking-tight lg:text-3xl">
ما تیمی از متخصصان محصول، فروش و بازاریابی هستیم. پلتفرم‌های
B2B می‌سازیم که به تیم‌ها کمک می‌کند درآمد را افزایش دهند.
مأموریت ما بر نوآوری، کارایی و رشد پایدار مشتریان بنا شده است.
ما تیم موج‌مارکت هستیم. ابزارهایی می‌سازیم که بازاریابی تقاضا را سریع‌تر اجرا کند، لید را تمیز نگه دارد و اثر کمپین روی درآمد را نشان دهد.
</h2>
</div>
</div>
+5 -8
View File
@@ -21,22 +21,19 @@ const About15 = ({ className }: About15Props) => {
<p className="text-lg font-medium tracking-tight text-neutral-950">
علی رضایی
</p>
<p className="text-sm text-neutral-950/50">@ری یو آی</p>
<p className="text-sm text-neutral-950/50">@دیدارمحصول</p>
</div>
</div>
<div className="w-xs space-y-6">
<h1 className="mb-15 text-2xll font-medium tracking-tight">
به ایده‌ها وضوح و اثر می‌بخشیم{" "}
<span className="font-serif"></span> شکل می‌دهیم
رفتار کاربر را شفاف می‌کنیم{" "}
<span className="font-serif"></span> و رشد می‌سازیم
</h1>
<p className="text-sm lg:text-base">
هر پروژه با پرسش ساده آغاز می‌شود: چه چیزی باید حس شود و چه
اثری باید بگذارد؟ از آنجا مسیر را با دقت و شفافیت ترسیم
می‌کنیم.
هر تحلیل با یک پرسش شروع می‌شود: کاربر کجا گیر می‌کند و کدام اقدام رشد را تسریع می‌کند؟ از همان‌جا قیف و کوهورت را دقیق اندازه‌گیری می‌کنیم.
</p>
<p className="text-sm lg:text-base">
بین استراتژی و اجرا پل می‌زنیم؛ طراحی را نه فقط زیبا، بلکه
کاربردی، قابل فهم و هم‌راستا با اهداف واقعی شما می‌سازیم.
بین محصول و رشد پل می‌زنیم؛ داشبوردهایی می‌سازیم که تیم بتواند بدون انتظار برای گزارش فصلی، تصمیم بگیرد و آزمایش کند.
</p>
</div>
</div>
+7 -9
View File
@@ -6,17 +6,17 @@ const stats = [
{
number: "80K+",
description:
"از دسترسی به بیش از ۸۰هزار کاربر تا پشتیبانی از بیش از ۲۰ استارتاپ؛ این اعداد مقیاس، اثر و ثبات کار من را نشان می‌دهند.",
"بیش از ۸۰ هزار نماینده فروش روی فرصت‌جو کار می‌کنند؛ از ثبت لید تا پیش‌بینی فصلی درآمد.",
},
{
number: "20+",
description:
"استارتاپ‌هایی که با راهکارهای نوآورانه و راهنمایی استراتژیک همراه شدند تا در بازار خود مقیاس بگیرند و موفق شوند.",
"بیش از ۲۰ تیم درآمد سازمانی با فرصت‌جو پایپ‌لاین خود را شفاف و قابل پیش‌بینی کرده‌اند.",
},
{
number: "95%",
description:
"نرخ رضایت مشتری با پشتیبانی متعهد، تحویل باکیفیت و مشارکت‌های بلندمدت مبتنی بر اعتماد.",
"نرخ رضایت مشتری از تیم‌هایی که با پشتیبانی اختصاصی و گزارش‌های درآمدی دقیق کار می‌کنند.",
},
];
@@ -31,19 +31,17 @@ const About16 = ({ className }: About16Props) => {
<div className="grid grid-cols-1 gap-20 lg:grid-cols-6">
<div className="top-10 col-span-2 flex h-fit w-fit items-center gap-3 lg:sticky">
<span className="size-2 bg-orange-500" />
<p className="text-foreground/30 uppercase">چرا ما؟</p>
<p className="text-foreground/30 uppercase">چرا فرصت‌جو؟</p>
</div>
<div className="col-span-4 ml-auto max-w-3xl space-y-10">
<h1 className="text-3xl font-medium tracking-tight lg:text-xl">
«ما تیمی از متخصصان محصول و فروش هستیم. پلتفرم‌های B2B می‌سازیم
که به تیم‌ها کمک می‌کند درآمد را افزایش دهند. مأموریت ما بر
نوآوری، کارایی و رشد پایدار مشتریان بنا شده است.»
«فرصت‌جو CRM فروش برای تیم‌های B2B است. پایپ‌لاین، فعالیت‌ها و پیش‌بینی درآمد را شفاف می‌کنیم تا مدیران روی کوچینگ تمرکز کنند، نه اکسل.»
</h1>
<p className="text-lg text-foreground/40">
می‌پرسیم: هدف چیست؟ برای چه کسی است؟ چطور آن را بی‌دردسر کنیم؟
می‌پرسیم: هدف فصلی چیست؟ مخاطب تصمیم‌گیر کیست؟ چه مرحله‌ای مانع بستن معامله است؟
<br className="hidden lg:block" />
از چرایی، برای چه کسی و چگونه بهتر شدنش شروع می‌کنیم.
از همین سه پرسش، قیف فروش را بهینه می‌کنیم.
</p>
<img
+7 -7
View File
@@ -9,28 +9,28 @@ interface About17Props {
}
const About17 = ({ className }: About17Props) => {
const [active, setActive] = useState<string>("اطلاعات");
const [active, setActive] = useState<string>("درباره ما");
const LINKS = [
{
title: "اطلاعات",
title: "درباره ما",
href: "#",
img: "/block-media/shadcnblocks/block/guri4/img11.png",
},
{
title: "کارها",
title: "مطالعه موردی",
href: "#",
img: "/block-media/shadcnblocks/block/guri4/img9.png",
},
{
title: "مجله",
title: "وبلاگ",
href: "#",
img: "/block-media/shadcnblocks/block/guri4/img10.png",
},
{
title: "آرشیو",
title: "گزارش‌ها",
href: "#",
img: "/block-media/shadcnblocks/block/guri4/img6.png",
},
@@ -41,7 +41,7 @@ const About17 = ({ className }: About17Props) => {
<div className="container">
<div className="grid grid-cols-1 gap-15 lg:grid-cols-7 lg:gap-12">
<div className="top-10 col-span-3 h-fit w-fit text-xl tracking-tight">
<p className="font-medium">طراح مستقل و مهندس بنیان‌گذار</p>
<p className="font-medium">بنیان‌گذار و مدیرعامل نکسوس‌سی‌آر‌ام</p>
<div className="mt-4 flex items-center gap-6 text-foreground/30">
<p>
{new Date().toLocaleTimeString("en-US", {
@@ -56,7 +56,7 @@ const About17 = ({ className }: About17Props) => {
</div>
<div className="col-span-4 ml-auto max-w-3xl space-y-10 lg:pl-15">
<h1 className="text-xl font-medium tracking-tight">
علی رضایی با ترکیب خلاقیت و تخصص فنی، محصولاتی دیجیتال خلق می‌کند که علاوه بر کارایی، تجربه‌ای لذت‌بخش برای کاربران فراهم می‌کنند. او با تکیه بر دانش توسعه توسعه کامل و نگاه دقیق به طراحی، ایده‌ها را از مرحله شکل‌گیری تا عرضه به محصولی مقیاس‌پذیر تبدیل می‌کند.
علی رضایی بنیان‌گذار نکسوس‌سی‌آر‌ام است؛ پلتفرمی برای مدیریت مخاطبین، فرصت‌ها و گزارش فروش. تمرکز او بر ساخت تجربه‌ای ساده برای نمایندگان و داده‌ای قابل اعتماد برای مدیران است.
</h1>
</div>
</div>
+6 -8
View File
@@ -15,10 +15,10 @@ const About18 = ({ className }: About18Props) => {
<div className="col-span-4 ml-auto max-w-4xl space-y-10 lg:pl-15">
<h1 className="text-xl font-medium tracking-tight">
ایده‌ها را به پلتفرم‌های B2B مؤثر تبدیل می‌کنیم. هر پروژه فرصتی است تا با داده و اتوماسیون، رشد درآمد مشتریان را تسریع کنیم.
پشتیبانی‌یار میز خدمت مشتری برای تیم‌های SaaS است. تیکت، SLA و پایگاه دانش را یکجا مدیریت می‌کنید تا زمان پاسخ کوتاه‌تر شود.
</h1>
<p className="w-fit text-lg text-foreground/40 lg:translate-y-2">
رویکرد ما بر پژوهش عمیق، طراحی هدفمند و اجرای باکیفیت استوار است. به همکاری، یادگیری مستمر و نوآوری باور داریم.
رویکرد ما بر اولویت‌بندی هوشمند تیکت، اتوماسیون پاسخ‌های تکراری و گزارش رضایت مشتری استوار است.
</p>
</div>
</div>
@@ -35,18 +35,16 @@ const About18 = ({ className }: About18Props) => {
/>
</div>
<div className="grid grid-cols-1 gap-15 lg:grid-cols-7 lg:gap-12">
<p className="col-span-2 font-medium">آنچه ما را به پیش می‌راند</p>
<p className="col-span-2 font-medium">آنچه ما را پیش می‌برد</p>
<div className="col-span-4 ml-auto max-w-4xl space-y-10 lg:pl-15">
<h1 className="text-xl font-medium tracking-tight">
ما تیمی از متخصصان محصول، فروش و بازاریابی هستیم. پلتفرم‌های
B2B می‌سازیم که به تیم‌ها کمک می‌کند درآمد را افزایش دهند.
مأموریت ما بر نوآوری، کارایی و رشد پایدار مشتریان بنا شده است.
ما تیم پشتیبانی‌یار هستیم. ابزارهایی می‌سازیم که تیم پشتیبانی با دادهٔ واقعی کیفیت خدمت را بسنجد و رضایت مشتری را بالا ببرد.
</h1>
<p className="w-fit text-lg text-foreground/40 lg:translate-y-2">
همیشه از خود می‌پرسیم: هدف چیست، مخاطب کیست و چگونه می‌توان تجربه‌ای ساده‌تر و بهتر خلق کرد؟
همیشه می‌پرسیم: مشتری کجا گیر کرده؟ SLA چیست؟ و چطور می‌توان پاسخ را بدون افت کیفیت سریع‌تر کرد؟
<br className="hidden lg:block" />
همه‌چیز را از شناخت نیاز، مخاطب و بهترین راه‌حل آغاز می‌کنیم.
از همین‌جا صف تیکت و مسیر حل را بهینه می‌کنیم.
</p>
</div>
</div>
+4 -6
View File
@@ -21,16 +21,14 @@ const About19 = ({ className }: About19Props) => {
<div className="col-span-3 ml-auto max-w-4xl space-y-15 lg:pl-15">
<h1 className="text-xl font-medium tracking-tight">
ما تیمی از متخصصان محصول، فروش و بازاریابی هستیم. پلتفرم‌های
B2B می‌سازیم که به تیم‌ها کمک می‌کند درآمد را افزایش دهند.
مأموریت ما بر نوآوری، کارایی و رشد پایدار مشتریان بنا شده است.
جذب‌لید پلتفرم تولید لید برای تیم‌های بازاریابی تقاضا است. فرم‌ها، سگمنت‌ها و امتیازدهی را یکجا مدیریت می‌کنید تا فروش لید گرم دریافت کند.
</h1>
<p className="text-base text-foreground/40 lg:text-lg">
همیشه از خود می‌پرسیم: هدف چیست، برای چه کسی طراحی می‌کنیم و چگونه می‌توان بهترین تجربه را ارائه داد؟
همیشه می‌پرسیم: منبع لید کدام است، کیفیت چقدر است و چه سیگنالی برای تحویل به فروش کافی است؟
</p>
<div className="flex flex-col justify-between gap-4 lg:flex-row lg:items-center">
<p className="flex-1 text-sm text-foreground/40">
با گرد هم آوردن دیدگاه‌های متنوع، ایده‌ها را به تجربه‌هایی ارزشمند و تأثیرگذار تبدیل می‌کنیم.
با اتصال بازاریابی و فروش، هر لید مالک، منبع و مرحله مشخص دارد و هیچ فرصتی سرد نمی‌شود.
</p>
<div className="flex w-fit items-center gap-2">
<img
@@ -41,7 +39,7 @@ const About19 = ({ className }: About19Props) => {
<div>
<h3 className="font-medium tracking-tight">علی رضایی</h3>
<p className="text-sm text-foreground/40">
مدیر خلاقیت
مدیر جذب تقاضا
</p>
</div>
</div>
+22 -22
View File
@@ -10,9 +10,9 @@ const About2 = ({ className }: About2Props) => {
<div className="flex flex-col gap-28">
<div className="container flex flex-col gap-10 text-center md:gap-24">
<div className="mx-auto flex max-w-3xl flex-col gap-6">
<h1 className="text-xl font-medium md:text-2xll">پشت صحنه ما</h1>
<h1 className="text-xl font-medium md:text-2xll">درباره فروش‌یار</h1>
<p className="text-lg text-muted-foreground md:text-xl">
کشف کنید چگونه راهکار ما فرایندهای پیچیده را ساده می‌کند و مدیریت عملیات کلیدی و ارائه تجربه‌های استثنایی را آسان‌تر می‌سازد.
فروش‌یار عملکرد تیم فروش را با داشبوردهای زنده، پیش‌بینی درآمد و گزارش قیف تبدیل شفاف می‌کند.
</p>
</div>
<div className="grid gap-6 md:grid-cols-12">
@@ -35,39 +35,39 @@ const About2 = ({ className }: About2Props) => {
</div>
<div className="container flex flex-col gap-16">
<h2 className="max-w-3xl text-xl font-medium md:text-2xll">
ما در حوزه خود بهترین هستیم، اما مهارت تنها چیزی نیست که ارائه می‌کنیم.
دادهٔ فروش وقتی ارزشمند است که تصمیم بعدی را روشن کند.
</h2>
<div className="grid grid-cols-2 gap-6 md:grid-cols-3">
<div className="flex flex-col gap-6 border-b pb-8">
<p className="text-xl font-medium md:text-2xll">21M</p>
<p className="text-muted-foreground">گستره جهانی کاربران</p>
<p className="text-muted-foreground">نمایندگان متصل روزانه</p>
</div>
<div className="flex flex-col gap-6 border-b pb-8">
<p className="text-xl font-medium md:text-2xll">12+</p>
<p className="text-muted-foreground">سال‌ها تجربه و تخصص</p>
<p className="text-muted-foreground">سال تجربه در فروش B2B</p>
</div>
<div className="flex flex-col gap-6 border-b pb-8">
<p className="text-xl font-medium md:text-2xll">654</p>
<p className="text-muted-foreground">پروژه‌های تکمیل‌شده</p>
<p className="text-muted-foreground">گزارش‌های سفارشی فعال</p>
</div>
<div className="flex flex-col gap-6 border-b pb-8">
<p className="text-xl font-medium md:text-2xll">113k+</p>
<p className="text-muted-foreground">کاربران فعال ماهانه</p>
<p className="text-muted-foreground">نمایندگان متصل روزانه</p>
</div>
<div className="flex flex-col gap-6 border-b pb-8">
<p className="text-xl font-medium md:text-2xll">461k</p>
<p className="text-muted-foreground">حساب‌های ثبت‌شده</p>
<p className="text-muted-foreground">حساب سازمانی فعال</p>
</div>
<div className="flex flex-col gap-6 border-b pb-8">
<p className="text-xl font-medium md:text-2xll">98+</p>
<p className="text-muted-foreground">کاربران روزانه</p>
<p className="text-muted-foreground">بازارهای پوشش‌داده‌شده</p>
</div>
</div>
</div>
<div className="bg-muted/50 py-24">
<div className="container flex flex-col items-center gap-11">
<p className="text-center text-xl font-medium">
مورد اعتماد تیم‌های محصول پیشرو در سراسر جهان.
مورد اعتماد تیم‌های فروش و درآمد در سازمان‌های پیشرو.
</p>
<div className="grid grid-cols-2 gap-x-7 gap-y-12 lg:grid-cols-4">
<div className="flex items-center gap-3">
@@ -76,7 +76,7 @@ const About2 = ({ className }: About2Props) => {
alt="logo"
className="h-8 w-auto md:h-14"
/>
<p className="text-xl font-semibold md:text-xl">ری یو آی</p>
<p className="text-xl font-semibold md:text-xl">فروش‌یار</p>
</div>
<div className="flex items-center gap-3">
<img
@@ -108,7 +108,7 @@ const About2 = ({ className }: About2Props) => {
alt="logo"
className="h-8 w-auto md:h-14"
/>
<p className="text-xl font-semibold md:text-xl">ری یو آی</p>
<p className="text-xl font-semibold md:text-xl">فروش‌یار</p>
</div>
<div className="flex items-center gap-3">
<img
@@ -124,7 +124,7 @@ const About2 = ({ className }: About2Props) => {
alt="logo"
className="h-8 w-auto md:h-14"
/>
<p className="text-xl font-semibold md:text-xl">ری یو آی</p>
<p className="text-xl font-semibold md:text-xl">فروش‌یار</p>
</div>
<div className="flex items-center gap-3">
<img
@@ -132,14 +132,14 @@ const About2 = ({ className }: About2Props) => {
alt="logo"
className="h-8 w-auto md:h-14"
/>
<p className="text-xl font-semibold md:text-xl">ری یو آی</p>
<p className="text-xl font-semibold md:text-xl">فروش‌یار</p>
</div>
</div>
</div>
</div>
<div className="container flex flex-col items-center gap-14">
<h2 className="text-center text-xl font-semibold md:text-2xll">
مزایای همکاری با ما را از نزدیک ببینید
نتایج واقعی تیم‌هایی که با فروش‌یار کار می‌کنند
</h2>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<div className="grid grid-cols-1 gap-6 md:col-span-2 md:grid-cols-2 md:flex-row lg:col-span-1 lg:grid-cols-1 lg:flex-col">
@@ -150,9 +150,9 @@ const About2 = ({ className }: About2Props) => {
/>
<div className="flex flex-col justify-center rounded-xl bg-muted p-8">
<p className="mb-2 text-xl font-medium">21M</p>
<p className="mb-6 font-semibold">کاربران جهانی</p>
<p className="mb-6 font-semibold">فرصت‌های ردیابی‌شده</p>
<p className="text-muted-foreground">
با استفاده از ابزارهای ما، وظایف را ساده کرده و کارایی را تا ۸۰% افزایش دهید.
زمان تهیه گزارش هفتگی را تا ۸۰٪ کاهش دهید و روی کوچینگ فروش تمرکز کنید.
</p>
</div>
</div>
@@ -169,15 +169,15 @@ const About2 = ({ className }: About2Props) => {
alt="placeholder"
className="h-7 w-auto"
/>
<span className="text-lg font-semibold">ری یو آی.</span>
<span className="text-lg font-semibold">فروش‌یار</span>
</div>
<p className="mb-6 text-sm">
راهکار ما با بهینه‌سازی فرایندها، هزینه‌های عملیاتی شما را به‌طور چشمگیری کاهش می‌دهد.
پیش‌بینی درآمد فروش‌یار به ما کمک کرد انحراف بودجه فروش را زیر ۵٪ نگه داریم.
</p>
<div className="flex items-baseline gap-1">
<span className="font-medium">علی رضایی,</span>
<span className="text-sm text-muted-foreground">
مدیرعامل ری یو آی
مدیر درآمد فروش‌یار
</span>
</div>
</div>
@@ -185,9 +185,9 @@ const About2 = ({ className }: About2Props) => {
<div className="flex flex-col gap-6">
<div className="rounded-xl bg-muted p-8">
<p className="mb-2 text-xl font-medium">97%</p>
<p className="mb-6 font-semibold">کاهش خطاها</p>
<p className="mb-6 font-semibold">دقت پیش‌بینی</p>
<p className="text-muted-foreground">
با جعبه‌ابزار پیشرفته ما به دقت و کارایی بیشتری دست پیدا کنید.
مدل پیش‌بینی فروش‌یار دقت برنامه‌ریزی فصلی را به‌طور معناداری بالا می‌برد.
</p>
</div>
<img
+11 -11
View File
@@ -27,39 +27,39 @@ const About28 = ({
leftImages = [
{
src: "/block-media/shadcnblocks/block/placeholder-1.svg",
alt: "همکاری تیم",
alt: "همکاری تیم هم‌مسیر",
},
{
src: "/block-media/shadcnblocks/block/placeholder-2.svg",
alt: "فضای کاری تیم",
alt: "فضای کاری پروژه",
},
],
leftText = {
title: "تیم",
title: "تیم هم‌مسیر",
paragraphs: [
"ساخت را از ۲۱۹ آغاز کردیم و در ۲۲۲ عرضه کردیم. هر نقطه اتصال از صفر طراحی شده بدون بدهی فنی یا سیستم کهنه. برای نوآوری مدیریت پروژه در صد سال آینده ساخته شده‌ایم.",
"صددرصد در مالکیت بنیان‌گذاران و تیم است، سودآوریم و تیم را کوچک نگه می‌داریم. به‌مرور این صفحه کامل‌تر می‌شود، اما الان تمرکزمان بر تحویل به توسعه‌دهندگان است.",
"اگر به ساخت آینده مدیریت پروژه علاقه‌مندید، موقعیت‌های باز زیر را ببینید.",
"هم‌مسیر را از ۲۰۱۹ ساختیم و در ۲۰۲۲ عرضه کردیم. برنامه‌ریزی پروژه، وابستگی‌ها و گزارش پیشرفت از صفر برای تیم‌های عملیات طراحی شده است.",
"مالکیت کامل با بنیان‌گذاران و تیم است. سودآور و متمرکز کار می‌کنیم و اولویت ما تحویل پایدار به تیم‌های عملیاتی مشتریان است.",
"اگر به ساخت ابزارهای همکاری و مدیریت کار علاقه‌مندید، موقعیت‌های باز را ببینید.",
],
ctaButton: {
href: "/careers",
text: "مشاهده موقعیت‌های شغلی",
text: "فرصت‌های شغلی هم‌مسیر",
},
},
rightText = {
paragraphs: [
"متعهدیم نحوه برنامه‌ریزی، اجرا و تحویل پروژه‌ها را متحول کنیم. مأموریت ما این است که به مشتریان مزیت بی‌رقیب در برابر تأخیر، ناکارآمدی و بی‌نظمی بدهیم از طریق بینش‌های عملی و همکاری بی‌درز.",
"مشتری‌محوریم زمان می‌گذاریم تا هر جنبه از گردش کار شما را بفهمیم و بهتر از همیشه کار کنید. همه با هم هستیم چون موفقیت شما، موفقیت ماست.",
"متعهدیم برنامه‌ریزی و اجرای پروژه را شفاف کنیم. مأموریت هم‌مسیر حذف تأخیرهای پنهان، کاهش کار دستی و دادن دید واحد به مدیران و اجراکنندگان است.",
"مشتری‌محوریم؛ گردش‌کار واقعی تیم شما را می‌شناسیم و ابزار را با همان ریتم هم‌تراز می‌کنیم. موفقیت تحویل شما، معیار موفقیت ماست.",
],
},
rightImages = [
{
src: "/block-media/shadcnblocks/block/placeholder-3.svg",
alt: "فضای کاری مدرن",
alt: "برد پروژه هم‌مسیر",
},
{
src: "/block-media/shadcnblocks/block/placeholder-4.svg",
alt: "همکاری تیم",
alt: "همکاری تیم هم‌مسیر",
},
],
className,
+14 -14
View File
@@ -46,7 +46,7 @@ interface About3Props {
const About3 = ({
className,
title = "درباره ما",
description = "ما تیمی پرشور هستیم که به خلق راهکارهای نوآورانه برای توانمندسازی کسب‌وکارها در عصر دیجیتال متعهدیم. با سال‌ها تجربه در طراحی و توسعه، مؤلفه‌هایی زیبا و در دسترس خلق می‌کنیم که به تیم‌ها کمک می‌کند سریع‌تر بسازند.",
description = "کمپین‌پرو پلتفرم اتوماسیون بازاریابی برای تیم‌های B2B است. ایمیل، لید اسکورینگ و پرورش مخاطب را در یک مسیر واحد هماهنگ می‌کنیم تا هزینه جذب مشتری کاهش و نرخ تبدیل افزایش یابد.",
mainImage = {
src: "/block-media/shadcnblocks/block/photos/annie-spratt-MChSQHxGZrQ-unsplash.jpg",
alt: "about",
@@ -58,10 +58,10 @@ const About3 = ({
breakout = {
src: "/block-media/shadcnblocks/block/block-1.svg",
alt: "logo",
title: "هزاران بلاک آماده در ری یو آی",
title: "اتوماسیون بازاریابی بدون پیچیدگی",
description:
"ارائه ابزارهای مؤثر به کسب‌وکارها برای بهبود روند کار، افزایش کارایی و تشویق رشد",
buttonText: "بیشتر بدانید",
"جریان‌های پرورش لید، سگمنت‌بندی هوشمند و گزارش کمپین را در چند دقیقه راه‌اندازی کنید.",
buttonText: "مشاهده قابلیت‌ها",
buttonUrl: "https://www.ShadcnBlocks",
},
companies = [
@@ -90,24 +90,24 @@ const About3 = ({
alt: "Watershed",
},
],
achievementsTitle = "دستاوردهای ما به عدد و رقم",
achievementsDescription = "ارائه ابزارهای مؤثر به کسب‌وکارها برای بهبود گردش‌کار، افزایش کارایی و تقویت رشد.",
achievementsTitle = "نتایج قابل اندازه‌گیری",
achievementsDescription = "تیم‌های بازاریابی با کمپین‌پرو کمپین‌های چندکاناله را سریع‌تر اجرا و بهتر اندازه‌گیری می‌کنند.",
achievements = [
{ label: "شرکت‌ها", value: "300+" },
{ label: "پروژه‌های تکمیل‌شده", value: "800+" },
{ label: "مشتریان خوشحال", value: "99%" },
{ label: "جوایز و افتخارات", value: "10+" },
{ label: "برندهای فعال", value: "300+" },
{ label: "کمپین ماهانه اجراشده", value: "800+" },
{ label: "نرخ ماندگاری مشتری", value: "99%" },
{ label: "اتصال یکپارچه‌سازی", value: "10+" },
],
contentSections = [
{
title: "دیدگاه ما",
title: "مأموریت ما",
content:
"سال‌هاست فرایند ساخت نرم‌افزار سفارشی دشوار مانده است؛ امروز ابزارهای بصری هست، اما راهکارهای دقیق همچنان به تخصص فنی و زمان زیاد نیاز دارند و این برای کسب‌وکارها و افراد دردساز است.\n\nاگر می‌توانستید بدون نوشتن حتی یک خط کد، نرم‌افزار سفارشی بسازید چه؟ اگر می‌توانستید ابزارهای خودتان را بسازید؟\n\nبا پلتفرم ما می‌توانید! ابزارهای ما به شما اجازه می‌دهند چیدمان طراحی کنید و قابلیت بسازیدهمه این‌ها بدون نیاز به کدنویسی.\n\nما باور داریم هر کسی باید بتواند راهکار خودش را بسازد، فارغ از پیشینه فنی.",
"بازاریابی B2B اغلب بین ابزارهای پراکنده گیر می‌افتد: CRM جدا، ایمیل جدا، آنالیتیکس جدا.\n\nکمپین‌پرو این حلقه را می‌بندد. لید از لحظه جذب تا تحویل به فروش در یک مسیر قابل پیگیری می‌ماند.\n\nسگمنت‌ها بر اساس رفتار به‌روز می‌شوند، کمپین‌ها خودکار اجرا می‌شوند و گزارش‌ها اثر واقعی روی درآمد را نشان می‌دهند.",
},
{
title: "سازندگان",
title: "تیم ما",
content:
"شرکت ما بیش از یک دهه است ابزارهای وب می‌سازد و در هر پروژه بر کارایی و کنترل کاربر تمرکز دارد. می‌دانیم بهترین راهکارها همان‌هایی‌اند که خودتان می‌توانید بسازید.\n\nابتدا این راهکارها را برای تیم خودمان توسعه دادیم و حالا همه می‌توانند از آن‌ها بهره ببرند. افتخار می‌کنیم پلتفرمی در دسترس همه ارائه می‌دهیم، بدون توجه به تخصص فنی.\n\nتیم ما از افراد بااستعداد و مشتاق ساخت ابزاری تشکیل شده که به کاربران قدرت می‌دهد راهکارهایشان را به‌سادگی بسازند. در دستیابی شما به اهدافتان کنار شما هستیم.",
"تیم کمپین‌پرو ترکیبی از متخصصان بازاریابی، محصول و داده است که سال‌ها اصطکاک بین مارکتینگ و فروش را از نزدیک دیده‌اند.\n\nابتدا این جریان‌ها را برای تیم درآمد خودمان ساختیم؛ امروز همان زیرساخت را در اختیار هزاران تیم بازاریابی قرار می‌دهیم.\n\nتمرکز ما روی سرعت اجرا، شفافیت قیف و همسویی با اهداف درآمد است.",
},
],
}: About3Props) => {
+12 -27
View File
@@ -12,8 +12,7 @@ const About4 = ({ className }: About4Props) => {
<div className="mx-auto flex max-w-3xl flex-col gap-8 pb-28 text-center">
<h1 className="text-xl font-semibold md:text-2xll">درباره ما</h1>
<p className="text-xl font-medium text-muted-foreground">
با تیم ما آشنا شوید، ارزش‌هایمان را بشناسید و ببینید چطور کار، زندگی و
همه‌چیز بین این دو را متعادل می‌کنیم.
نگهدار پلتفرم موفقیت مشتری است؛ سلامت حساب، تمدید و گسترش فروش را در یک داشبورد واحد شفاف می‌کند.
</p>
</div>
<div className="grid gap-3 md:grid-cols-2 lg:grid-cols-3">
@@ -50,54 +49,40 @@ const About4 = ({ className }: About4Props) => {
</div>
<div className="mx-auto grid max-w-5xl gap-28 py-28 md:grid-cols-2">
<div>
<h2 className="mb-5 text-xl font-semibold">چشم‌انداز ما</h2>
<h2 className="mb-5 text-xl font-semibold">مأموریت ما</h2>
<p className="text-xl leading-8 font-medium text-muted-foreground">
سال‌هاست فرایند ساخت نرم‌افزار سفارشی دشوار مانده است؛ امروز ابزارهای
بصری هست، اما راهکارهای دقیق همچنان به تخصص فنی و زمان زیاد نیاز
دارند و این برای کسب‌وکارها و افراد دردساز است.
نگهداری مشتری نباید بعد از فروش آغاز شود. تیم‌های موفقیت مشتری به سیگنال‌های زودهنگام نیاز دارند: افت استفاده، تأخیر در ورود، یا ریسک ریزش.
<br />
<br />
اگر می‌توانستید بدون نوشتن حتی یک خط کد، نرم‌افزار سفارشی بسازید
چه؟ اگر می‌توانستید ابزارهای خودتان را بسازید؟
نگهدار سلامت هر حساب را امتیازدهی می‌کند، هشدار ریسک می‌دهد و اقدامات پیشنهادی را به مالک حساب نشان می‌دهد.
<br />
<br />
با پلتفرم ما می‌توانید! ابزارهای ما به شما اجازه می‌دهند چیدمان
طراحی کنید و قابلیت بسازیدهمه این‌ها بدون نیاز به کدنویسی.
<br />
<br />
ما باور داریم هر کسی باید بتواند راهکار خودش را بسازد، فارغ از
پیشینه فنی.
نتیجه: تمدید بالاتر، گسترش هدفمند و تجربه مشتری قابل اندازه‌گیری.
</p>
</div>
<div>
<h2 className="mb-5 text-xl font-semibold">سازندگان</h2>
<h2 className="mb-5 text-xl font-semibold">تیم نگهدار</h2>
<p className="text-xl leading-8 font-medium text-muted-foreground">
<a href="#" className="mr-1 underline">
شرکت ما
</a>
بیش از یک دهه است ابزارهای وب می‌سازد و در هر پروژه بر کارایی و کنترل
کاربر تمرکز دارد. می‌دانیم بهترین راهکارها همان‌هایی‌اند که خودتان
می‌توانید بسازید.
سال‌ها کنار تیم‌های موفقیت مشتری و درآمد کار کرده‌ایم تا شکاف بین CRM، پشتیبانی و استفاده محصول را پر کنیم.
<br />
<br />
ابتدا این راهکارها را برای تیم خودمان توسعه دادیم و حالا همه
می‌توانند از آن‌ها بهره ببرند. افتخار می‌کنیم پلتفرمی در دسترس همه
ارائه می‌دهیم، بدون توجه به تخصص فنی.
ابتدا گردش‌کار سلامت حساب را برای عملیات داخلی ساختیم؛ امروز همان مدل را به‌صورت محصولی آماده به تیم‌های SaaS ارائه می‌دهیم.
<br />
<br />
تیم ما از افراد بااستعداد و مشتاق ساخت ابزاری تشکیل شده که به
کاربران قدرت می‌دهد راهکارهایشان را به‌سادگی بسازند. در دستیابی شما
به اهدافتان کنار شما هستیم و مشتاقیم ببینیم چه می‌سازید!
اگر هدف شما افزایش نرخ تمدید و کاهش ریزش است، نگهدار برای همین طراحی شده است.
</p>
</div>
</div>
<div className="mx-auto flex max-w-5xl flex-col items-center justify-between gap-8 rounded-2xl bg-muted/50 p-14 text-center md:flex-row md:text-start">
<h3 className="text-3xl font-semibold">
بخشی از
به تیم
<br />
تیم جهانی ما
نگهدار بپیوندید
</h3>
<Button size="lg">آشنایی با تیم</Button>
<Button size="lg">فرصت‌های شغلی</Button>
</div>
</div>
</section>
+10 -15
View File
@@ -12,11 +12,11 @@ const About5 = ({ className }: About5Props) => {
<div>
<p className="text-sm font-medium">درباره ما</p>
<h1 className="mt-4 text-3xl font-medium md:text-xl">
ساده‌سازی گردش‌کارهای پیچیده با راهکارهای متمرکز بر توسعه‌دهنده
اتوماسیون گردش‌کار فروش و عملیات؛ بدون کدنویسی پیچیده
</h1>
</div>
<p className="md:text-lg">
پلتفرم ما ابزارهایی ساده و قدرتمند برای مدیریت و توسعه پروژه‌ها فراهم می‌کند؛ با یکپارچه‌سازی روان، امکانات کاربردی و تجربه‌ای یکپارچه برای تیم‌ها در هر اندازه.
جریان‌کار به تیم‌های عملیات و فروش اجازه می‌دهد تأییدها، اعلان‌ها و همگام‌سازی بین CRM و ابزارها را خودکار کنند و خطاهای دستی را حذف کنند.
</p>
</div>
<img
@@ -25,11 +25,11 @@ const About5 = ({ className }: About5Props) => {
className="ml-auto aspect-video max-h-[550px] rounded-xl object-cover"
/>
<p className="mt-6 text-center text-xl lg:text-end">
متعهد به حذف پیچیدگی از فرایندهای توسعه
متعهد به حذف کارهای تکراری از عملیات فروش
</p>
<div className="flex flex-col justify-between gap-14 py-40 lg:flex-row">
<p className="mx-auto max-w-xl text-center text-xl lg:mx-0 lg:text-start">
ما تیمی از توسعه‌دهندگان، طراحان و کارآفرینان پرشور هستیم.
ما تیمی از متخصصان عملیات، محصول و اتوماسیون هستیم که گردش‌کارهای درآمد را ساده‌تر می‌کنیم.
</p>
<div className="grid shrink-0 grid-cols-2 items-center gap-6 md:grid-cols-4">
<img
@@ -66,30 +66,25 @@ const About5 = ({ className }: About5Props) => {
</div>
<div className="grid gap-14 lg:grid-cols-4 xl:grid-cols-5">
<div className="md:col-span-2 xl:col-span-3">
<h2 className="mb-10 text-xl font-medium">چرا شروع کردیم</h2>
<h2 className="mb-10 text-xl font-medium">مأموریت ما</h2>
<p className="text-lg">
چالش‌های توسعه‌دهندگان با زیرساخت‌های پیچیده را از نزدیک دیده‌ایم.
به‌جای تکرار همان کارها، خواستیم سیستمی بسازیم که کل گردش‌کار را از
ابتدا تا انتها ساده کند و توسعه‌دهندگان روی آنچه بهتر انجام می‌دهند
تمرکز کنند. پلتفرم ما برای همکاری و مقیاس‌پذاری کارآمد پروژه‌ها
طراحی شده است.
تیم‌های درآمد زمان زیادی را صرف کپی داده بین ابزارها، یادآوری دستی و پیگیری تأیید می‌کنند.
جریان‌کار این اصطکاک را با تریگرها، شرط‌ها و اکشن‌های ازپیش‌ساخته حذف می‌کند.
<br />
<br />
مأموریت ما ارائه ابزارهایی است که تیم‌ها بتوانند پروژه‌ها را
کارآمد بسازند و مقیاس دهند. باور داریم با برداشتن موانع ورود،
همکاری و بهره‌وری، تیم‌ها روی ساخت محصولات عالی تمرکز می‌کنند.
مأموریت ما این است که عملیات فروش و بازاریابی مثل یک سیستم واحد کار کند؛ سریع، قابل ممیزی و مقیاس‌پذیر.
</p>
<div className="mt-6 grid grid-cols-2 gap-6 text-center">
<div className="flex flex-col items-center justify-center gap-2 rounded-xl border bg-background bg-card p-6">
<span className="text-xl md:text-xl">2024</span>
<span className="text-sm text-muted-foreground md:text-lg">
راه‌اندازی
سال راه‌اندازی
</span>
</div>
<div className="flex flex-col items-center justify-center gap-2 rounded-xl border bg-background bg-card p-6">
<span className="text-xl md:text-xl">$2.2M</span>
<span className="text-sm text-muted-foreground md:text-lg">
مرحله پیش‌بذر سرمایه‌گذاری
سرمایه‌گذاری اولیه
</span>
</div>
</div>
+10 -13
View File
@@ -15,24 +15,24 @@ const About6 = ({ className }: About6Props) => {
درباره ما
</h1>
<p className="mb-9 text-muted-foreground lg:text-xl">
ما تیمی از نوآوران هستیم که با تکیه بر فناوری و خلاقیت، آینده را قدم‌به‌قدم می‌سازیم. مسیر ما از شناسایی یک نیاز واقعی آغاز شد و با ارائه راهکارهای نوآورانه ادامه پیدا کرد.
هم‌آهنگ فضای کاری مشترک برای تیم‌های فروش، بازاریابی و موفقیت مشتری است. گفت‌وگو، فایل‌ها و تصمیم‌ها کنار هر فرصت و کمپین باقی می‌مانند.
</p>
</div>
<div className="flex flex-col items-center justify-center gap-6 md:flex-row">
<img
src="/block-media/shadcnblocks/block/photos/annie-spratt-MChSQHxGZrQ-unsplash.jpg"
alt="درباره ۱"
alt="فضای همکاری تیم"
className="aspect-[0.7] w-full rounded-lg object-cover md:w-1/2"
/>
<div className="flex w-full flex-col items-center justify-center gap-6 md:w-1/2">
<img
src="/block-media/shadcnblocks/block/photos/annie-spratt-AkftcHujUmk-unsplash.jpg"
alt="درباره ۲"
alt="اتاق تمرکز تیم"
className="aspect-[1.1] rounded-lg object-cover"
/>
<img
src="/block-media/shadcnblocks/block/photos/annie-spratt-vGgn0xLdy8s-unsplash.jpg"
alt="درباره ۳"
alt="جلسه هماهنگی هفتگی"
className="aspect-[0.7] rounded-lg object-cover"
/>
</div>
@@ -42,34 +42,31 @@ const About6 = ({ className }: About6Props) => {
<div className="flex flex-col items-center justify-center gap-6 md:flex-row">
<img
src="/block-media/shadcnblocks/block/photos/johnson-wang-iI4sR_nkkbc-unsplash.jpg"
alt="درباره ۴"
alt="میز کار اشتراکی"
className="aspect-[0.9] w-full rounded-lg object-cover md:w-1/2"
/>
<div className="flex w-full flex-col items-center justify-center gap-6 md:w-1/2">
<img
src="/block-media/shadcnblocks/block/photos/nastuh-abootalebi-eHD8Y1Znfpk-unsplash.jpg"
alt="درباره ۵"
alt="ایستگاه همکاری"
className="aspect-[0.8] rounded-lg object-cover"
/>
<img
src="/block-media/shadcnblocks/block/photos/alvin-engler-bIhpiQA009k-unsplash.jpg"
alt="درباره ۶"
alt="فضای برنامه‌ریزی"
className="aspect-[0.9] rounded-lg object-cover"
/>
</div>
</div>
<div className="px-8">
<h1 className="mb-8 text-xl font-semibold lg:mb-6">
محل کار ما
نحوه همکاری ما
</h1>
<p className="mb-9 lg:text-xl">
محیط کار ما به گونه‌ای طراحی شده است که خلاقیت را شکوفا کند، همکاری را تقویت کند و فضایی الهام‌بخش برای رشد ایده‌ها فراهم آورد.
هم‌آهنگ برای تیم‌های ترکیبی طراحی شده است؛ از گفت‌وگوی سریع تا مستندسازی تصمیم‌های مهم در یک بستر واحد.
</p>
<p className="text-muted-foreground">
از فضاهای باز همکاری تا گوشه‌های آرام تمرکز، هر بخش از دفتر با
دقت برای سبک‌های مختلف کار طراحی شده است. از راه دور هم
دوستانه‌ایم؛ اعضای تیم در سراسر جهان با هم هماهنگ کار می‌کنند
تا نتایجی استثنایی تحویل دهند.
کانال‌های موضوعی، تسک‌های وابسته به مخاطب و خلاصه نشست‌ها باعث می‌شود هیچ دستاوردی بین ابزارها گم نشود. چه حضوری و چه از راه دور، تیم روی یک ریتم مشترک کار می‌کند.
</p>
</div>
</div>
+12 -17
View File
@@ -23,7 +23,7 @@ const About7 = ({ className }: About7Props) => {
درباره ما
</h2>
<h1 className="max-w-[600px] text-3xl leading-tight font-semibold tracking-tight text-balance md:text-xl lg:text-2xll">
ما ری یو آی هستیم؛ پلتفرمی متفاوت برای برنامه‌ریزی و مدیریت کار که به سازندگان کمک می‌کند آینده را از امروز بسازند.
کارنویس پلتفرم مدیریت کار برای تیم‌های محصول و عملیات است؛ پروژه‌ها، مهلت‌ها و مالکیت کار را شفاف نگه می‌دارد.
</h1>
</div>
@@ -31,7 +31,7 @@ const About7 = ({ className }: About7Props) => {
<div className="max-lg:translate-x-20">
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="فضای کاری مدرن با نمایشگر iMac"
alt="داشبورد مدیریت کار کارنویس"
width={800}
height={500}
/>
@@ -39,7 +39,7 @@ const About7 = ({ className }: About7Props) => {
<div className="bottom-0 aspect-[1.5/1.4] w-[max(30vw,220px)] -left-10 translate-y-20 max-lg:absolute max-lg:border-[16px] max-lg:border-[#E9EDE8] lg:-translate-y-20 dark:max-lg:border-[#2F332E]">
<img
src="/block-media/shadcnblocks/block/placeholder-2.svg"
alt="فردی در حال کار با لپ‌تاپ"
alt="کاربر در حال به‌روزرسانی وظایف"
className="h-full w-full object-cover"
/>
</div>
@@ -47,30 +47,28 @@ const About7 = ({ className }: About7Props) => {
<div className="mt-28 max-w-xl lg:mt-10 lg:-translate-x-32">
<p className="text-lg leading-relaxed">
وظایف تغییر کرده‌اند، در حال تغییرند و همچنان به سمت بهتر پیش
می‌روند. زمان آن است که بهره‌وری کاربرمحور و اینترنت‌محور باشد؛
اما برای این کار به زیربنایی نو نیاز داریم.
کار تیمی وقتی پراکنده می‌شود که تسک‌ها در چت، ایمیل و صفحات مختلف باشد. کارنویس همه کارها را در یک سیستم قابل پیگیری جمع می‌کند.
</p>
</div>
<div className="mt-6 space-y-6 md:mt-8 md:space-y-8 lg:mt-10 lg:space-y-10">
<h2 className="max-w-xl text-xl font-semibold md:text-3xl lg:-translate-x-32">
همیشه می‌گفتند ابزارهای مدیریت کار نمی‌توانند واقعاً پویا و انعطاف‌پذیر باشند.
ابزار مدیریت کار باید به اندازه تیم شما منعطف باشد؛ نه برعکس.
</h2>
<p className="max-w-xl text-lg leading-relaxed lg:-translate-x-32">
سال‌ها ابزارهایی مانند مدیریت وظایف، یادداشت‌برداری و مدیریت وظایف را بررسی و استفاده کرده‌ایم. با وجود امکانات فراوان، هنوز نیاز به راهکاری ساده‌تر و هوشمندتر احساس می‌شود. ما باور داریم ابزارهای مدیریت کار باید پویا، منعطف و متناسب با نیاز کاربران باشند؛ به همین دلیل همه‌چیز را از ابتدا طراحی کردیم.
سال‌ها تخته کانبان، لیست تسک و ابزارهای پیچیده را آزمودیم. بیشترشان یا بیش‌ازحد ساده بودند یا برای راه‌اندازی به ماه‌ها آموزش نیاز داشتند. کارنویس را از صفر ساختیم تا برنامه‌ریزی اسپرینت، وابستگی‌ها و گزارش پیشرفت در چند دقیقه ممکن شود.
</p>
<div className="grid gap-6 py-6 md:grid-cols-2 lg:py-10">
<img
src="/block-media/shadcnblocks/block/placeholder-3.svg"
alt="همکاری اعضای تیم"
alt="همکاری روی برد پروژه"
width={600}
height={400}
className="rounded-lg"
/>
<img
src="/block-media/shadcnblocks/block/placeholder-4.svg"
alt="جلسه تیم در اتاق کنفرانس"
alt="جلسه برنامه‌ریزی اسپرینت"
width={600}
height={400}
className="rounded-lg"
@@ -78,18 +76,15 @@ const About7 = ({ className }: About7Props) => {
</div>
<p className="ms-auto max-w-xl text-lg leading-relaxed lg:translate-x-32">
توسعه ری یو آی را از سال ۲۱۹ آغاز کردیم و در سال ۲۲۲ نخستین نسخه آن را منتشر کردیم. هر قابلیت از پایه طراحی شده تا تجربه‌ای سریع، ساده و بدون پیچیدگی ارائه دهد.
کارنویس از ۲۰۱۹ برای تیم‌های داخلی ما ساخته شد و از ۲۰۲۲ به‌صورت عمومی در دسترس است. هر قابلیت برای سرعت، وضوح مالکیت و کاهش نویز طراحی شده است.
</p>
<h2 className="ms-auto max-w-xl text-xl font-semibold md:text-3xl lg:translate-x-32">
تیمی کمی غیرمعمول هستیم نه استارتاپ فناوری معمولی.
تیمی متمرکز بر محصول؛ نه یک استارتاپ پر سروصدا.
</h2>
<div className="ms-auto max-w-xl text-lg leading-relaxed lg:translate-x-32">
<p>
صددرصد در مالکیت بنیان‌گذاران و تیم است، پایدار کار می‌کنیم و
تیم را کوچک نگه می‌داریم. به‌مرور این صفحه را کامل‌تر می‌کنیم،
اما الان تمرکزمان بر تحویل به کاربران است. اگر می‌خواهید همکاری
کنید، موقعیت‌های باز ما را ببینید:
کارنویس متعلق به بنیان‌گذاران و تیم است. سودآور و متمرکز کار می‌کنیم تا محصول پایدار بماند. اگر می‌خواهید روی ابزارهای بهره‌وری تیمی کار کنید، موقعیت‌های باز را ببینید:
</p>
<Button
variant="outline"
@@ -98,7 +93,7 @@ const About7 = ({ className }: About7Props) => {
>
<a href="#">
<span className="flex items-center gap-2 whitespace-pre-wrap">
مشاهده موقعیت‌های شغلی
فرصت‌های شغلی کارنویس
<ArrowLeft className="size-4" />
</span>
</a>
+20 -26
View File
@@ -25,12 +25,12 @@ const About8 = ({ className }: About8Props) => {
>
<div className={textFromStart}>
<h1 className="text-xl font-semibold tracking-tight md:text-2xll lg:text-2xll">
بانکی،
صورتحساب،
<br />
متفاوت
شفاف
</h1>
<p className="mt-4 text-xl text-muted-foreground md:text-3xl">
مأموریت ما ایجاد تحول در خدمات مالی با بهره‌گیری از ظرفیت عظیم داده‌های مالی بلااستفاده است.
صورتحساب‌یار صورتحساب اشتراک، درآمد تکرارشونده و وصول را برای کسب‌وکارهای SaaS ساده و شفاف می‌کند.
</p>
</div>
{/* Background decoration */}
@@ -45,7 +45,7 @@ const About8 = ({ className }: About8Props) => {
<section className={cn("border-y py-5", contentShell)}>
<div className={textInsetStart}>
<h2 className="font-mono text-sm font-semibold tracking-widest text-accent-foreground">
در یک نگاه
شاخص‌های کلیدی
</h2>
<div className="mt-6 grid grid-cols-2 gap-8 md:grid-cols-4">
<div>
@@ -53,21 +53,21 @@ const About8 = ({ className }: About8Props) => {
۱۵۰ هزار ریال
</h3>
<p className="mt-1 font-medium text-muted-foreground">
سرمایه جذب‌شده
حجم صورتحساب ماهانه
</p>
</div>
<div>
<h3 className="text-xl font-medium tracking-tight md:text-2xll lg:text-2xll">
۲۰ هزار
</h3>
<p className="mt-1 font-medium text-muted-foreground">شرکت</p>
<p className="mt-1 font-medium text-muted-foreground">مشتری فعال</p>
</div>
<div>
<h3 className="text-xl font-medium tracking-tight md:text-2xll lg:text-2xll">
1.3B
</h3>
<p className="mt-1 font-medium text-muted-foreground">
تراکنش ماهانه
فاکتور صادرشده
</p>
</div>
<div>
@@ -75,7 +75,7 @@ const About8 = ({ className }: About8Props) => {
1.5K
</h3>
<p className="mt-1 font-medium text-muted-foreground">
اتصال در دقیقه
پرداخت موفق در دقیقه
</p>
</div>
</div>
@@ -86,14 +86,14 @@ const About8 = ({ className }: About8Props) => {
<section className={cn("py-10 md:py-12 lg:py-15", contentShell)}>
<div className={cn(textFromStart, proseStack)}>
<p className="text-lg">
خدمات مالی در حال تحول‌اند. اکنون زمان آن رسیده است که زیرساخت‌های مالی سازنده محصول‌محور و مبتنی بر اتصال هوشمند باشند؛ اما این تحول به معماری و زیرساختی نو نیاز دارد.
مدیریت درآمد SaaS از صدور فاکتور فراتر رفته است. تیم‌های مالی به هم‌ترازی لحظه‌ای بین اشتراک، مصرف و حسابداری نیاز دارند.
</p>
<h2 className="text-xl font-medium tracking-tight md:text-3xl">
همیشه به ما گفته بودند بانک‌ها نمی‌توانند پلتفرم باشند.
گفته می‌شد سیستم صورتحساب باید پیچیده و کند باشد.
</h2>
<p className="text-lg">
سال‌ها تلاش شد با افزودن لایه‌های اتصال هوشمند به سامانه‌های قدیمی، مشکلات برطرف شود؛ اما نتیجه چیزی جز پیچیدگی و ناکارآمدی نبود. تجربه کار با پلتفرم‌هایی مانند سامانه مالی، درگاه پرداخت و اعتبار خرید نشان داد که راهکارهای فعلی پاسخگوی نیاز آینده نیستند. ما باور داریم زیرساخت بانکی باید از پایه و با رویکرد اتصال‌محور بازطراحی شود.
سال‌ها افزودن پلاگین به ERPهای قدیمی فقط پیچیدگی بیشتر ساخت. صورتحساب‌یار از پایه برای مدل اشتراک، تخفیف، مالیات و گزارش MRR طراحی شده است تا تیم مالی و محصول روی یک داده واحد کار کنند.
</p>
</div>
</section>
@@ -111,7 +111,7 @@ const About8 = ({ className }: About8Props) => {
<div className="relative h-[330px] lg:h-[440px] xl:h-[600px]">
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="عضو تیم در حال کار"
alt="اپراتور مالی در حال بررسی فاکتور"
className="object-cover"
/>
</div>
@@ -120,7 +120,7 @@ const About8 = ({ className }: About8Props) => {
<div className="relative h-[330px] lg:h-[440px] xl:h-[600px]">
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="فضای کاری مدرن"
alt="داشبورد درآمد تکرارشونده"
className="object-cover"
/>
</div>
@@ -129,7 +129,7 @@ const About8 = ({ className }: About8Props) => {
<div className="relative h-[330px] lg:h-[440px] xl:h-[600px]">
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="همکاری تیم"
alt="هماهنگی تیم مالی و فروش"
className="object-cover"
/>
</div>
@@ -142,15 +142,15 @@ const About8 = ({ className }: About8Props) => {
<section className={contentShell}>
<div className={cn("ms-auto me-0 max-w-2xl w-full", proseStack)}>
<p className="text-lg">
توسعه ری یو آی را از سال ۲۱۹ آغاز کردیم و در سال ۲۲۲ نخستین نسخه آن را منتشر کردیم. تمام نقطه‌های اتصال از ابتدا طراحی شده‌اند؛ بدون بدهی فنی و وابستگی به سامانه‌های قدیمی، تا زیرساختی ماندگار برای آینده خدمات مالی فراهم شود.
ساخت صورتحساب‌یار از ۲۰۱۹ آغاز و در ۲۰۲۲ عرضه عمومی شد. اتصال‌ها به درگاه پرداخت، CRM و حسابداری از ابتدا و بدون وابستگی به سامانه‌های قدیمی طراحی شده‌اند.
</p>
<h2 className="text-xl font-medium tracking-tight md:text-3xl">
ما فقط یک شرکت فناوری یا فین‌تک معمولی نیستیم؛ رویکرد ما از پایه متفاوت است.
ما فقط یک مشتری فعال فناوری یا فین‌تک معمولی نیستیم؛ رویکرد ما از پایه شفاف است.
</h2>
<p className="text-lg">
مالکیت شرکت کاملاً در اختیار بنیان‌گذاران و اعضای تیم است. با حفظ تیمی چابک و سودآور، تمام تمرکز خود را بر ارائه زیرساختی قابل اعتماد برای توسعه‌دهندگان گذاشته‌ایم.
مالکیت مشتری فعال کاملاً در اختیار بنیان‌گذاران و اعضای تیم است. با حفظ تیمی چابک و سودآور، تمام تمرکز خود را بر ارائه زیرساختی قابل اعتماد برای توسعه‌دهندگان گذاشته‌ایم.
</p>
</div>
</section>
@@ -161,22 +161,16 @@ const About8 = ({ className }: About8Props) => {
<div className="order-2 md:order-1">
<div className={textFromStart}>
<h2 className="text-xl font-semibold tracking-tight md:text-xl">
تیم بنیان‌گذار
تیم بنیان‌گذار صورتحساب‌یار
</h2>
<p className="mt-5 text-lg md:mt-6">
ساخت ری یو آی را از ۲۱۹ آغاز کردیم و در ۲۲۲ عرضه کردیم. هر
نقطه اتصال از صفر طراحی شده بدون بدهی فنی یا سیستم کهنه. برای
نوآوری مالی در صد سال آینده ساخته شده‌ایم. صددرصد در مالکیت
بنیان‌گذاران و تیم است، سودآوریم و تیم را کوچک نگه می‌داریم.
به‌مرور این صفحه کامل‌تر می‌شود، اما الان تمرکزمان بر تحویل به
توسعه‌دهندگان است. اگر به ساخت آینده اتصال‌های مالی علاقه‌مندید،
موقعیت‌های باز زیر را ببینید.
صورتحساب‌یار را از ۲۰۱۹ ساختیم و در ۲۰۲۲ عرضه کردیم. هر اتصال پرداخت و گزارش از صفر طراحی شده است. مالکیت کامل با بنیان‌گذاران و تیم است و روی تحویل پایدار به مشتریان تمرکز داریم. اگر به ساخت زیرساخت درآمد SaaS علاقه‌مندید، موقعیت‌های باز را ببینید.
</p>
</div>
</div>
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="همکاری تیم بنیان‌گذار"
alt="هماهنگی تیم مالی و فروش بنیان‌گذار"
width={480}
height={400}
className="order-1 object-cover md:order-2"
+6 -6
View File
@@ -12,13 +12,13 @@ const About9 = ({ className }: About9Props) => {
<div className="container">
<div className="mx-auto max-w-6xl">
<h1 className="mb-6 max-w-4xl text-3xl leading-tight font-medium tracking-tight md:text-xl">
سلام، ما تیمی از توسعه‌دهندگان هستیم که با اشتیاق، اپلیکیشن‌های وب مقیاس‌پذیر، سریع و قابل اعتماد می‌سازیم.
سلام، ما تیم داده‌نما هستیم؛ پلتفرم آنالیتیکس محصول برای تیم‌های رشد و محصول.
</h1>
<div className="mb-8 flex justify-center">
<img
src="/block-media/shadcnblocks/block/photos/nubelson-fernandes-tAJYoec13xk-unsplash.jpg"
alt="تیم در حال کار"
alt="تیم داده‌نما در حال بررسی متریک‌ها"
className="w-full rounded-sm object-cover"
/>
</div>
@@ -26,7 +26,7 @@ const About9 = ({ className }: About9Props) => {
<div className="mx-auto mb-16 flex w-full max-w-6xl flex-col justify-between gap-12 md:flex-row">
<div className="text-base font-medium">
<span className="block text-muted-foreground">
توسعه‌دهنده فول‌استک
تحلیل‌گر محصول
</span>
<span className="font-semibold text-foreground">
San Francisco CA
@@ -40,16 +40,16 @@ const About9 = ({ className }: About9Props) => {
<div className="mt-8 w-full md:mt-0 md:w-2/3">
<p className="font-base w-full text-lg leading-[28px] text-muted-foreground md:w-3/4">
من یک توسعه‌دهنده فول‌استک با بیش از ۶ سال تجربه در طراحی و توسعه اپلیکیشن‌های وب مقیاس‌پذیر هستم. علاقه به حل مسئله و فناوری، مسیر حرفه‌ای من را شکل داده است.
بیش از شش سال روی قیف فعال‌سازی، نگهداشت و تحلیل کوهورت کار کرده‌ام تا تیم‌های محصول تصمیم‌های مبتنی بر داده بگیرند.
<br />
<br />
در رابط کاربری، سرور برنامه و فناوری‌های ابری تخصص دارم و به کسب‌وکار نوپا‌ها و سازمان‌ها کمک کرده‌ام محصولات دیجیتال مقیاس‌پذیر توسعه دهند. تمرکز من بر تجربه کاربری، معماری تمیز و کدی است که در بلندمدت به‌سادگی نگهداری شود.
داده‌نما رویدادهای محصول، قیف تبدیل و گزارش نگهداشت را بدون نیاز به تیم داده جداگانه در اختیار مدیران محصول و رشد می‌گذارد.
</p>
<div className="mt-12">
<img
src="/block-media/shadcnblocks/block/photos/nastuh-abootalebi-eHD8Y1Znfpk-unsplash.jpg"
alt="محیط کار"
alt="فضای کاری تیم داده‌نما"
className="w-full rounded-sm object-cover"
/>
</div>
+5 -5
View File
@@ -121,7 +121,7 @@ type SidebarData = {
// Shared sidebar data - works with all sidebar variations
const sidebarData: SidebarData = {
logo: {
src: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
src: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
alt: "شاد‌سی‌ان بلاکس",
title: "شاد‌سی‌ان بلاکس",
description: "اپلیکیشن خود را بسازید",
@@ -188,7 +188,7 @@ const sidebarData: SidebarData = {
footerGroup: {
title: "پشتیبانی",
items: [
{ label: "راهنمای کاربران", icon: HelpCircle, href: "#" },
{ label: "راهنمای اعضای تیم", icon: HelpCircle, href: "#" },
{ label: "تنظیمات", icon: Settings, href: "#" },
],
},
@@ -202,19 +202,19 @@ const sidebarData: SidebarData = {
{
id: "1",
name: "شاد‌سی‌ان بلاکس",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "سازمانی",
},
{
id: "2",
name: "قالب‌های شاد‌سی‌ان",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "استارتاپ",
},
{
id: "3",
name: "کامپوننت‌های شاد‌سی‌ان",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "رایگان",
},
],
+2 -2
View File
@@ -398,7 +398,7 @@ function AppSidebar({
>
<div className="flex size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-5 invert dark:invert-0"
/>
@@ -939,7 +939,7 @@ export function ApplicationShell10() {
<div className="flex items-center gap-2">
<div className="flex size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-5 invert dark:invert-0"
/>
+2 -2
View File
@@ -406,7 +406,7 @@ function SiteHeader() {
<a href="#" className="flex items-center gap-2">
<div className="flex size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-5 invert dark:invert-0"
/>
@@ -526,7 +526,7 @@ function MobileHeader() {
<a href="#" className="flex items-center gap-2">
<div className="flex size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-5 invert dark:invert-0"
/>
+4 -4
View File
@@ -159,7 +159,7 @@ const data = {
},
organization: {
name: "شرکت آکمه",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
},
railIcons: [
{ moduleId: "home", label: "خانه", icon: Home, defaultPath: "#" },
@@ -255,7 +255,7 @@ const data = {
{ id: "members", label: "اعضا", icon: Users, path: "#" },
{
id: "activity",
label: "فعالیت",
label: "فعالیت تیم",
icon: MessageSquare,
path: "#",
},
@@ -347,7 +347,7 @@ function SidebarRail({
>
<div className="flex size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-5 invert dark:invert-0"
/>
@@ -1073,7 +1073,7 @@ export function ApplicationShell12() {
<a href="#" className="flex items-center gap-2">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-6 text-primary-foreground invert dark:invert-0"
/>
+2 -2
View File
@@ -59,8 +59,8 @@ type NavGroup = {
const data = {
brand: {
name: "ShadcnBlocks",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
name: "NovaSales",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
},
user: {
name: "علی رضایی",
+1 -1
View File
@@ -436,7 +436,7 @@ function UserMenu() {
</DropdownMenuItem>
<DropdownMenuItem className="gap-2">
<HelpCircle className="size-4" />
راهنمای کاربران
راهنمای اعضای تیم
</DropdownMenuItem>
<DropdownMenuItem className="gap-2">
<Gift className="size-4" />
+7 -7
View File
@@ -113,9 +113,9 @@ type SidebarData = {
// Shared sidebar data - works with all sidebar variations
const sidebarData: SidebarData = {
logo: {
src: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
src: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
alt: "شاد‌سی‌ان بلاکس",
title: "ShadcnBlocks",
title: "NovaSales",
description: "اپلیکیشن خود را بسازید",
},
navGroups: [
@@ -180,7 +180,7 @@ const sidebarData: SidebarData = {
footerGroup: {
title: "پشتیبانی",
items: [
{ label: "راهنمای کاربران", icon: HelpCircle, href: "#" },
{ label: "راهنمای اعضای تیم", icon: HelpCircle, href: "#" },
{ label: "تنظیمات", icon: Settings, href: "#" },
],
},
@@ -193,20 +193,20 @@ const sidebarData: SidebarData = {
workspaces: [
{
id: "1",
name: "ShadcnBlocks",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
name: "NovaSales",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "سازمانی",
},
{
id: "2",
name: "ری یو آی قالب‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "استارتاپ",
},
{
id: "3",
name: "ری یو آی بخش‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "رایگان",
},
],
+7 -7
View File
@@ -100,9 +100,9 @@ type SidebarData = {
// Shared sidebar data - works with all sidebar variations
const sidebarData: SidebarData = {
logo: {
src: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
src: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
alt: "شاد‌سی‌ان بلاکس",
title: "ShadcnBlocks",
title: "NovaSales",
description: "اپلیکیشن خود را بسازید",
},
navGroups: [
@@ -167,7 +167,7 @@ const sidebarData: SidebarData = {
footerGroup: {
title: "پشتیبانی",
items: [
{ label: "راهنمای کاربران", icon: HelpCircle, href: "#" },
{ label: "راهنمای اعضای تیم", icon: HelpCircle, href: "#" },
{ label: "تنظیمات", icon: Settings, href: "#" },
],
},
@@ -180,20 +180,20 @@ const sidebarData: SidebarData = {
workspaces: [
{
id: "1",
name: "ShadcnBlocks",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
name: "NovaSales",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "سازمانی",
},
{
id: "2",
name: "ری یو آی قالب‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "استارتاپ",
},
{
id: "3",
name: "ری یو آی بخش‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "رایگان",
},
],
+7 -7
View File
@@ -100,9 +100,9 @@ type SidebarData = {
// Shared sidebar data - works with all sidebar variations
const sidebarData: SidebarData = {
logo: {
src: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
src: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
alt: "شاد‌سی‌ان بلاکس",
title: "ShadcnBlocks",
title: "NovaSales",
description: "اپلیکیشن خود را بسازید",
},
navGroups: [
@@ -167,7 +167,7 @@ const sidebarData: SidebarData = {
footerGroup: {
title: "پشتیبانی",
items: [
{ label: "راهنمای کاربران", icon: HelpCircle, href: "#" },
{ label: "راهنمای اعضای تیم", icon: HelpCircle, href: "#" },
{ label: "تنظیمات", icon: Settings, href: "#" },
],
},
@@ -180,20 +180,20 @@ const sidebarData: SidebarData = {
workspaces: [
{
id: "1",
name: "ShadcnBlocks",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
name: "NovaSales",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "سازمانی",
},
{
id: "2",
name: "ری یو آی قالب‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "استارتاپ",
},
{
id: "3",
name: "ری یو آی بخش‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "رایگان",
},
],
+7 -7
View File
@@ -112,9 +112,9 @@ type SidebarData = {
// Shared sidebar data - works with all sidebar variations
const sidebarData: SidebarData = {
logo: {
src: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
src: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
alt: "شاد‌سی‌ان بلاکس",
title: "ShadcnBlocks",
title: "NovaSales",
description: "اپلیکیشن خود را بسازید",
},
navGroups: [
@@ -179,7 +179,7 @@ const sidebarData: SidebarData = {
footerGroup: {
title: "پشتیبانی",
items: [
{ label: "راهنمای کاربران", icon: HelpCircle, href: "#" },
{ label: "راهنمای اعضای تیم", icon: HelpCircle, href: "#" },
{ label: "تنظیمات", icon: Settings, href: "#" },
],
},
@@ -192,20 +192,20 @@ const sidebarData: SidebarData = {
workspaces: [
{
id: "1",
name: "ShadcnBlocks",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
name: "NovaSales",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "سازمانی",
},
{
id: "2",
name: "ری یو آی قالب‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "استارتاپ",
},
{
id: "3",
name: "ری یو آی بخش‌ها",
logo: "/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg",
logo: "/block-media/shadcnblocks/block/logos/NovaSales-logo.svg",
plan: "رایگان",
},
],
+2 -2
View File
@@ -287,7 +287,7 @@ export function AppSidebar({
<a href="#">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-6 text-primary-foreground invert dark:invert-0"
/>
@@ -444,7 +444,7 @@ export function ApplicationShell6({ className }: ApplicationShell6Props) {
<a href="#">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-6 text-primary-foreground invert dark:invert-0"
/>
+3 -3
View File
@@ -505,7 +505,7 @@ function AppSidebar({
<a href="#">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-6 text-primary-foreground invert dark:invert-0"
/>
@@ -869,7 +869,7 @@ function RightPanelContent() {
<section className="space-y-3">
<div className="flex items-center justify-between">
<SidebarGroupLabel className="text-xs font-medium tracking-wide text-muted-foreground">
فعالیت‌ها
فعالیت تیم‌ها
</SidebarGroupLabel>
<Button
variant="ghost"
@@ -977,7 +977,7 @@ export function ApplicationShell7({ className }: ApplicationShell7Props) {
<a href="#" className="md:hidden">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-6 text-primary-foreground invert dark:invert-0"
/>
+2 -2
View File
@@ -633,7 +633,7 @@ export function AppSidebar({
<a href="#">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-6 text-primary-foreground invert dark:invert-0"
/>
@@ -846,7 +846,7 @@ export function ApplicationShell8() {
<div className="ms-2 flex items-center md:hidden">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-6 text-primary-foreground invert dark:invert-0"
/>
+3 -3
View File
@@ -92,7 +92,7 @@ const fileTreeData: TreeItem[] = [
function Logo({ className }: { className?: string }) {
return (
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className={cn("size-5 dark:invert", className)}
/>
@@ -155,7 +155,7 @@ export function AppSidebar({
<a href="#">
<div className="flex aspect-square size-8 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-5 invert dark:invert-0"
/>
@@ -383,7 +383,7 @@ export function ApplicationShell9() {
<div className="flex items-center gap-2">
<div className="flex aspect-square size-7 items-center justify-center rounded-sm bg-primary">
<img
src="/block-media/shadcnblocks/block/logos/ShadcnBlocks-logo.svg"
src="/block-media/shadcnblocks/block/logos/NovaSales-logo.svg"
alt="شاد‌سی‌ان بلاکس"
className="size-4 invert dark:invert-0"
/>
+4 -4
View File
@@ -11,7 +11,7 @@ const faYear = (year: number) => year.toLocaleString("fa-IR");
const Awards1 = ({ className }: Awards1Props) => {
const awards = [
{
name: "برنده جوایز طراحی استایل‌دهی",
name: "برنده جایزه طراحی استایل‌دهی",
description:
"به پاس کیفیت ممتاز در طراحی و عملکرد وب مورد تقدیر قرار گرفته است.",
year: 2024,
@@ -25,7 +25,7 @@ const Awards1 = ({ className }: Awards1Props) => {
url: "#",
},
{
name: "بلاک‌های رابط ری یو آی",
name: "بلاک‌های رابط کاربری",
description:
"به دلیل طراحی رابط کاربری و تجربه کاربری ممتاز مورد تقدیر قرار گرفته است.",
year: 2023,
@@ -44,12 +44,12 @@ const Awards1 = ({ className }: Awards1Props) => {
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
<div className="container space-y-10 lg:space-y-12">
<h1 className="max-w-md text-2xll tracking-tighter lg:text-2xll">
جوایز
جایزه‌ها
</h1>
<table className="w-full border-collapse">
<thead>
<tr className="h-12 border-b text-start text-sm text-foreground/80">
<th className="font-semibold">جایزه</th>
<th className="font-semibold">نام</th>
<th className="font-semibold">توضیحات</th>
<th className="text-end font-semibold">سال</th>
</tr>
+1 -1
View File
@@ -38,7 +38,7 @@ const Awards3 = ({ className }: Awards3Props) => {
</h2>
<p className="mb-6 max-w-3xl text-base text-muted-foreground">
تعهد ما به کیفیت، نوآوری و خلق تجربه‌های ارزشمند، زمینه‌ساز دریافت این افتخارات بوده است. این دستاوردها انگیزه‌ای برای ادامه مسیر و ارائه راهکارهای بهتر هستند.
</p>
</p>
{awards.map((award, index) => (
<div
+3 -3
View File
@@ -9,12 +9,12 @@ interface Awards4Props {
const faYear = (year: number) => year.toLocaleString("fa-IR");
const faRowNum = (index: number) =>
`(${(index + 1).toLocaleString("fa-IR", { minimumIntegerDigits: 3 })})`;
`(${(index + 1).toLocaleString("fa-IR", { minimumIntegerDigits: 3 })}`;
const Awards4 = ({ className }: Awards4Props) => {
const awards = [
{
name: "برنده جوایز طراحی استایل‌دهی",
name: "برنده جایزه طراحی استایل‌دهی",
description:
"به پاس کیفیت ممتاز در طراحی و عملکرد وب مورد تقدیر قرار گرفته است.",
year: 2024,
@@ -74,7 +74,7 @@ const Awards4 = ({ className }: Awards4Props) => {
<tr className="h-12 border-b text-start text-foreground/40">
<th className="hidden min-w-30 font-normal lg:table-cell lg:min-w-40"></th>
<th className="font-normal">نام</th>
<th className="hidden font-normal md:table-cell">نامزدی</th>
<th className="hidden font-normal md:table-cell">توضیحات</th>
<th className="text-end font-normal">سال</th>
</tr>
</thead>
+1 -1
View File
@@ -16,7 +16,7 @@ interface Banner1Props {
}
const Banner1 = ({
title = "نسخه ۲۰ منتشر شد!",
title = "نسخه ۲.۰ منتشر شد",
description = "جزئیات این نسخه را",
linkText = "مشاهده کنید",
linkUrl = "#",
+1 -1
View File
@@ -16,7 +16,7 @@ interface Banner2Props {
}
const Banner2 = ({
title = "نسخه ۲۰ منتشر شد!",
title = "نسخه ۲.۰ منتشر شد",
description = "جزئیات این نسخه را",
linkText = "مشاهده کنید",
linkUrl = "#",
+3 -3
View File
@@ -16,9 +16,9 @@ interface Banner3Props {
}
const Banner3 = ({
title = "فروش ویژه جمعه سیاه! 🎉",
description = "تا ۷۰٪ تخفیف روی تمام محصولات. فرصت محدود!",
buttonText = "مشاهده محصولات",
title = "پیشنهاد ویژه سازمانی - ۳۰٪ تخفیف",
description = "ویژه تیم‌های ۱۰ نفره و بزرگ‌تر. ثبت‌نام تا پایان ماه",
buttonText = "درخواست مشاوره",
buttonUrl = "https://ShadcnBlocks",
defaultVisible = true,
className,
+2 -2
View File
@@ -16,8 +16,8 @@ interface Banner4Props {
}
const Banner4 = ({
title = "فروش ویژه جمعه سیاه! 🎉",
description = "تا ۷۰٪ تخفیف روی تمام محصولات. فرصت محدود!",
title = "پیشنهاد ویژه سازمانی - ۳۰٪ تخفیف",
description = "ویژه تیم‌های ۱۰ نفره و بزرگ‌تر. ثبت‌نام تا پایان ماه",
defaultVisible = true,
className,
}: Banner4Props) => {
+2 -2
View File
@@ -16,8 +16,8 @@ interface Banner5Props {
}
const Banner5 = ({
title = "نسخه ۲۰ منتشر شد!",
description = "قابلیت‌ها و امکانات جدید را بررسی کنید.",
title = "نسخه ۲.۰ منتشر شد",
description = "قابلیت‌ها و امکانات جدید را بررسی کنید",
buttonText = "اطلاعات بیشتر",
buttonUrl = "https://ShadcnBlocks",
defaultVisible = true,
+1 -1
View File
@@ -21,7 +21,7 @@ interface Banner6Props {
}
const Banner6 = ({
description = "بیش از ۲ هزار مشتری در سراسر جهان به ما اعتماد کرده‌اند",
description = "بیش از ۲۰۰۰ سازمان در سراسر جهان به ما اعتماد کرده‌اند",
avatars = [
{
src: "/block-media/shadcnblocks/block/avatar-1.webp",
+1 -1
View File
@@ -30,7 +30,7 @@ const Banner7 = ({ className }: Banner7Props) => {
>
<div className="flex flex-1 items-center gap-4 text-sm font-medium md:justify-center md:text-center">
<p>
پلن پریمیوم اکنون در دسترس است! 🎉 با امکانات بیشتر و انعطاف بالاتر، تجربه‌ای حرفه‌ای‌تر داشته باشید.
پلن سازمانی اکنون در دسترس است. با امکانات پیشرفته و گزارش‌دهی جامع، مدیریت تیم را بهبود بخشید
<a href="#" className="ms-2 whitespace-nowrap underline md:hidden">
<span>اطلاعات بیشتر</span>
</a>
+19 -20
View File
@@ -27,7 +27,7 @@ const formatPersianDate = (date: Date) =>
const Blogpost1 = ({
className,
title = "طراحی سریع‌تر وب‌سایت با ری یو آی",
title = "افزایش ۴۰٪ نرخ تبدیل با اتوماسیون بازاریابی CRM",
author = {
name: "علی رضایی",
website: "https://www.ShadcnBlocks",
@@ -37,7 +37,7 @@ const Blogpost1 = ({
image = "/block-media/shadcnblocks/block/placeholder-1.svg",
pubDate = new Date(),
description =
"راهنمای گام‌به‌گام ساخت وبلاگ مدرن و واکنش‌گرا با رابط کاربری و استایل‌دهی مدرن.",
"مطالعه موردی نحوه پیاده‌سازی اتوماسیون بازاریابی برای افزایش نرخ تبدیل و بهبود بهره‌وری تیم فروش.",
}: Blogpost1Props) => {
return (
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
@@ -79,25 +79,25 @@ const Blogpost1 = ({
</div>
<div className="container">
<div className="mx-auto prose max-w-3xl dark:prose-invert">
<h2 className="text-3xl font-extrabold">راهنمای طراحی رابط کاربری مدرن با رابط کاربری</h2>
<h2 className="text-3xl font-extrabold">اتوماسیون بازاریابی چیست و چرا اهمیت دارد؟</h2>
<p className="mt-2 text-lg text-muted-foreground">
طراحی رابط کاربری مدرن تنها به ظاهر زیبا محدود نمی‌شود. استفاده از کامپوننت‌های قابل استفاده مجدد و رعایت اصول تجربه کاربری، توسعه محصولات باکیفیت را ساده‌تر می‌کند.
اتوماسیون بازاریابی فرایند اجرای خودکار جریان‌های ایمیل، امتیازدهی لید و اختصاص معامله به فروشندگان بر اساس رفتار دیجیتال مخاطب است. تیم‌های B2B با این رویکرد، زمان پاسخ‌گویی را از ۴۸ ساعت به کمتر از ۲ ساعت کاهش داده‌اند.
</p>
<h2>چرا معماری کامپوننت‌محور؟</h2>
<h2>چرا امتیازدهی لید مهم است؟</h2>
<p>
معماری کامپوننت‌محور باعث کاهش تکرار کد، نگهداری آسان‌تر پروژه و توسعه سریع‌تر قابلیت‌های جدید می‌شود.
با امتیازدهی رفتاری، لیدهای آماده خرید شناسایی شده و به‌صورت خودکار به فروش اختصاص می‌یابند. این رویکرد نرخ تبدیل را تا ۴۰٪ افزایش می‌دهد.
</p>
<Alert>
<Lightbulb className="h-4 w-4" />
<AlertTitle>نکته مهم</AlertTitle>
<AlertTitle>نکته کلیدی</AlertTitle>
<AlertDescription>
پیش از شروع توسعه، ساختار طراحی، رنگ‌ها و کامپوننت‌های پایه را مشخص کنید تا محصولی یکپارچه داشته باشید.
ایمیل‌های شخصی‌سازی‌شده با نام شرکت مخاطب، نرخ باز شدن ۴۲٪ بالاتری نسبت به قالب‌های عمومی دارند.
</AlertDescription>
</Alert>
<h2>بهترین روش‌ها</h2>
<h2>نتایج کمپین ۹۰ روزه</h2>
<p>
استفاده از سیستم طراحی، نام‌گذاری استاندارد و مستندسازی کامپوننت‌ها کیفیت توسعه را در پروژه‌های بزرگ افزایش می‌دهد.
پس از اجرای جریان‌های ایمیل و امتیازدهی، تیم فروش شاهد بهبود قابل‌توجهی در معیارهای کلیدی بوده است.
</p>
<div>
<table>
@@ -124,10 +124,10 @@ const Blogpost1 = ({
</table>
</div>
<p>
معماری کامپوننت‌محور باعث کاهش تکرار کد، نگهداری آسان‌تر پروژه و توسعه سریع‌تر قابلیت‌های جدید می‌شود.
لیدهایی که حداقل ۳ ایمیل از دنباله را باز کرده بودند، ۲.۸ برابر بیشتر احتمال تبدیل به مشتری داشتند.
</p>
<h2>جمع‌بندی</h2>
<h2>بهینه‌سازی جریان ایمیل</h2>
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
@@ -135,22 +135,21 @@ const Blogpost1 = ({
className="my-8 aspect-video w-full rounded-md object-cover"
/>
<p>
برای شروع کافی است{" "}
<a href="#">یک ساختار مناسب</a> را برای پروژه خود انتخاب کنید و به‌مرور توسعه دهید.
تیم بازاریابی با تست A/B موضوع ایمیل، نرخ باز شدن را از ۱۸٪ به ۲۶٪ رساند.
</p>
<blockquote>
«رابط کاربری خوب فقط زیبا نیست؛ استفاده از آن باید ساده، سریع و لذت‌بخش باشد.»
«ایمیل‌های کوتاه با یک CTA واضح، نرخ کلیک ۳۵٪ بالاتری نسبت به ایمیل‌های چندبخشی داشتند.»
</blockquote>
<p>
برای بهبود نرخ تبدیل، این سه اصل را در اولویت قرار دهید:
سه نوع دنباله ایمیل برای بخش‌های مختلف قیف فروش طراحی شد:
</p>
<ul>
<li>طراحی سیستم منسجم</li>
<li>کامپوننت‌های قابل استفاده مجدد</li>
<li>مستندسازی استاندارد</li>
<li>آگاهی: معرفی مشکل و راه‌حل</li>
<li>بررسی: مقایسه با رقبا و مطالعه موردی</li>
<li>تصمیم: دعوت به دمو و پیشنهاد آزمایشی</li>
</ul>
<p>
با رعایت این اصول، توسعه پروژه سریع‌تر، نگهداری آن ساده‌تر و تجربه کاربران نیز بهتر خواهد بود.
زمان پاسخ فروش به لیدهای داغ از ۲۴ ساعت به کمتر از ۲ ساعت رسید و نرخ بستن معامله ۴۰٪ افزایش یافت.
</p>
</div>
</div>
+17 -17
View File
@@ -21,7 +21,7 @@ const Blogpost2 = ({ className }: Blogpost2Props) => {
بازگشت به خانه
</a>
<h1 className="mb-5 text-3xl font-bold text-balance lg:text-xl">
۱۰ اصل برای ساخت سیستم طراحی در پروژه‌های بزرگ
۱۰ اصل طلایی برای راه‌اندازی موفق CRM در سازمان‌های فروش‌محور
</h1>
<div className="flex gap-3">
<Avatar className="size-7 rounded-full">
@@ -45,45 +45,45 @@ const Blogpost2 = ({ className }: Blogpost2Props) => {
/>
<div className="prose dark:prose-invert">
<p>
در پروژه‌های بزرگ، داشتن یک سیستم طراحی یکپارچه استاندارد از ناهماهنگی رابط کاربری جلوگیری کرده و همکاری تیم را ساده‌تر می‌کند.
در سازمان‌های فروش‌محور، داشتن یک CRM یکپارچه و استاندارد از ناهماهنگی فرایندهای فروش جلوگیری کرده و همکاری تیم را ساده‌تر می‌کند.
</p>
<h2>جمع‌بندی</h2>
<p>
برای شروع کافی است{" "}
<a href="#">یک ساختار مناسب</a> را برای پروژه خود انتخاب کنید و به‌مرور توسعه دهید.
<a href="#">یک پلن مناسب</a> را برای سازمان خود انتخاب کنید و به‌مرور توسعه دهید.
</p>
<blockquote>
«رابط کاربری خوب فقط زیبا نیست؛ استفاده از آن باید ساده، سریع و لذت‌بخش باشد.»
«یک CRM موفق نه‌تنها داده‌ها را مدیریت می‌کند، بلکه فرایند فروش را نیز بهینه‌سازی می‌کند.»
</blockquote>
<h3>اصول کلیدی</h3>
<p>
برای پیاده‌سازی موفق سیستم طراحی، این اصول را رعایت کنید:
برای پیاده‌سازی موفق CRM، این اصول را رعایت کنید:
</p>
<ul>
<li>طراحی سیستم منسجم</li>
<li>کامپوننت‌های قابل استفاده مجدد</li>
<li>مستندسازی استاندارد</li>
<li>یکپارچه‌سازی داده‌های مشتری</li>
<li>اتوماسیون فرایندهای فروش</li>
<li>گزارش‌گیری دقیق و بلادرنگ</li>
</ul>
<p>
با رعایت این اصول، توسعه پروژه سریع‌تر، نگهداری آن ساده‌تر و تجربه کاربران نیز بهتر خواهد بود.
با رعایت این اصول، نرخ تبدیل سریع‌تر، نگهداری مشتری آسان‌تر و درآمد سازمان نیز بیشتر خواهد بود.
</p>
<h3>کتابخانه کامپوننت مرکزی</h3>
<h3>کتابخانه قالب‌های فروش</h3>
<p>
کامپوننت‌های مشترک را در یک کتابخانه مرکزی نگهداری کنید تا همه اعضای تیم از نسخه‌ای واحد استفاده کنند.
قالب‌های مشترک را در یک کتابخانه مرکزی نگهداری کنید تا همه اعضای تیم فروش از نسخه‌ای واحد استفاده کنند.
</p>
<p>
استفاده از توکن‌های طراحی برای رنگ، فاصله و تایپوگرافی، هماهنگی کل محصول را تضمین می‌کند.
استفاده از داشبوردهای آماده برای گزارش‌های فروش، هماهنگی کل تیم را تضمین می‌کند.
</p>
<h3>بهترین روش‌ها</h3>
<p>
استفاده از سیستم طراحی، نام‌گذاری استاندارد و مستندسازی کامپوننت‌ها کیفیت توسعه را در پروژه‌های بزرگ افزایش می‌دهد.
استفاده از اتوماسیون فروش، استانداردسازی فرایندها و مستندسازی مشتریان، کیفیت فروش را در پروژه‌های بزرگ افزایش می‌دهد.
</p>
<div>
<table>
<thead>
<tr>
<th>تعداد کامپوننت</th>
<th>زمان توسعه</th>
<th>تعداد مشتری</th>
<th>زمان پیاده‌سازی</th>
</tr>
</thead>
<tbody>
@@ -103,10 +103,10 @@ const Blogpost2 = ({ className }: Blogpost2Props) => {
</table>
</div>
<p>
معماری کامپوننت‌محور باعث کاهش تکرار کد، نگهداری آسان‌تر پروژه و توسعه سریع‌تر قابلیت‌های جدید می‌شود.
اتوماسیون فرایندهای فروش باعث کاهش کارهای دستی، نگهداری آسان‌تر مشتریان و توسعه سریع‌تر قابلیت‌های جدید می‌شود.
</p>
<p>
یک سیستم طراحی موفق، سرعت توسعه را افزایش می‌دهد و تجربه‌ای یکپارچه برای کاربران ایجاد می‌کند.
یک CRM موفق، سرعت فروش را افزایش می‌دهد و تجربه‌ای یکپارچه برای مشتریان ایجاد می‌کند.
</p>
</div>
</article>
+8 -8
View File
@@ -69,12 +69,12 @@ const Blogpost3 = ({ className }: Blogpost3Props) => {
<div className="mx-auto flex max-w-5xl flex-col items-center gap-5">
<Badge variant="secondary">به‌روزرسانی محصول</Badge>
<h1 className="text-center text-3xl font-medium text-pretty lg:text-2xll">
ابزارهای جدید برای کار بهتر ابزارهای ساده جریان کار
ابزارهای جدید اتوماسیون بازاریابی برای افزایش نرخ تبدیل
</h1>
<p className="text-center text-muted-foreground lg:text-lg">
ببینید قابلیت‌های جدید خودکارسازی ما چطور می‌تواند بهره‌وری تیم
شما را متحول کند. با جدیدترین ابزارها و امکانات برای افزایش
کارایی، کاهش کارهای دستی و بهبود همکاری در سازمان آشنا شوید.
ببینید قابلیت‌های جدید اتوماسیون ما چطور می‌تواند بهره‌وری تیم
فروش شما را متحول کند. با جدیدترین ابزارها و امکانات برای افزایش
نرخ تبدیل، کاهش کارهای دستی و بهبود همکاری در سازمان آشنا شوید.
</p>
<div className="mt-6 flex items-center gap-4">
<Avatar className="size-12 border">
@@ -114,7 +114,7 @@ const Blogpost3 = ({ className }: Blogpost3Props) => {
: "text-muted-foreground hover:text-primary",
)}
>
چرا معماری کامپوننت‌محور؟
چرا اتوماسیون بازاریابی مهم است؟
</a>
</li>
<li>
@@ -245,9 +245,9 @@ const Blogpost3 = ({ className }: Blogpost3Props) => {
<div className="sticky top-8 prose hidden h-fit rounded-lg border p-6 text-start lg:block dark:prose-invert">
<h5 className="text-xl font-semibold">با راهکار ما شروع کنید</h5>
<ul className="my-6 text-sm [&>li]:ps-0 [&>li]:pe-0">
<li>صرفه‌جویی ۴۰٪ زمان با خودکارسازی وظایف</li>
<li>همکاری بلادرنگ تیمی</li>
<li>جریان‌های کار ساده با کشیدن و رها کردن</li>
<li>افزایش ۴۰٪ نرخ تبدیل با امتیازدهی لید</li>
<li>کاهش ۶۰٪ زمان پاسخ‌گویی به مشتریان</li>
<li>گزارش‌های دقیق فروش با داشبورد بلادرنگ</li>
</ul>
<div className="flex flex-col gap-2">
<Button>شروع کنید</Button>
+1 -1
View File
@@ -101,7 +101,7 @@ const Blogpost4 = ({ className }: Blogpost4Props) => {
</BreadcrumbList>
</Breadcrumb>
<h1 className="mt-7 mb-6 max-w-3xl text-start text-3xl font-semibold md:text-2xll">
چگونه نرخ تبدیل لیدها را ۴۰٪ با اتوماسیون بازاریابی افزایش دهید
چگونه نرخ تبدیل لیدها را ۴۰٪ با CRM هوشمند افزایش دهید
</h1>
<div className="flex flex-wrap items-center gap-3 text-sm">
<Avatar className="h-8 w-8 border">
+1 -1
View File
@@ -92,7 +92,7 @@ const Blogpost5 = ({ className }: Blogpost5Props) => {
</BreadcrumbList>
</Breadcrumb>
<h1 className="mt-9 mb-7 max-w-3xl text-start text-xl font-bold md:mb-10 md:text-2xll">
چگونه نرخ تبدیل لیدها را ۴۰٪ با اتوماسیون بازاریابی افزایش دهید
چگونه نرخ تبدیل لیدها را ۴۰٪ با CRM هوشمند افزایش دهید
</h1>
<div className="flex flex-wrap items-center gap-3 text-sm md:text-base">
<Avatar className="h-8 w-8 border">
+7 -7
View File
@@ -47,7 +47,7 @@ const AUTHOR: AuthorType = {
name: "مهسا نوری",
job: "مدیرعامل و هم‌بنیان‌گذار",
description:
"توسعه‌دهنده و نویسنده‌ای که تجربه‌های خود در طراحی رابط کاربری، معماری نرم‌افزار و توسعه فرانت‌اند را با زبانی ساده و کاربردی به اشتراک می‌گذارد.",
"متخصص حوزه CRM و اتوماسیون فروش با بیش از ۱۰ سال تجربه در توسعه پلتفرم‌های بازاریابی دیجیتال برای کسب‌وکارهای B2B.",
socials: [
{
icon: Twitter,
@@ -68,7 +68,7 @@ const BREADCRUMB: Array<BreadcrumbItem> = [
link: "#",
},
{
label: "وبلاگ",
label: "مقالات",
link: "#",
},
];
@@ -134,10 +134,10 @@ const Blogpost6 = ({ className }: Blogpost6Props) => {
<div>{ARTICLE_DATE}</div>
</div>
<h1 className="text-center text-[2.5rem] leading-[1.2] font-semibold md:text-2xll lg:text-2xll">
ساخت کامپوننت‌های بهتر
راهنمای جامع انتخاب CRM برای تیم‌های فروش
</h1>
<p className="text-center text-xl leading-[1.4] font-semibold text-foreground">
کامپوننت‌های رابط کاربری پایه و اساس ساخت محصولات دیجیتال مدرن هستند. در این مقاله با نقش، مزایا و مهم‌ترین انواع آن‌ها آشنا می‌شوید.
پلتفرم‌های CRM پایه و اساس مدیریت مشتریان و افزایش فروش در کسب‌وکارهای مدرن هستند. در این مقاله با نقش، مزایا و مهم‌ترین قابلیت‌های آن‌ها آشنا می‌شوید.
</p>
<div className="flex items-center justify-center gap-2.5">
{SHARE_LINKS.map((link, index) => (
@@ -184,13 +184,13 @@ const Blogpost6 = ({ className }: Blogpost6Props) => {
<div className="prose dark:prose-invert">
<h2>نکات کلیدی</h2>
<p>
• استفاده از کامپوننت‌های قابل استفاده مجدد باعث افزایش سرعت توسعه، کاهش تکرار کد و حفظ یکپارچگی رابط کاربری می‌شود.
• استفاده از CRM مناسب باعث افزایش سرعت فروش، کاهش زمان پیگیری و حفظ یکپارچگی داده‌های مشتریان می‌شود.
</p>
<p>
• کتابخانه‌هایی مانند ری یو آی، کتابخانه پایه و کتابخانه رابط توسعه رابط‌های کاربری استاندارد و دسترس‌پذیر را ساده‌تر می‌کنند.
• پلتفرم‌هایی مانند HubSpot، Salesforce و Zoho توسعه فرایندهای فروش استاندارد و قابل‌اندازه‌گیری را ساده‌تر می‌کنند.
</p>
<p>
• طراحی مبتنی بر کامپوننت، نگهداری پروژه، توسعه قابلیت‌های جدید و همکاری تیمی را آسان‌تر می‌کند.
• اتوماسیون مبتنی بر CRM، نگهداری مشتریان، توسعه قابلیت‌های جدید و همکاری تیمی را آسان‌تر می‌کند.
</p>
<p>
+2 -2
View File
@@ -31,7 +31,7 @@ const defaultDepartments: Department[] = [
href: "#",
},
{
title: "نماینده توسعه فروش",
title: "کارشناس توسعه بازار",
location: "تهران",
href: "#",
},
@@ -56,7 +56,7 @@ const defaultDepartments: Department[] = [
const Careers1 = ({
title = "فرصت‌های شغلی",
description = "موقعیت‌های شغلی باز ما را ببینید.",
description = "موقعیت‌های شغلی باز ما را مشاهده کنید.",
departments = defaultDepartments,
className,
}: Careers1Props) => {
+2 -2
View File
@@ -39,7 +39,7 @@ const Careers2 = ({ className }: Careers2Props) => {
<p className="text-muted-foreground">
موقعیت مناسب خود را پیدا نکردید؟
<a href="#" className="ms-1 underline">
با ما تماس بگیرید.
رزومه ارسال کنید.
</a>
</p>
</div>
@@ -68,7 +68,7 @@ const Careers2 = ({ className }: Careers2Props) => {
href={job.link}
className={cn(buttonVariants(), "w-fit gap-1 lg:ms-auto")}
>
ارسال درخواست
مشاهده و درخواست
<ArrowRight className="h-auto w-4 rtl:rotate-180" />
</a>
</div>
+5 -5
View File
@@ -10,20 +10,20 @@ const jobs = [
{
title: "مهندس ارشد نرم‌افزار",
description:
"مسئول توسعه محصولات نرم‌افزاری جدید و موجود خواهید بود.",
"مسئول توسعه و نگهداری سامانه‌های نرم‌افزاری پیشرفته.",
location: "دفتر تهران یا دورکاری",
link: "#",
},
{
title: "مدیر محصول",
description: "به ما در ساخت نسل بعدی محصولات کمک کنید.",
description: "نسل بعدی محصولات را با تیم طراحی و مهندسی توسعه دهید.",
location: "دفتر اصفهان یا دورکاری",
link: "#",
},
{
title: "مهندس تضمین کیفیت",
description:
"کیفیت محصولات نرم‌افزاری ما را از طریق تست و خودکارسازی تضمین کنید.",
"کیفیت محصولات نرم‌افزاری را از طریق تست و خودکارسازی تضمین کنید.",
location: "دفتر شیراز یا دورکاری",
link: "#",
},
@@ -42,14 +42,14 @@ const jobs = [
{
title: "نویسنده محتوا",
description:
"محتوای جذاب برای وبلاگ، وب‌سایت و شبکه‌های اجتماعی تولید کنید.",
"محتوای تخصصی برای وبلاگ، وب‌سایت و شبکه‌های اجتماعی تولید کنید.",
location: "تبریز",
link: "#",
},
{
title: "مدیر شبکه‌های اجتماعی",
description:
"حضور ما در شبکه‌های اجتماعی را مدیریت کنید و با مخاطبان در تعامل باشید.",
"استراتژی شبکه‌های اجتماعی را اجرا کنید و با مخاطبان تعامل داشته باشید.",
location: "کرمان",
link: "#",
},
+1 -1
View File
@@ -34,7 +34,7 @@ const defaultJobs: JobCategory[] = [
url: "#",
},
{
title: "سازنده محصول رابط کاربری",
title: "توسعه‌دهنده ارشد بک‌اند",
location: "دورکاری",
url: "#",
},
+5 -5
View File
@@ -7,7 +7,7 @@ const jobs = [
title: "مهندس ارشد نرم‌افزار",
category: "مهندسی",
description:
"مسئول توسعه محصولات نرم‌افزاری جدید و موجود خواهید بود.",
"مسئول توسعه و نگهداری سامانه‌های نرم‌افزاری پیشرفته.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۱۲۰ تا ۱۸۰ میلیون تومان",
@@ -16,7 +16,7 @@ const jobs = [
{
title: "مدیر محصول",
category: "مهندسی",
description: "به ما در ساخت نسل بعدی محصولات کمک کنید.",
description: "نسل بعدی محصولات را با تیم طراحی و مهندسی توسعه دهید.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۱۰۰ تا ۱۵۰ میلیون تومان",
@@ -26,7 +26,7 @@ const jobs = [
title: "مهندس تضمین کیفیت",
category: "مهندسی",
description:
"کیفیت محصولات نرم‌افزاری ما را از طریق تست و خودکارسازی تضمین کنید.",
"کیفیت محصولات نرم‌افزاری را از طریق تست و خودکارسازی تضمین کنید.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۸۰ تا ۱۲۰ میلیون تومان",
@@ -46,7 +46,7 @@ const jobs = [
title: "نویسنده محتوا",
category: "بازاریابی",
description:
"محتوای جذاب برای وبلاگ، وب‌سایت و شبکه‌های اجتماعی تولید کنید.",
"محتوای تخصصی برای وبلاگ، وب‌سایت و شبکه‌های اجتماعی تولید کنید.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۵۰ تا ۸۰ میلیون تومان",
@@ -56,7 +56,7 @@ const jobs = [
title: "مدیر شبکه‌های اجتماعی",
category: "بازاریابی",
description:
"حضور ما در شبکه‌های اجتماعی را مدیریت کنید و با مخاطبان در تعامل باشید.",
"استراتژی شبکه‌های اجتماعی را اجرا کنید و با مخاطبان تعامل داشته باشید.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۴۵ تا ۷۵ میلیون تومان",
+5 -5
View File
@@ -21,7 +21,7 @@ const jobs = [
category: "مهندسی",
department: "توسعه محصول",
description:
"مسئول توسعه محصولات نرم‌افزاری جدید و موجود، رهبری ابتکارات فنی و راهنمایی توسعه‌دهندگان تازه‌کار خواهید بود.",
"مسئول توسعه و نگهداری سامانه‌های نرم‌افزاری پیشرفته، رهبری ابتکارات فنی و راهنمایی تیم توسعه.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۱۲۰ تا ۱۸۰ میلیون تومان",
@@ -34,7 +34,7 @@ const jobs = [
category: "محصول",
department: "مدیریت محصول",
description:
"با تعریف استراتژی و نقشه راه محصول و همکاری نزدیک با تیم‌های فنی، به ساخت نسل بعدی محصولات ما کمک کنید.",
"با تعریف استراتژی و نقشه راه محصول و همکاری نزدیک با تیم‌های فنی و طراحی، نسل بعدی محصولات را توسعه دهید.",
location: "تهران",
type: "تمام‌وقت",
salary: "۱۰۰ تا ۱۵۰ میلیون تومان",
@@ -47,7 +47,7 @@ const jobs = [
category: "مهندسی",
department: "تضمین کیفیت",
description:
"کیفیت محصولات نرم‌افزاری ما را از طریق تست جامع، چارچوب‌های خودکارسازی و فرآیندهای بهبود مستمر تضمین کنید.",
"کیفیت محصولات نرم‌افزاری را از طریق تست جامع، خودکارسازی و فرآیندهای بهبود مستمر تضمین کنید.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۸۰ تا ۱۲۰ میلیون تومان",
@@ -60,7 +60,7 @@ const jobs = [
category: "پشتیبانی",
department: "موفقیت مشتری",
description:
"پشتیبانی فنی ممتاز به مشتریان و تیم‌های داخلی ارائه دهید، مشکلات را برطرف کنید و رضایت مشتری را حفظ کنید.",
"پشتیبانی فنی ممتاز به مشتریان و تیم‌های داخلی ارائه دهید و رضایت مشتری را حفظ کنید.",
location: "مشهد",
type: "تمام‌وقت",
salary: "۶۰ تا ۹۰ میلیون تومان",
@@ -73,7 +73,7 @@ const jobs = [
category: "بازاریابی",
department: "بازاریابی محتوا",
description:
"محتوای جذاب و بهینه‌شده برای سئو برای وبلاگ، وب‌سایت و شبکه‌های اجتماعی تولید کنید که ترافیک و تبدیل را افزایش دهد.",
"محتوای تخصصی و بهینه‌شده برای سئو برای وبلاگ، وب‌سایت و شبکه‌های اجتماعی تولید کنید.",
location: "دورکاری",
type: "تمام‌وقت",
salary: "۵۰ تا ۸۰ میلیون تومان",
+6 -6
View File
@@ -20,7 +20,7 @@ const CASE_STUDIES: CaseStudyCard[] = [
logo: "/block-media/shadcnblocks/block/logos/vercel-wordmark-white.svg",
logoAlt: "لوگوی Vercel",
logoClassName: "isolate h-7 w-fit",
title: "ببینید چگونه راهکارهای ما رشد کسب‌وکار را متحول می‌کنند",
title: "افزایش ۴۰٪ نرخ تبدیل با اتوماسیون بازاریابی",
featured: true,
},
{
@@ -31,7 +31,7 @@ const CASE_STUDIES: CaseStudyCard[] = [
logo: "/block-media/shadcnblocks/block/logos/react-wordmark-white.svg",
logoAlt: "لوگوی React",
logoClassName: "isolate h-9 w-fit",
title: "بیاموزید چگونه پلتفرم ما عملکرد کسب‌وکار را ارتقا می‌دهد",
title: "بهبود ۳ برابری بهره‌وری تیم فروش با داشبورد تحلیلی",
},
{
href: "#",
@@ -41,7 +41,7 @@ const CASE_STUDIES: CaseStudyCard[] = [
logo: "/block-media/shadcnblocks/block/logos/shadcn-ui-wordmark-white.svg",
logoAlt: "لوگوی shadcn/ui",
logoClassName: "isolate h-8 w-fit",
title: "کشف کنید چگونه ابزارهای ما کسب‌وکار شما را برای آینده آماده می‌کنند",
title: "کاهش ۵۰٪ هزینه‌های عملیاتی با یکپارچه‌سازی داده‌ها",
},
{
href: "#",
@@ -51,7 +51,7 @@ const CASE_STUDIES: CaseStudyCard[] = [
logo: "/block-media/shadcnblocks/block/logos/tailwind-wordmark-white.svg",
logoAlt: "لوگوی Tailwind CSS",
logoClassName: "isolate h-7 w-fit",
title: "بررسی کنید چگونه خدمات ما به کسب‌وکار شما سود می‌رسانند",
title: "رشد ۲.۵ برابری درآمد سالانه با استراتژی دیجیتال",
},
{
href: "#",
@@ -61,7 +61,7 @@ const CASE_STUDIES: CaseStudyCard[] = [
logo: "/block-media/shadcnblocks/block/logos/nextjs-wordmark-white.svg",
logoAlt: "لوگوی Next.js",
logoClassName: "isolate h-6 w-fit",
title: "ببینید چگونه محصولات ما موفقیت شما در کسب‌وکار را تقویت می‌کنند",
title: "افزایش ۶۰٪ نرخ نگهداشت مشتریان با CRM هوشمند",
featured: true,
},
{
@@ -72,7 +72,7 @@ const CASE_STUDIES: CaseStudyCard[] = [
logo: "/block-media/shadcnblocks/block/logos/supabase-wordmark-white.svg",
logoAlt: "لوگوی Supabase",
logoClassName: "isolate h-8 w-fit",
title: "بیاموزید چگونه خدمات ما موفقیت و رشد کسب‌وکار شما را ارتقا می‌دهند",
title: "اتوماسیون ۷۰٪ فرآیندهای تکراری با راهکارهای سازمانی",
},
];
+8 -8
View File
@@ -23,7 +23,7 @@ const CASE_STUDIES: CaseStudyItem[] = [
image: "/block-media/shadcnblocks/block/placeholder-1.svg",
imageAlt: "مدیر محصول در حال بررسی داشبورد تیمی",
quote:
"این ابزار بهره‌وری نحوه همکاری ما را متحول کرد. جریان کار تیم به‌شکل چشمگیری بهتر شد و زمان جلسات را نصف کردیم، در حالی که خروجی بیشتر شد.",
"با پیاده‌سازی این راهکار، زمان گزارش‌دهی ماهانه از ۲ هفته به ۲ روز کاهش یافت و تیم فروش تمرکز خود را روی فعالیت‌های درآمدزا قرار داد.",
authorName: "محمد رضایی",
authorRole: "مدیر محصول",
companyLogo:
@@ -37,8 +37,8 @@ const CASE_STUDIES: CaseStudyItem[] = [
},
{
value: "۳.۸x",
label: "بهبود بازگشت سرمایه",
description: "در سه‌ماهه اول",
label: "افزایش بازگشت سرمایه",
description: "در سه ماهه نخست",
},
],
},
@@ -46,7 +46,7 @@ const CASE_STUDIES: CaseStudyItem[] = [
image: "/block-media/shadcnblocks/block/placeholder-2.svg",
imageAlt: "مدیر عملیات در جلسه برنامه‌ریزی تیم",
quote:
"رابط کاربری شهودی و متناسب با نیازهای ماست. با آموزش حداقلی در همه بخش‌ها اجرا کردیم و بلافاصله نتیجه گرفتیم.",
"یکپارچگی با ابزارهای موجود سازمان ما بدون نیاز به تغییر فرآیندهای جاری انجام شد و تیم‌ها از همان روز اول بهره‌وری بالاتری را تجربه کردند.",
authorName: "سارا احمدی",
authorRole: "مدیر عملیات",
companyLogo:
@@ -60,8 +60,8 @@ const CASE_STUDIES: CaseStudyItem[] = [
},
{
value: "۷۲٪",
label: "کاهش زمان انجام کار",
description: "در تمام پروژه‌ها",
label: "کاهش زمان تحویل",
description: "در پروژه‌های سازمانی",
},
],
},
@@ -76,9 +76,9 @@ const CaseStudies2 = ({ className }: CaseStudies2Props) => {
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
<div className="container">
<div className="flex flex-col gap-6 text-center">
<p className="font-medium">بیش از ۴۵۰۰ مشتری راضی</p>
<p className="font-medium">بیش از ۴۵۰۰ سازمان در سراسر جهان</p>
<h2 className="text-xl font-medium md:text-2xll">
نتایج واقعی از کاربران واقعی
گزارش موفقیت مشتریان
</h2>
</div>
<div className="mt-20">
+8 -8
View File
@@ -25,8 +25,8 @@ const defaultFeaturedCasestudy: CaseStudyItem = {
logo: "/block-media/shadcnblocks/block/block-1.svg",
company: "Acme",
tags: "هوش مصنوعی / راهکارهای سازمانی",
title: "اتوماسیون جریان کار برای عصر دیجیتال.",
subtitle: "چگونه جریان کار خود را با هوش مصنوعی خودکار کنیم.",
title: "اتوماسیون فرآیندهای سازمانی با هوش مصنوعی",
subtitle: "کاهش ۶۰٪ زمان فعالیت‌های دستی با AI",
image: "/block-media/shadcnblocks/block/placeholder-1.svg",
imageAlt: "نمای داشبورد اتوماسیون جریان کار",
link: "https://ShadcnBlocks",
@@ -37,8 +37,8 @@ const defaultCasestudies: CaseStudyItem[] = [
logo: "/block-media/shadcnblocks/block/block-2.svg",
company: "Super",
tags: "مهاجرت داده / راهکارهای نرم‌افزاری",
title: "مهاجرت داده را با هوش مصنوعی تقویت کنید.",
subtitle: "پلتفرمی برای مهاجرت داده به سمت آینده‌ای مبتنی بر داده.",
title: "انتقال امن داده‌ها با حفظ یکپارچگی اطلاعات",
subtitle: "مهاجرت بدون اختلال از زیرساخت قدیمی به ابر",
image: "",
link: "https://ShadcnBlocks",
},
@@ -46,8 +46,8 @@ const defaultCasestudies: CaseStudyItem[] = [
logo: "/block-media/shadcnblocks/block/block-3.svg",
company: "Advent",
tags: "هوش مصنوعی / راهکارهای داده",
title: "هوش مصنوعی راهبردی برای کسب‌وکاری آینده‌نگر.",
subtitle: "تسلط بر هوش مصنوعی برای عملیات کارآمدتر.",
title: "تحلیل پیش‌بینانه برای تصمیم‌گیری هوشمند",
subtitle: "پیش‌بینی روندهای بازار با دقت ۹۲٪",
image: "",
link: "https://ShadcnBlocks",
},
@@ -55,7 +55,7 @@ const defaultCasestudies: CaseStudyItem[] = [
const CaseStudyLink = () => (
<div className="flex items-center gap-2 font-medium">
مطالعه مورد
مشاهده گزارش موفقیت
<MoveRight className="h-4 w-4 transition-transform duration-500 ease-out group-hover:translate-x-1 rtl:rotate-180 rtl:group-hover:-translate-x-1" />
</div>
);
@@ -103,7 +103,7 @@ const CaseStudies3 = ({
src={featuredCasestudy.image}
alt={
featuredCasestudy.imageAlt ??
`تصویر مطالعه مورد ${featuredCasestudy.company}`
`تصویر مطالعه موردی ${featuredCasestudy.company}`
}
className="aspect-14/9 h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-105"
/>
+3 -3
View File
@@ -28,9 +28,9 @@ const CUSTOMER_DATA = {
image: "/block-media/shadcnblocks/block/avatar-1.webp",
role: "مدیر فناوری، Monzo",
},
title: "چگونه جریان ورود کاربر را بهینه کردیم تا فعال‌سازی کاربران سه‌برابر شود",
title: "بهینه‌سازی جریان ورود کاربر و سه‌برابر شدن فعال‌سازی",
summary:
"بیاموزید چگونه تجربه ورود کاربر به محصول را با ابزار داخلی خود بازطراحی کردیم و زمان دستیابی به ارزش را بیش از ۶۰٪ کاهش دادیم.",
"نحوه بازطراحی تجربه ورود کاربر به محصول با ابزار داخلی و کاهش بیش از ۶۰٪ زمان دستیابی به ارزش",
link: "#",
};
@@ -99,7 +99,7 @@ const CaseStudies4 = ({ className }: CaseStudies4Props) => {
<div className="shrink-0">
<Button asChild variant="outline" size="sm">
<a href={CUSTOMER_DATA.link}>
مشاهده مطالعه موردی
مشاهده گزارش موفقیت
<ArrowRight className="rtl:rotate-180" />
</a>
</Button>
+63 -156
View File
@@ -1,9 +1,7 @@
"use client";
import { AnimatePresence, motion } from "framer-motion";
import React, { useState } from "react";
import type { CarouselApi } from "@/components/ui/carousel";
import {
Carousel,
CarouselContent,
@@ -17,70 +15,49 @@ const SLIDES = [
{
name: "کاوه مرادی",
content:
"Laravel نحوه ساخت اپلیکیشن‌های وب ما را کاملاً متحول کرد. نحو زیبا، قابلیت‌های قدرتمند و مستندات عالی، توسعه را لذت‌بخش کرده است.",
logo: "/block-media/shadcnblocks/block/logos/laravel-wordmark.svg",
"معماری مدرن و قابلیت‌های پیشرفته این پلتفرم، زمان توسعه API‌های سازمانی ما را ۴۰٪ کاهش داد و کیفیت کد را به‌طور قابل‌توجهی ارتقا بخشید.",
logo: "/block-media/shadcnblocks/block/logos/tailwind-wordmark-black.svg",
logoAlt: "لوگوی Laravel",
logoClass: "h-10 md:h-12",
imageAlt: "نمونه کار توسعه وب با Laravel",
images: [
{
src: "/block-media/shadcnblocks/block/photos/fabian-centeno-njeVb6E3XB8-unsplash.jpg",
position: 2,
},
{
src: "/block-media/shadcnblocks/block/photos/israel-andrade-YI_9SivVt_s-unsplash.jpg",
position: 4,
},
{
src: "/block-media/shadcnblocks/block/photos/studio-kealaula-IVZ_XAoZF3s-unsplash.jpg",
position: 7,
},
{ src: "/block-media/shadcnblocks/block/photos/alvin-engler-bIhpiQA009k-unsplash.jpg", position: 0 },
{ src: "/block-media/shadcnblocks/block/photos/fabian-centeno-njeVb6E3XB8-unsplash.jpg", position: 2 },
{ src: "/block-media/shadcnblocks/block/photos/nastuh-abootalebi-yWwob8kwOCk-unsplash.jpg", position: 5 },
{ src: "/block-media/shadcnblocks/block/photos/michel-isamuna-kL-EAXnMAp0-unsplash.jpg", position: 3 },
{ src: "/block-media/shadcnblocks/block/photos/tirza-van-dijk-o1SKqmgSDbg-unsplash.jpg", position: 1 },
{ src: "/block-media/shadcnblocks/block/photos/studio-kealaula-IVZ_XAoZF3s-unsplash.jpg", position: 6 },
{ src: "/block-media/shadcnblocks/block/photos/annie-spratt-hCb3lIB8L8E-unsplash.jpg", position: 4 },
{ src: "/block-media/shadcnblocks/block/photos/stephen-dawson-qwtCeJ5cLYs-unsplash.jpg", position: 7 },
{ src: "/block-media/shadcnblocks/block/photos/vitaly-gariev-y7xUr3aDLXc-unsplash.jpg", position: 8 },
],
},
{
name: "مهسا نوری",
content:
"همکاری با این تیم کسب‌وکار ما را کاملاً متحول کرد. توجه به جزئیات و راهکارهای نوآورانه آن‌ها باعث شد در تنها شش ماه، درآمدمان ۴۰٪ افزایش یابد.",
logo: "/block-media/shadcnblocks/block/logos/tailwind-wordmark.svg",
"پیاده‌سازی استراتژی دیجیتال مارکتینگ به‌صورت داده‌محور، نرخ تبدیل ما را در ۶ ماه ۴۰٪ افزایش داد و هزینه جذب مشتری ۳۵٪ کاهش یافت.",
logo: "/block-media/shadcnblocks/block/logos/tailwind-wordmark-black.svg",
logoAlt: "لوگوی Tailwind CSS",
logoClass: "h-6 md:h-8",
imageAlt: "نمونه کار طراحی رابط کاربری",
images: [
{
src: "/block-media/shadcnblocks/block/photos/annie-spratt-AkftcHujUmk-unsplash.jpg",
position: 1,
},
{
src: "/block-media/shadcnblocks/block/photos/nastuh-abootalebi-yWwob8kwOCk-unsplash.jpg",
position: 3,
},
{
src: "/block-media/shadcnblocks/block/photos/alvin-engler-bIhpiQA009k-unsplash.jpg",
position: 5,
},
{ src: "/block-media/shadcnblocks/block/photos/annie-spratt-AkftcHujUmk-unsplash.jpg", position: 1 },
{ src: "/block-media/shadcnblocks/block/photos/nastuh-abootalebi-yWwob8kwOCk-unsplash.jpg", position: 3 },
{ src: "/block-media/shadcnblocks/block/photos/alvin-engler-bIhpiQA009k-unsplash.jpg", position: 5 },
],
},
{
name: "امیر محمدی",
content:
"این محصول فراتر از تمام انتظارات ما بود. شهودی، قدرتمند و دقیقاً همان چیزی که برای ساده‌سازی فرآیندهایمان نیاز داشتیم. برای هر کسب‌وکاری توصیه می‌شود.",
"داشبورد تحلیلی یکپارچه با ارائه بینش‌های بلادرنگ، به تیم مدیریتی امکان تصمیم‌گیری سریع‌تر و دقیق‌تر را داد و هماهنگی بین واحدها را بهبود بخشید.",
logo: "/block-media/shadcnblocks/block/logos/vercel-wordmark.svg",
logoAlt: "لوگوی Vercel",
logoClass: "h-6 md:h-8",
imageAlt: "نمونه کار استقرار و زیرساخت ابری",
images: [
{
src: "/block-media/shadcnblocks/block/photos/redd-f-5U_28ojjgms-unsplash.jpg",
position: 0,
},
{
src: "/block-media/shadcnblocks/block/photos/nubelson-fernandes-tAJYoec13xk-unsplash.jpg",
position: 4,
},
{
src: "/block-media/shadcnblocks/block/photos/nubelson-fernandes-xxa7qYObMrI-unsplash.jpg",
position: 7,
},
{ src: "/block-media/shadcnblocks/block/photos/redd-f-5U_28ojjgms-unsplash.jpg", position: 0 },
{ src: "/block-media/shadcnblocks/block/photos/nubelson-fernandes-tAJYoec13xk-unsplash.jpg", position: 4 },
{ src: "/block-media/shadcnblocks/block/photos/nubelson-fernandes-xxa7qYObMrI-unsplash.jpg", position: 7 },
],
},
];
@@ -90,127 +67,57 @@ interface CaseStudies5Props {
}
const CaseStudies5 = ({ className }: CaseStudies5Props) => {
const [currentIndex, setCurrentIndex] = useState(0);
const [carouselApi, setCarouselApi] = useState<CarouselApi>();
React.useEffect(() => {
if (!carouselApi) {
return;
}
const onSelect = () => {
setCurrentIndex(carouselApi.selectedScrollSnap());
};
carouselApi.on("select", onSelect);
return () => {
carouselApi.off("select", onSelect);
};
}, [carouselApi]);
const renderGrid = (
images: (typeof SLIDES)[0]["images"],
imageAlt: string,
) => {
return (
<div className="grid h-full w-full grid-cols-3 grid-rows-3 gap-3 p-3">
{Array.from({ length: 9 }).map((_, index) => {
const image = images.find((img) => img.position === index);
const isImage = Boolean(image);
return (
<div
key={index}
className={cn(
"w-full overflow-hidden rounded-lg",
!isImage && "bg-muted",
)}
>
{isImage && image?.src && (
<img
src={image.src}
alt={imageAlt}
className="aspect-square h-full w-full object-cover md:aspect-video"
loading={index === 0 ? "eager" : "lazy"}
/>
)}
</div>
);
})}
</div>
);
};
return (
<section
dir="rtl"
lang="fa"
className={cn("bg-background py-32", className)}
>
<div className="relative container">
<div className="mx-auto w-full overflow-hidden rounded-lg md:border">
<Carousel setApi={setCarouselApi}>
<div className="grid grid-cols-1 md:grid-cols-2">
<div className="relative">
<CarouselContent>
{SLIDES.map((testimonial, index) => (
<CarouselItem key={index}>
<div className="relative flex items-center justify-center overflow-hidden md:h-[500px]">
{renderGrid(testimonial.images, testimonial.imageAlt)}
</div>
</CarouselItem>
))}
</CarouselContent>
</div>
<div className="z-2 flex h-full items-center p-4 md:p-10">
<div className="flex flex-col gap-y-6 md:gap-y-8">
<AnimatePresence mode="wait">
<motion.div
key={currentIndex}
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -20 }}
transition={{
duration: 0.4,
ease: "easeOut",
}}
className="flex h-12 items-center gap-3"
>
<img
src={SLIDES[currentIndex].logo}
alt={SLIDES[currentIndex].logoAlt}
className={SLIDES[currentIndex].logoClass}
/>
</motion.div>
</AnimatePresence>
<AnimatePresence mode="wait">
<motion.p
key={currentIndex}
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -20 }}
transition={{
duration: 0.4,
ease: "easeOut",
delay: 0.15,
}}
className="min-h-[100px] text-start leading-snug tracking-tight text-muted-foreground sm:text-xl xl:ms-8"
>
{SLIDES[currentIndex].content}
</motion.p>
</AnimatePresence>
<div className="flex h-12 gap-4">
<CarouselPrevious className="static translate-y-0 rtl:rotate-180" />
<CarouselNext className="static translate-y-0 rtl:rotate-180" />
<div className="container">
<Carousel className="w-full">
<CarouselContent>
{SLIDES.map((slide, index) => (
<CarouselItem key={index}>
<div className="flex flex-col md:flex-row">
<div className="w-full md:w-1/2 p-4">
<div className="grid h-[400px] grid-cols-3 grid-rows-3 gap-1">
{Array.from({ length: 9 }).map((_, idx) => {
const image = slide.images.find((img) => img.position === idx);
return (
<div
key={idx}
className="overflow-hidden rounded-md bg-muted"
>
{image && (
<img
src={image.src}
alt={slide.imageAlt}
className="h-full w-full object-cover"
/>
)}
</div>
);
})}
</div>
</div>
<div className="flex w-full flex-col justify-center p-8 md:w-1/2">
<img
src={slide.logo}
alt={slide.logoAlt}
className={cn("mb-6", slide.logoClass)}
/>
<p className="mb-6 leading-relaxed text-muted-foreground">
{slide.content}
</p>
<p className="font-medium">{slide.name}</p>
</div>
</div>
</div>
</div>
</Carousel>
</div>
</CarouselItem>
))}
</CarouselContent>
<CarouselPrevious className="mr-4 rtl:rotate-180" />
<CarouselNext className="rtl:rotate-180" />
</Carousel>
</div>
</section>
);
+9 -9
View File
@@ -48,7 +48,7 @@ const CaseStudy1 = ({ className }: CaseStudy1Props) => {
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="#">مطالعات مورد</BreadcrumbLink>
<BreadcrumbLink href="#">گزارش‌های موفقیت</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
@@ -61,13 +61,13 @@ const CaseStudy1 = ({ className }: CaseStudy1Props) => {
<div className="max lg:col-span-2">
<div>
<h1 className="text-start text-3xl font-extrabold text-pretty">
افزایش ۱۲۵ درصدی پایداری سیستم با پایش هوش مصنوعی
گزارش موفقیت: افزایش ۱۲۵٪ پایداری زیرساخت با پایش هوشمند
</h1>
<p className="mt-2 text-start text-lg text-muted-foreground">
یک شرکت فناوری بزرگ با چالش‌های مکرر در پایداری زیرساخت
مواجه بود. با استقرار سامانه پایش مبتنی بر هوش مصنوعی، زمان
تشخیص و رفع خطا به‌شکل چشمگیری کاهش یافت و پایداری سرویس
متحول شد.
به‌طور قابل‌توجهی بهبود یافت.
</p>
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
@@ -91,7 +91,7 @@ const CaseStudy1 = ({ className }: CaseStudy1Props) => {
</div>
</div>
<div className="prose mb-8 max-w-full text-start lg:max-w-prose dark:prose-invert">
<h2>چگونه سامانه پایش کار می‌کند</h2>
<h2>نحوه عملکرد سامانه پایش</h2>
<p>
سامانه با جمع‌آوری داده‌های بلادرنگ از سرورها، پایگاه‌های
داده و سرویس‌های ابری، الگوهای رفتاری عادی را یاد می‌گیرد.
@@ -108,7 +108,7 @@ const CaseStudy1 = ({ className }: CaseStudy1Props) => {
</AlertDescription>
</Alert>
<h2>چالش‌های قبل از استقرار</h2>
<h2>چالش‌های پیش از استقرار</h2>
<p>
پیش از استقرار، تیم عملیات به پایش دستی و هشدارهای پراکنده
متکی بود. زمان متوسط تشخیص خطا بیش از چهار ساعت بود و هر
@@ -144,7 +144,7 @@ const CaseStudy1 = ({ className }: CaseStudy1Props) => {
یافت.
</p>
<h2>راهکار پیاده‌سازی‌شده</h2>
<h2>راهکار پیاده‌سازی شده</h2>
<p>
تیم فنی پس از بررسی دقیق،{" "}
<a href="#">معماری پایش چندلایه</a> را طراحی و در سراسر
@@ -178,9 +178,9 @@ const CaseStudy1 = ({ className }: CaseStudy1Props) => {
/>
<p className="mb-1.5 text-sm font-semibold">نمای کلی</p>
<p className="mb-5 text-sm text-muted-foreground">
مشتری ما با پیاده‌سازی راهکار پایش هوشمند، عملیات کسب‌وکار خود
را متحول کرد؛ کارایی بهبود یافت، تجربه مشتری ارتقا پیدا کرد و
هزینه‌های عملیاتی در سراسر سازمان به‌طور قابل‌توجهی کاهش یافت.
این شرکت فناوری با پیاده‌سازی راهکار پایش هوشمند، عملیات کسب‌وکار خود
را بهبود بخشید؛ کارایی افزایش یافت، تجربه مشتری ارتقا پیدا کرد و
هزینه‌های عملیاتی به‌طور قابل‌توجهی کاهش یافت.
</p>
<p className="mb-1.5 text-sm font-semibold">حوزه</p>
<p className="mb-5 text-sm text-muted-foreground">فناوری</p>
+8 -8
View File
@@ -18,16 +18,16 @@ import { Separator } from "@/components/ui/separator";
import { cn } from "@/lib/utils";
const PAGE_SECTIONS = [
{ id: "section1", title: "ارزیابی وضع موجود" },
{ id: "section1", title: "ارزیابی وضعیت فعلی" },
{ id: "section2", title: "طراحی جریان کار جدید" },
{ id: "section3", title: "استقرار و آموزش تیم" },
{ id: "section4", title: "نتایج و درس‌آموخته‌ها" },
{ id: "section4", title: "نتایج و دستاوردها" },
];
const OUTCOMES = [
"سامانه‌ای یکپارچه برای افزایش سرعت رشد کسب‌وکار",
"سامانه ارتباط با مشتری و فروش منعطف با قابلیت یکپارچه‌سازی با ابزارهای سازمانی",
"راهکاری مقیاس‌پذیر که همراه با رشد سازمان توسعه می‌یابد",
"داشبورد یکپارچه برای نمایش بلادرنگ شاخص‌های کلیدی عملکرد",
"سیستم مدیریت ارتباط با مشتری با قابلیت یکپارچه‌سازی با ابزارهای سازمانی",
"راهکار مقیاس‌پذیر با قابلیت توسعه همزمان با رشد سازمان",
];
interface CaseStudy3Props {
@@ -89,7 +89,7 @@ const CaseStudy3 = ({ className }: CaseStudy3Props) => {
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="#">مطالعات مورد</BreadcrumbLink>
<BreadcrumbLink href="#">گزارش‌های موفقیت</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
@@ -232,7 +232,7 @@ const CaseStudy3 = ({ className }: CaseStudy3Props) => {
ref={(ref) => addSectionRef("section1", ref)}
className="prose mb-8 text-start dark:prose-invert"
>
<h2>ارزیابی وضع موجود</h2>
<h2>ارزیابی وضعیت فعلی</h2>
<p>
تیم پس از بررسی دقیق فرآیندهای داخلی، دریافت که ابزارهای
پراکنده و نبود یک منبع واحد حقیقت، بزرگ‌ترین مانع
@@ -285,7 +285,7 @@ const CaseStudy3 = ({ className }: CaseStudy3Props) => {
ref={(ref) => addSectionRef("section4", ref)}
className="prose mb-8 text-start dark:prose-invert"
>
<h2>نتایج و درس‌آموخته‌ها</h2>
<h2>نتایج و دستاوردها</h2>
<p>
شش ماه پس از اجرای پروژه، شاخص‌های بهره‌وری، سرعت تصمیم‌گیری و همکاری میان تیم‌ها رشد محسوسی را تجربه کردند.
</p>
+1 -1
View File
@@ -26,7 +26,7 @@ const SIDEBAR_INFO = [
label: "وب‌سایت",
value: (
<a href="#" className="underline hover:text-foreground">
نمونه.ایران
example.ir
</a>
),
bordered: false,
+9 -9
View File
@@ -28,15 +28,15 @@ export const defaultEntries: ChangelogEntry[] = [
{
version: "نسخه ۱۳.۰",
date: "۲۵ آبان ۱۴۰۳",
title: "داشبورد تحلیلی پیشرفته",
title: "داشبورد فروش پیشرفته",
description:
"داشبورد تحلیلی بازطراحی شده است تا با گزارش‌های دقیق‌تر، نمودارهای تعاملی و شاخص‌های کلیدی، تصمیم‌گیری را ساده‌تر کند.",
"داشبورد فروش بازطراحی شد تا تبدیل قیف، نمودار تعاملی و KPI تیم در یک نما تصمیم‌گیری را سریع‌تر کند.",
items: [
"نمودارهای تعاملی با به‌روزرسانی لحظه‌ای",
"ویجت‌های قابل سفارشی‌سازی برای داشبورد",
"خروجی گرفتن از تحلیل‌ها در قالب‌های جدول، پی‌دی‌اف و Excel",
"قالب‌های گزارش‌دهی جدید برای کاربردهای رایج",
"گزینه‌های بهبودیافته فیلتر و دسته‌بندی داده",
"نمودار تبدیل با به‌روزرسانی نزدیک به لحظه",
"ویجت‌های قابل تنظیم برای داشبورد فروش",
"خروجی گزارش فروش در قالب جدول، PDF و Excel",
"قالب گزارش هفته‌ای و ماهانه برای مدیران فروش",
"فیلتر بهتر بر اساس مرحله قیف، مالک و منبع",
],
image:
"/block-media/shadcnblocks/block/placeholder-aspect-video-1.svg",
@@ -89,8 +89,8 @@ export const defaultEntries: ChangelogEntry[] = [
];
const Changelog1 = ({
title = "تاریخچه تغییرات",
description = "جدیدترین به‌روزرسانی‌ها و بهبودهای پلتفرم ما را دنبال کنید.",
title = "تاریخچه نسخه‌ها",
description = "به‌روزرسانی‌های پلتفرم فروش و CRM را دنبال کنید.",
entries = defaultEntries,
className,
}: Changelog1Props) => {
+10 -10
View File
@@ -15,7 +15,7 @@ const Changelog2 = ({ className }: Changelog2Props) => {
<div className="container">
<div className="text-center">
<h1 className="mb-6 text-2xll font-semibold md:text-2xll">
تاریخچه تغییرات
تاریخچه نسخه‌ها
<sup>
<Badge className="ms-2 bg-emerald-400 hover:bg-emerald-400">
جدید
@@ -23,14 +23,14 @@ const Changelog2 = ({ className }: Changelog2Props) => {
</sup>
</h1>
<p className="mx-auto max-w-lg text-lg">
جدیدترین قابلیت‌ها، بهبودها و رفع اشکال‌ها را در این بخش دنبال کنید.
قابلیت‌های تازه، بهبود عملکرد و رفع مشکل‌های پلتفرم فروش را اینجا دنبال کنید.
</p>
<div className="mx-auto mt-10 flex w-full max-w-xs items-center gap-2">
<Input
type="email"
placeholder="ایمیل خود را برای دریافت آخرین تغییرات وارد کنید"
placeholder="ایمیل برای خبرنامه نسخه"
/>
<Button type="submit" aria-label="عضویت در خبرنامه">
<Button type="submit" aria-label="عضویت در خبرنامه محصول">
<ArrowRight className="size-4 rtl:rotate-180" />
</Button>
</div>
@@ -43,12 +43,12 @@ const Changelog2 = ({ className }: Changelog2Props) => {
</p>
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="گزینه‌های خروجی بهتر"
alt="خروجی گزارش قوی‌تر"
className="my-4 aspect-8/7 rounded-md object-cover"
/>
<h2 className="mb-2 text-3xl font-semibold">گزینه‌های خروجی بهتر</h2>
<h2 className="mb-2 text-3xl font-semibold">خروجی گزارش قوی‌تر</h2>
<p className="prose text-primary/80 dark:prose-invert">
<a href="#">کامپوننت‌ها</a> و{" "}
<a href="#">ماژول‌ها</a> و{" "}
<a href="#">تحلیل‌ها</a> را توسعه داده‌ایم تا بتوانید عملکرد محصول، رفتار کاربران و شاخص‌های کلیدی را دقیق‌تر تحلیل کنید.
<br />
<br />
@@ -62,14 +62,14 @@ const Changelog2 = ({ className }: Changelog2Props) => {
</p>
<img
src="/block-media/shadcnblocks/block/placeholder-2.svg"
alt="داشبورد و تحلیل‌های جدید"
alt="داشبورد و تحلیل فروش جدید"
className="my-4 aspect-8/7 rounded-md object-cover"
/>
<h2 className="mb-2 text-3xl font-semibold">
داشبورد و تحلیل‌های جدید
داشبورد و تحلیل فروش جدید
</h2>
<p className="prose text-primary/80 dark:prose-invert">
<a href="#">کامپوننت‌ها</a> و{" "}
<a href="#">ماژول‌ها</a> و{" "}
<a href="#">تحلیل‌ها</a> را توسعه داده‌ایم تا بتوانید عملکرد محصول، رفتار کاربران و شاخص‌های کلیدی را دقیق‌تر تحلیل کنید.
<br />
<br />
+4 -4
View File
@@ -36,7 +36,7 @@ const Changelog3 = ({ className }: Changelog3Props) => {
</div>
</div>
<div className="prose mt-6 dark:prose-invert">
<h2>داشبورد و تحلیل‌های جدید</h2>
<h2>داشبورد و تحلیل فروش جدید</h2>
<p>
بخش تحلیل و داشبورد مدیریتی بازطراحی شده تا اطلاعات دقیق‌تری از وضعیت محصول و کاربران در اختیار شما قرار دهد.
<br />
@@ -58,7 +58,7 @@ const Changelog3 = ({ className }: Changelog3Props) => {
</p>
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="داشبورد و تحلیل‌های جدید"
alt="داشبورد و تحلیل فروش جدید"
className="my-4 aspect-video rounded-lg border border-border object-cover"
/>
</div>
@@ -91,7 +91,7 @@ const Changelog3 = ({ className }: Changelog3Props) => {
</div>
</div>
<div className="prose mt-6 dark:prose-invert">
<h2>ویژگی‌های امنیتی پیشرفته</h2>
<h2>امنیت سازمانی پیشرفته</h2>
<p>
زیرساخت امنیتی بازطراحی شده است تا حفاظت از داده‌ها، احراز هویت و کنترل دسترسی با استانداردهای روز انجام شود. همانند سایر
<a href="#" className="mx-1 underline">
@@ -111,7 +111,7 @@ const Changelog3 = ({ className }: Changelog3Props) => {
</p>
<img
src="/block-media/shadcnblocks/block/placeholder-2.svg"
alt="ویژگی‌های امنیتی پیشرفته"
alt="امنیت سازمانی پیشرفته"
className="my-4 aspect-video rounded-lg border border-border object-cover"
/>
</div>
+6 -6
View File
@@ -30,7 +30,7 @@ const Changelog4 = ({ className }: Changelog4Props) => {
<div className="container">
<div className="mx-auto w-full max-w-5xl md:px-10">
<div className="flex flex-col gap-16">
<h1 className="text-2xll font-bold">تاریخچه تغییرات</h1>
<h1 className="text-2xll font-bold">تاریخچه نسخه‌ها</h1>
<div className="mx-auto flex w-full items-center justify-center gap-2 rounded-2xl bg-muted p-3 md:gap-4">
<a href="#" aria-label="لینکدین">
<FaLinkedin className="size-6 text-muted-foreground duration-150 hover:text-primary" />
@@ -42,7 +42,7 @@ const Changelog4 = ({ className }: Changelog4Props) => {
<FaBluesky className="size-6 text-muted-foreground duration-150 hover:text-primary" />
</a>
<p className="text-sm text-muted-foreground">
برای اطلاع از نسخه‌های جدید و قابلیت‌های تازه، ما را دنبال کنید.
برای خبر نسخه و قابلیت تازه، ما را دنبال کنید.
</p>
</div>
<div className="relative space-y-20">
@@ -62,7 +62,7 @@ const Changelog4 = ({ className }: Changelog4Props) => {
</span>
<img
src="/block-media/shadcnblocks/block/placeholder-1.svg"
alt="به‌روزرسانی‌های فناوری و بهبود عملکرد"
alt="به‌روزرسانی زیرساخت و عملکرد"
className="aspect-video rounded-md border border-border object-cover"
/>
<div className="my-4 flex items-center gap-2">
@@ -78,7 +78,7 @@ const Changelog4 = ({ className }: Changelog4Props) => {
</div>
<div className="prose max-w-none dark:prose-invert">
<h2 className="text-xl">
به‌روزرسانی‌های بزرگ فناوری و بهبود عملکرد
ارتقای زیرساخت و بهبود سرعت پلتفرم
</h2>
<p>
پشته فناوری خود را ارتقا دادیم تا از{" "}
@@ -122,7 +122,7 @@ const Changelog4 = ({ className }: Changelog4Props) => {
</span>
<img
src="/block-media/shadcnblocks/block/placeholder-2.svg"
alt="به‌روزرسانی‌های زیرساخت و امنیت"
alt="به‌روزرسانی زیرساخت و امنیت داده"
className="aspect-video rounded-md border border-border object-cover"
/>
<div className="my-4 flex items-center gap-2">
@@ -138,7 +138,7 @@ const Changelog4 = ({ className }: Changelog4Props) => {
</div>
<div className="prose max-w-none dark:prose-invert">
<h2 className="text-xl">
به‌روزرسانی‌های زیرساخت و امنیت
به‌روزرسانی زیرساخت و امنیت داده
</h2>
<p>
بهبودهای قابل توجهی در زیرساخت و امنیت اعمال کردیم تا
+2 -2
View File
@@ -9,7 +9,7 @@ import { cn } from "@/lib/utils";
const changelogs = [
{
title: "معرفی Pixiol Cloud Storage",
title: "معرفی فضای فایل فضای کاری",
category: "ویژگی جدید",
date: "۱ فروردین ۱۴۰۴",
author: "سارا احمدی",
@@ -165,7 +165,7 @@ const Changelog5 = ({ className }: Changelog5Props) => {
<div className="flex flex-col items-start gap-4 lg:flex-row">
<span className="flex w-[16%] items-center gap-3 pt-1 text-sm">
<span className="size-2 shrink-0 rounded-full bg-primary" />
تاریخچه تغییرات
تاریخچه نسخه‌ها
</span>
<div>
<h2 className="text-xl">
+3 -3
View File
@@ -19,7 +19,7 @@ import { cn } from "@/lib/utils";
const changes = [
{
title: "نسخه ۳.۰.۰: بازطراحی رابط کاربری و یکپارچه‌سازی‌های جدید",
title: "نسخه ۳.۰.۰: بازطراحی رابط فروش و یکپارچه‌سازی‌های جدید",
date: "۲۵ اردیبهشت ۱۴۰۴",
image:
"/block-media/shadcnblocks/block/placeholder-2.svg",
@@ -49,7 +49,7 @@ const changes = [
امکان اتصال مستقیم به سرویس‌های پرکاربرد برای خودکارسازی فرایندها و کاهش جابه‌جایی بین ابزارها فراهم شده است.
</p>
<blockquote>
«سادگی، نهایتِ تعالی است.» لئوناردو داوینچی
این تغییرات با هدف افزایش سرعت انجام کارها و بهبود تجربه کاربران ارائه شده‌اند.
</blockquote>
<p>
این تغییرات با هدف افزایش سرعت انجام کارها و بهبود تجربه کاربران ارائه شده‌اند.
@@ -176,7 +176,7 @@ const Changelog6 = ({ className }: Changelog6Props) => {
<div className="relative flex flex-col gap-3 py-8">
<div className="flex items-center gap-2">
<GitPullRequest className="size-4" />
<p className="text-sm font-medium">تاریخچه تغییرات</p>
<p className="text-sm font-medium">تاریخچه نسخه‌ها</p>
</div>
<h1 className="text-3xl font-medium lg:text-xl">
جدیدترین بهبودها
+10 -10
View File
@@ -24,8 +24,8 @@ export interface Changelog8Props {
}
const Changelog8 = ({
title = "تاریخچه تغییرات",
description = "جدیدترین به‌روزرسانی‌ها و بهبودهای پلتفرم ما را دنبال کنید.",
title = "تاریخچه نسخه‌ها",
description = "به‌روزرسانی‌های پلتفرم فروش و CRM را دنبال کنید.",
entries = defaultChangelogData,
className,
}: Changelog8Props) => {
@@ -136,7 +136,7 @@ const Changelog8 = ({
<div className="flex-1 lg:ps-10">
<div className="mb-10 hidden lg:block">
<h2 className="text-xl font-semibold">آخرین به‌روزرسانی‌ها</h2>
<h2 className="text-xl font-semibold">آخرین انتشارها</h2>
</div>
<div className="space-y-16 md:space-y-24">
{entries.map((entry, index) => (
@@ -204,15 +204,15 @@ export const defaultChangelogData: ChangelogEntry[] = [
{
version: "نسخه ۱۳.۰",
date: "۲۵ آبان ۱۴۰۳",
title: "داشبورد تحلیلی پیشرفته",
title: "داشبورد فروش پیشرفته",
description:
"داشبورد تحلیلی ما را از نو طراحی کردیم تا بینش عمیق‌تر و نمایش بهتری از داده‌های شما ارائه دهد.",
"داشبورد فروش را از نو طراحی کردیم تا وضعیت قیف و عملکرد تیم شفاف‌تر دیده شود.",
items: [
"نمودارهای تعاملی با به‌روزرسانی لحظه‌ای",
"ویجت‌های قابل سفارشی‌سازی برای داشبورد",
"خروجی گرفتن از تحلیل‌ها در قالب‌های جدول، پی‌دی‌اف و Excel",
"قالب‌های گزارش‌دهی جدید برای کاربردهای رایج",
"گزینه‌های بهبودیافته فیلتر و دسته‌بندی داده",
"نمودار تبدیل با به‌روزرسانی نزدیک به لحظه",
"ویجت‌های قابل تنظیم برای داشبورد فروش",
"خروجی گزارش فروش در قالب جدول، PDF و Excel",
"قالب گزارش هفته‌ای و ماهانه برای مدیران فروش",
"فیلتر بهتر بر اساس مرحله قیف، مالک و منبع",
],
image:
"/block-media/shadcnblocks/block/placeholder-aspect-video-1.svg",
+3 -3
View File
@@ -743,7 +743,7 @@ const PaymentFieldsByMethod = ({ method }: { method: PaymentMethod }) => {
className="text-sm font-normal"
htmlFor="checkout-payment-cardholderName"
>
نام دارنده کارت
نام روی کارت
</FieldLabel>
<Input
{...field}
@@ -1003,7 +1003,7 @@ const Cart = ({ cartItems, form }: CartProps) => {
<p className="text-sm">بدون هزینه</p>
</div>
<div className="flex justify-between gap-3">
<p className="text-sm">مالیات و عوارض</p>
<p className="text-sm">مالیات بر ارزش افزوده و عوارض</p>
<p className="text-sm tabular-nums">
{formatPrice(35.8, cartItems[0].price.currency)}
</p>
@@ -1011,7 +1011,7 @@ const Cart = ({ cartItems, form }: CartProps) => {
</div>
<div className="py-7">
<div className="flex justify-between gap-3">
<p className="text-lg leading-tight font-medium">جمع کل</p>
<p className="text-lg leading-tight font-medium">مبلغ قابل پرداخت</p>
<span className="text-xl font-medium tabular-nums">
{formatPrice(totalPrice ?? 0, cartItems[0].price.currency)}
</span>
+3 -3
View File
@@ -664,7 +664,7 @@ const PaymentFieldsByMethod = ({ method }: { method: PaymentMethod }) => {
className="text-sm font-normal"
htmlFor="checkout-payment-cardholderName"
>
نام دارنده کارت
نام روی کارت
</FieldLabel>
<Input
{...field}
@@ -923,7 +923,7 @@ const Cart = ({ cartItems, form }: CartProps) => {
<span>پس از انتخاب روش ارسال محاسبه می‌شود</span>
</div>
<div className="flex justify-between text-sm">
<span className="text-muted-foreground">مالیات و عوارض</span>
<span className="text-muted-foreground">مالیات بر ارزش افزوده و عوارض</span>
<span className="tabular-nums">
{formatPrice(35.8, cartItems[0]?.price.currency)}
</span>
@@ -931,7 +931,7 @@ const Cart = ({ cartItems, form }: CartProps) => {
</div>
<div className="flex justify-between border-t pt-4">
<span className="text-lg font-semibold">جمع کل</span>
<span className="text-lg font-semibold">مبلغ قابل پرداخت</span>
<span className="text-lg font-semibold tabular-nums">
{formatPrice(totalPrice ?? 0, cartItems[0]?.price.currency)}
</span>
+2 -2
View File
@@ -389,7 +389,7 @@ const CollapsibleCart = ({ cartItems, form }: CartProps) => {
<Separator />
<div className="flex justify-between font-medium">
<span>جمع کل</span>
<span>مبلغ قابل پرداخت</span>
<span className="tabular-nums">
{formatPrice(totalPrice ?? 0, cartItems[0]?.price.currency)}
</span>
@@ -865,7 +865,7 @@ const PaymentFieldsByMethod = ({ method }: { method: PaymentMethod }) => {
className="text-sm font-normal"
htmlFor="checkout-payment-cardholderName"
>
نام دارنده کارت
نام روی کارت
</FieldLabel>
<Input
{...field}
+5 -5
View File
@@ -196,7 +196,7 @@ const Checkout4 = ({ cartItems = CART_ITEMS, className }: Checkout4Props) => {
<div className="grid min-h-screen lg:grid-cols-2">
<div className="order-2 flex items-center bg-muted/30 lg:order-1">
<div className="mx-auto w-full max-w-xl p-8 lg:p-12 xl:p-16">
<h2 className="mb-8 text-xl font-semibold">خلاصه سفارش</h2>
<h2 className="mb-8 text-xl font-semibold">خلاصه خرید</h2>
<Cart form={form} cartItems={cartItems} />
</div>
</div>
@@ -293,7 +293,7 @@ const Cart = ({ cartItems, form }: CartProps) => {
<span>در مرحله بعد محاسبه می‌شود</span>
</div>
<div className="flex justify-between text-sm">
<span className="text-muted-foreground">مالیات تقریبی</span>
<span className="text-muted-foreground">مالیات بر ارزش افزوده تقریبی</span>
<span className="tabular-nums">
{formatPrice(35.8, cartItems[0]?.price.currency)}
</span>
@@ -303,7 +303,7 @@ const Cart = ({ cartItems, form }: CartProps) => {
<Separator />
<div className="flex justify-between">
<span className="text-xl font-semibold">جمع کل</span>
<span className="text-xl font-semibold">مبلغ قابل پرداخت</span>
<span className="text-xl font-semibold tabular-nums">
{formatPrice(totalPrice ?? 0, cartItems[0]?.price.currency)}
</span>
@@ -472,7 +472,7 @@ const PaymentFieldsByMethod = ({ method }: { method: PaymentMethod }) => {
className="text-sm font-medium text-muted-foreground"
htmlFor="checkout-payment-cardNumber"
>
اطلاعات کارت
اطلاعات کارت بانکی
</FieldLabel>
<div className="pointer-events-none flex items-center gap-1.5">
<img
@@ -541,7 +541,7 @@ const PaymentFieldsByMethod = ({ method }: { method: PaymentMethod }) => {
className="text-sm font-medium"
htmlFor="checkout-payment-cardholderName"
>
نام دارنده کارت
نام روی کارت
</FieldLabel>
<Input
{...field}
+4 -4
View File
@@ -130,7 +130,7 @@ const Checkout5 = ({ order = DEFAULT_ORDER, className }: Checkout5Props) => {
<button
type="button"
className="flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"
aria-label="بازگشت"
aria-label="بازگشت به سبد"
>
<ArrowLeft className="size-4 rtl:rotate-180" />
</button>
@@ -186,7 +186,7 @@ const Checkout5 = ({ order = DEFAULT_ORDER, className }: Checkout5Props) => {
{/* Total */}
<div className="flex items-center justify-between">
<span className="text-sm font-medium text-foreground">
جمع کل
مبلغ قابل پرداخت
</span>
<span className="text-sm font-medium tabular-nums text-foreground">
{formatPrice(total, order.currency)}
@@ -241,7 +241,7 @@ const Checkout5 = ({ order = DEFAULT_ORDER, className }: Checkout5Props) => {
<div className="flex items-center justify-center gap-4 pt-4 text-xs text-muted-foreground">
<span className="flex items-center gap-1">
<Lock className="size-3" />
پرداخت امن
پرداخت امن اشتراک
</span>
<Separator orientation="vertical" className="h-4" />
<a
@@ -447,7 +447,7 @@ const PaymentFields = () => {
className="text-sm font-medium"
htmlFor="checkout-cardholder-name"
>
نام دارنده کارت
نام روی کارت
</FieldLabel>
<Input
{...field}
+2 -2
View File
@@ -341,7 +341,7 @@ const Cart = ({ cartData, form }: CartProps) => {
</div>
<Separator />
<div className="flex items-center justify-between">
<div>جمع کل</div>
<div>مبلغ قابل پرداخت</div>
<Price>
<PriceValue
price={totalPrice}
@@ -899,7 +899,7 @@ const PaymentFieldsByMethod = ({ method }: { method: PaymentMethod }) => {
className="text-sm font-normal"
htmlFor="checkout-payment-cardholderName"
>
نام دارنده کارت
نام روی کارت
</FieldLabel>
<Input
{...field}
+5 -5
View File
@@ -19,23 +19,23 @@ interface Community1Props {
const Community1 = ({
logo = "/block-media/shadcnblocks/block/block-1.svg",
heading = "به جمع متخصصان ما بپیوندید",
headingHighlight = "ویژه طراحان، توسعه‌دهندگان و سازندگان محصولات دیجیتال",
heading = "در جامعه ما عضو شوید",
headingHighlight = "شبکه‌ای از متخصصان، طراحان و توسعه‌دهندگان پیشرو",
socialLinks = [
{
icon: <FaXTwitter />,
url: "https://x.com/ShadcnBlocks",
label: "ما را در X دنبال کنید و از آخرین اخبار باخبر شوید",
label: "در X همراه ما باشید",
},
{
icon: <FaGithub />,
url: "https://github.com/ShadcnBlocks",
label: "در گیت‌هاب پروژه‌های ما را دنبال کنید",
label: "پروژه‌های ما را در گیت‌هاب دنبال کنید",
},
{
icon: <FaDiscord />,
url: "#",
label: "به انجمن دیسکورد ما بپیوندید",
label: "به جمع ما در دیسکورد بپیوندید",
},
],
className,
+6 -6
View File
@@ -18,33 +18,33 @@ interface Community2Props {
}
const Community2 = ({
heading = "به جمع متخصصان ما بپیوندید",
heading = "به جامعه ما بپیوندید",
description =
"با اعضای جامعه ارتباط برقرار کنید، تجربه‌های خود را به اشتراک بگذارید و از تازه‌ترین آموزش‌ها و به‌روزرسانی‌ها مطلع شوید.",
"با متخصصان صنعت ارتباط بگیرید، دانش خود را به اشتراک بگذارید و از آخرین تحولات و به‌روزرسانی‌ها باخبر شوید.",
socialLinks = [
{
icon: <FaXTwitter className="size-5" />,
title: "X",
description: "آخرین اخبار، انتشار نسخه‌ها و اطلاعیه‌های رسمی را دنبال کنید.",
description: "آخرین اخبار، به‌روزرسانی‌ها و اطلاعیه‌های رسمی را دنبال کنید.",
url: "https://x.com/ShadcnBlocks",
},
{
icon: <FaLinkedin className="size-5" />,
title: "LinkedIn",
description: "با تیم ما ارتباط حرفه‌ای برقرار کنید و فرصت‌های همکاری را دنبال کنید.",
description: "با تیم ما در LinkedIn ارتباط حرفه‌ای برقرار کنید و از فرصت‌های همکاری باخبر شوید.",
url: "https://www.linkedin.com/company/ShadcnBlocks",
},
{
icon: <FaGithub className="size-5" />,
title: "گیت‌هاب",
description: "در توسعه پروژه‌های متن‌باز مشارکت کنید، ایده ارائه دهید و مشکلات را گزارش کنید.",
description: "در توسعه پروژه‌های متن‌باز مشارکت کنید، ایده ارائه دهید و باگ‌ها را گزارش کنید.",
url: "https://github.com/ShadcnBlocks",
},
{
icon: <FaDiscord className="size-5" />,
title: "دیسکورد",
description:
"در دیسکورد با سایر توسعه‌دهندگان گفتگو کنید، سؤال بپرسید و از تجربه اعضای جامعه استفاده کنید.",
"با سایر توسعه‌دهندگان در دیسکورد گفتگو کنید، سؤال بپرسید و از تجربیات اعضای جامعه بهره‌مند شوید.",
url: "#",
},
],
+9 -9
View File
@@ -16,18 +16,18 @@ const Community3 = ({ className }: Community3Props) => {
<div className="flex flex-col items-start pb-10 md:items-center md:pb-14 xl:pb-[60px]">
<Badge>
<Users className="h-4 w-4" />
جامعه
شبکه متخصصان
</Badge>
<h4 className="mt-4 text-[28px] leading-[36px] font-semibold tracking-tight text-foreground md:text-center md:text-3xl xl:text-[48px] xl:leading-[56px]">
عضوی از جامعه رو‌به‌رشد ما شوید
به جامعه ما بپیوندید
</h4>
<p className="mt-2 text-lg text-muted-foreground md:text-center xl:mt-3 xl:text-xl">
با طراحان، توسعه‌دهندگان و علاقه‌مندان فناوری{" "}
با طراحان، توسعه‌دهندگان و متخصصان فناوری{" "}
<span className="font-medium text-foreground">همکاری</span> کنید،{" "}
<span className="font-medium text-foreground">یادگیری</span> کنید و{" "}
<span className="font-medium text-foreground">رشد</span> کنید.
<span className="font-medium text-foreground">یاد بگیرید</span> و{" "}
<span className="font-medium text-foreground">پیشرفت</span> کنید.
</p>
<div className="mt-6 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 xl:mt-12 xl:gap-6">
@@ -42,7 +42,7 @@ const Community3 = ({ className }: Community3Props) => {
<div className="space-y-2 text-center">
<h5 className="text-sm font-medium md:text-lg">X</h5>
<p className="text-sm text-balance text-muted-foreground">
آخرین آموزش‌ها، مقالات، نسخه‌ها و اخبار را دریافت کنید.
آخرین مقالات، آموزش‌ها، به‌روزرسانی‌ها و اخبار را دنبال کنید.
</p>
</div>
</a>
@@ -59,7 +59,7 @@ const Community3 = ({ className }: Community3Props) => {
<div className="space-y-2 text-center">
<h5 className="text-sm font-medium md:text-lg">گیت‌هاب</h5>
<p className="text-sm text-balance text-muted-foreground">
در توسعه پروژه مشارکت کنید، مشکلات را گزارش دهید و پیشنهادهای خود را ارائه کنید.
در توسعه پروژه مشارکت کنید، باگ‌ها را گزارش دهید و پیشنهادهای خود را ارائه کنید.
</p>
</div>
</a>
@@ -76,7 +76,7 @@ const Community3 = ({ className }: Community3Props) => {
<div className="space-y-2 text-center">
<h5 className="text-sm font-medium md:text-lg">دیسکورد</h5>
<p className="text-sm text-balance text-muted-foreground">
با اعضای جامعه گفتگو کنید، تجربه‌های خود را به اشتراک بگذارید و پاسخ پرسش‌های خود را دریافت کنید.
با اعضای جامعه گفتگو کنید، تجربه‌های خود را به اشتراک بگذارید و پاسخ سؤالات خود را دریافت کنید.
</p>
</div>
</a>
@@ -84,7 +84,7 @@ const Community3 = ({ className }: Community3Props) => {
</div>
<div className="mt-8 hidden max-w-[330px] text-center text-muted-foreground xl:block">
در جامعه‌ای فعال حضور داشته باشید که بر پایه یادگیری، همکاری و نوآوری شکل گرفته است.
در جامعه‌ای پویا حضور داشته باشید که بر پایه یادگیری، همکاری و نوآوری شکل گرفته است.
</div>
</div>
</div>
+14 -14
View File
@@ -14,37 +14,37 @@ const Community4 = ({ className }: Community4Props) => {
name: "Facebook",
icon: <FaFacebook className="size-6 text-blue-400/90" />,
color: "blue",
heading: "به انجمن کاربران ما بپیوندید",
heading: "به جمع ما بپیوندید",
description:
"ایده‌ها، تجربه‌ها و پروژه‌های خود را با سایر اعضای جامعه به اشتراک بگذارید.",
followText: "ما را در فیسبوک دنبال کنید",
"ایده‌ها، پروژه‌ها و دستاوردهای خود را با سایر اعضای جامعه به اشتراک بگذارید.",
followText: "ما را در Facebook دنبال کنید",
url: "#",
},
{
name: "Youtube",
icon: <FaYoutube className="size-6 text-red-500/90" />,
color: "red",
heading: "کانال ویدئویی ما را دنبال کنید",
description: "آموزش‌ها، معرفی قابلیت‌های جدید و ویدئوهای تخصصی را مشاهده کنید.",
followText: "ما را در یوتیوب دنبال کنید",
heading: "ویدئوهای آموزشی ما را ببینید",
description: "آموزش‌ها، معرفی قابلیت‌های جدید و محتوای تخصصی را دنبال کنید.",
followText: "کانال YouTube ما را دنبال کنید",
url: "#",
},
{
name: "X",
icon: <FaXTwitter className="size-5 text-white" />,
color: "zinc",
heading: "اخبار و به‌روزرسانی‌ها را دنبال کنید",
description: "از آخرین تغییرات محصول، نسخه‌های جدید و اطلاعیه‌های مهم مطلع شوید.",
followText: "ما را در X دنبال کنید",
heading: "آخرین اخبار و به‌روزرسانی‌ها",
description: "از آخرین تغییرات محصول، نسخه‌های جدید و اطلاعیه‌های مهم باخبر شوید.",
followText: "در X همراه ما باشید",
url: "#",
},
{
name: "Instagram",
icon: <FaInstagram className="size-6 text-pink-400/90" />,
color: "pink",
heading: "گالری پروژه‌ها را ببینید",
description: "نمونه پروژه‌ها، تصاویر و پشت‌صحنه توسعه محصولات را مشاهده کنید.",
followText: "ما را در اینستاگرام دنبال کنید",
heading: "نمونه کارهای ما را ببینید",
description: "پروژه‌ها، تصاویر و پشت‌صحنه توسعه محصولات را دنبال کنید.",
followText: "ما را در Instagram دنبال کنید",
url: "#",
},
];
@@ -54,10 +54,10 @@ const Community4 = ({ className }: Community4Props) => {
<div className="container">
<div className="flex flex-col items-center gap-2.5 text-center">
<h2 className="text-xl font-medium md:text-2xll">
به جمع متخصصان ما بپیوندید
به جامعه ما بپیوندید
</h2>
<p className="text-muted-foreground md:text-lg">
با اعضای جامعه ارتباط برقرار کنید، تجربه‌های خود را به اشتراک بگذارید و از تازه‌ترین آموزش‌ها و به‌روزرسانی‌ها مطلع شوید.
با متخصصان و علاقه‌مندان صنعت ارتباط بگیرید، دانش خود را به اشتراک بگذارید و از آخرین تحولات باخبر شوید.
</p>
</div>
<div className="mx-auto mt-8 grid grid-cols-1 gap-2 md:grid-cols-2 xl:grid-cols-4">
+1 -1
View File
@@ -71,7 +71,7 @@ const Community6 = ({ className }: Community6Props) => {
به جامعه حرفه‌ای ما بپیوندید
</h2>
<p className="mb-8 max-w-2xl text-center text-lg font-normal text-muted-foreground md:text-xl">
با توسعه‌دهندگان، طراحان و متخصصان سراسر جهان ارتباط برقرار کنید، تجربه کسب کنید و پروژه‌های ارزشمند خلق کنید.
با توسعه‌دهندگان، طراحان و متخصصان سراسر جهان ارتباط برقرار کنید، دانش کسب کنید و پروژه‌های ارزشمند بسازید.
</p>
<div className="mb-10 grid w-full grid-cols-1 gap-6 md:grid-cols-3 xl:grid-cols-6">
{communityCards.map((card) => (
+1 -1
View File
@@ -72,7 +72,7 @@ const Community7 = ({ className }: Community7Props) => {
در شبکه‌های اجتماعی همراه ما باشید
</h2>
<p className="mb-8 max-w-2xl text-center text-lg font-normal text-muted-foreground md:text-xl">
در شبکه‌های اجتماعی ما را دنبال کنید و از تازه‌ترین محتوا و اخبار مطلع شوید.
ما را در شبکه‌های اجتماعی دنبال کنید و از آخرین محتوا و اخبار باخبر شوید.
</p>
<div className="mb-10 grid w-full grid-cols-1 gap-6 md:grid-cols-3">
{communityCards.map((card) => (
+24 -24
View File
@@ -25,13 +25,13 @@ import {
import { cn } from "@/lib/utils";
const contactFormSchema = z.object({
fullName: z.string().min(1, "نام و نام خانوادگی الزامی است"),
fullName: z.string().min(1, "نام و نام خانوادگی"),
company: z.string().optional(),
phone: z.string().min(1, "شماره تلفن الزامی است"),
phone: z.string().min(1, "شماره تماس کاری"),
email: z
.string()
.min(1, "ایمیل الزامی است")
.email("آدرس ایمیل نامعتبر است"),
.min(1, "ایمیل کاری")
.email("ایمیل واردشده معتبر نیست"),
country: z.string().optional(),
companySize: z.string().optional(),
referral: z.string().optional(),
@@ -78,7 +78,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ثبت درخواست ناموفق بود. دوباره تلاش کنید.",
});
}
};
@@ -92,10 +92,10 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
<div className="w-full pb-10 md:space-y-10 md:pb-0">
<div className="space-y-4 md:max-w-[40rem]">
<h1 className="text-xl font-medium lg:text-2xll">
درخواست دمو و مشاوره تخصصی
دموی شخصی‌سازی‌شده CRM
</h1>
<div className="text-muted-foreground md:text-base lg:text-lg lg:leading-7">
در یک جلسه دمو، قابلیت‌های محصول را متناسب با نیازهای سازمان خود بررسی کنید و پاسخ پرسش‌های فنی و تجاری را از کارشناسان ما دریافت کنید.
در یک جلسه کوتاه، قیف فروش، اتوماسیون پیگیری و داشبورد تیم را روی سناریوی کسب‌وکارتان می‌بینید. کارشناسان فروش به پرسش‌های فنی و تجاری‌تان پاسخ می‌دهند.
</div>
</div>
<div className="hidden md:block">
@@ -117,23 +117,23 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
</div>
<div className="space-y-4">
<p className="text-sm font-semibold">
در این جلسه چه مواردی بررسی می‌شود؟
در این دمو چه می‌بینید؟
</p>
<div className="flex items-center gap-2.5">
<Check className="size-5 shrink-0 text-muted-foreground" />
<p className="text-sm">
معرفی قابلیت‌ها بر اساس نیازهای واقعی کسب‌وکار شما
نگاشت قیف فروش و مراحل پیگیری سرنخ
</p>
</div>
<div className="flex items-center gap-2.5">
<Check className="size-5 shrink-0 text-muted-foreground" />
<p className="text-sm">
بررسی بهترین راهکار برای پیاده‌سازی و استقرار
پیشنهاد استقرار CRM متناسب با اندازه تیم
</p>
</div>
<div className="flex items-center gap-2.5">
<Check className="size-5 shrink-0 text-muted-foreground" />
<p className="text-sm">پاسخ به پرسش‌های فنی، تجاری و اجرایی</p>
<p className="text-sm">پاسخ به پرسش‌های یکپارچه‌سازی و گزارش‌گیری</p>
</div>
</div>
</div>
@@ -145,7 +145,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
/>
<img
src="/block-media/shadcnblocks/block/logos/shadcn-ui-wordmark.svg"
alt="لوگوی ری یو آی"
alt="لوگوی shadcn/ui"
className="h-5 dark:invert"
/>
</div>
@@ -167,7 +167,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
درخواست شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست دمو ثبت شد. کارشناس فروش در کمتر از یک روز کاری با شما هماهنگ می‌کند.
</p>
</div>
)}
@@ -204,7 +204,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
<Input
{...field}
id={field.name}
placeholder="نام شرکت یا سازمان"
placeholder="نام شرکت"
/>
</Field>
)}
@@ -216,7 +216,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
render={({ field, fieldState }) => (
<Field data-invalid={fieldState.invalid}>
<FieldLabel htmlFor={field.name}>
شماره تلفن{" "}
تلفن همراه{" "}
<span className="text-destructive">*</span>
</FieldLabel>
<Input
@@ -240,7 +240,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
render={({ field, fieldState }) => (
<Field data-invalid={fieldState.invalid}>
<FieldLabel htmlFor={field.name}>
ایمیل (کاری){" "}
ایمیل کاری{" "}
<span className="text-destructive">*</span>
</FieldLabel>
<Input
@@ -297,7 +297,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
render={({ field }) => (
<Field>
<FieldLabel htmlFor={field.name}>
اندازه شرکت
اندازه تیم فروش
</FieldLabel>
<Select
onValueChange={field.onChange}
@@ -323,7 +323,7 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
render={({ field }) => (
<Field>
<FieldLabel htmlFor={field.name}>
چطور با ما آشنا شدید؟
از کجا با پلتفرم آشنا شدید؟
</FieldLabel>
<Select
onValueChange={field.onChange}
@@ -337,8 +337,8 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
<SelectItem value="social">
شبکه‌های اجتماعی
</SelectItem>
<SelectItem value="email">ایمیل</SelectItem>
<SelectItem value="referral">معرفی توسط همکار یا مشتری</SelectItem>
<SelectItem value="email">ایمیل مارکتینگ</SelectItem>
<SelectItem value="referral">معرفی همکار یا مشتری</SelectItem>
<SelectItem value="other">سایر</SelectItem>
</SelectContent>
</Select>
@@ -361,18 +361,18 @@ const Contact1 = ({ className, onSubmit }: Contact1Props) => {
{form.formState.isSubmitting ? (
<>
<LoaderIcon className="size-4 animate-spin" />
در حال ثبت...
در حال ثبت درخواست...
</>
) : (
"رزرو دمو"
"درخواست دمو"
)}
</Button>
<div className="text-xs text-muted-foreground">
برای آگاهی از نحوه جمع‌آوری، نگهداری و استفاده از اطلاعات شخصی،{" "}
با ارسال این فرم، نحوه پردازش داده‌های تماس در{" "}
<a href="#" className="underline">
سیاست حریم خصوصی
</a>{" "}
را مطالعه کنید.
را می‌پذیرید.
</div>
</div>
</FieldGroup>
+17 -17
View File
@@ -18,14 +18,14 @@ import { Textarea } from "@/components/ui/textarea";
import { cn } from "@/lib/utils";
const contactFormSchema = z.object({
fullName: z.string().min(1, "نام و نام خانوادگی الزامی است"),
fullName: z.string().min(1, "نام و نام خانوادگی"),
email: z
.string()
.min(1, "ایمیل الزامی است")
.email("آدرس ایمیل نامعتبر است"),
.min(1, "ایمیل کاری")
.email("ایمیل واردشده معتبر نیست"),
company: z.string().optional(),
employees: z.string().optional(),
message: z.string().min(1, "پیام الزامی است"),
message: z.string().min(1, "شرح درخواست را وارد کنید"),
});
type ContactFormData = z.infer<typeof contactFormSchema>;
@@ -67,7 +67,7 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال درخواست ناموفق بود. دوباره تلاش کنید.",
});
}
};
@@ -83,15 +83,15 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
>
<div className="container max-w-2xl">
<h1 className="text-center text-xl font-semibold tracking-tight lg:text-2xll">
تماس با ما
درخواست دمو CRM
</h1>
<p className="mt-4 text-center leading-snug font-medium text-muted-foreground lg:mx-auto">
فرم را تکمیل کنید تا در کوتاه‌ترین زمان ممکن درخواست شما بررسی و پاسخ داده شود.
فرم را پر کنید تا کارشناس فروش اندازه تیم و نیازتان را بررسی کند و جلسه دمو را هماهنگ کند.
</p>
<div className="mt-10 flex justify-between gap-8 max-sm:flex-col md:mt-14 lg:mt-20 lg:gap-12">
<div>
<h2 className="font-semibold">دفتر مرکزی</h2>
<h2 className="font-semibold">دفتر تهران</h2>
<p className="mt-3 text-muted-foreground" dir="rtl">
Valiasr St, Tehran 15138
<br />
@@ -100,16 +100,16 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
</div>
<div>
<h2 className="font-semibold">ارتباط از طریق ایمیل</h2>
<h2 className="font-semibold">ایمیل فروش</h2>
<div className="mt-3">
<div>
<p className="text-primary">فرصت‌های شغلی</p>
<p className="text-primary">مشاوره و دمو</p>
<a
href="mailto:support@example.com"
className="text-muted-foreground hover:text-foreground"
dir="rtl"
>
پشتیبانی@نمونه.ایران
support@example.com
</a>
</div>
</div>
@@ -146,7 +146,7 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
<DashedLine className="my-12" />
<div className="mx-auto">
<h2 className="text-lg font-semibold">درخواست‌ها</h2>
<h2 className="text-lg font-semibold">درخواست دمو</h2>
{isSubmitted && (
<div
@@ -156,7 +156,7 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
پیام شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست دمو ثبت شد. کارشناس فروش در اولین فرصت هماهنگ می‌کند.
</p>
</div>
)}
@@ -219,7 +219,7 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
<Input
{...field}
id={field.name}
placeholder="نام شرکت یا سازمان"
placeholder="نام شرکت"
/>
</Field>
)}
@@ -231,7 +231,7 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
render={({ field }) => (
<Field>
<FieldLabel htmlFor={field.name}>
تعداد کارمندان
تعداد کاربران CRM
</FieldLabel>
<Input
{...field}
@@ -254,7 +254,7 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="جزئیات درخواست، سؤال یا پروژه خود را بنویسید."
placeholder="ابزار فعلی فروش، هدف استقرار و زمان پیشنهادی دمو را بنویسید."
className="min-h-[120px] resize-none"
/>
{fieldState.invalid && (
@@ -283,7 +283,7 @@ const Contact10 = ({ className, onSubmit }: Contact10Props) => {
در حال ارسال...
</>
) : (
"ارسال پیام"
"درخواست دمو"
)}
</Button>
</div>
+17 -17
View File
@@ -18,14 +18,14 @@ import { Textarea } from "@/components/ui/textarea";
import { cn } from "@/lib/utils";
const contactFormSchema = z.object({
fullName: z.string().min(1, "نام و نام خانوادگی الزامی است"),
fullName: z.string().min(1, "نام و نام خانوادگی"),
email: z
.string()
.min(1, "ایمیل الزامی است")
.email("آدرس ایمیل نامعتبر است"),
.min(1, "ایمیل کاری")
.email("ایمیل واردشده معتبر نیست"),
company: z.string().optional(),
employees: z.string().optional(),
message: z.string().min(1, "پیام الزامی است"),
message: z.string().min(1, "شرح درخواست را وارد کنید"),
});
type ContactFormData = z.infer<typeof contactFormSchema>;
@@ -67,7 +67,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال درخواست ناموفق بود. دوباره تلاش کنید.",
});
}
};
@@ -76,16 +76,16 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
<div className="container max-w-4xl">
<h1 className="text-center text-xl font-semibold tracking-tight sm:text-2xll">
تماس با ما
درخواست دمو CRM
</h1>
<p className="mt-4 text-center text-muted-foreground">
فرم را تکمیل کنید تا در کوتاه‌ترین زمان ممکن درخواست شما بررسی و پاسخ داده شود.
فرم را پر کنید تا کارشناس فروش جلسه دمو را بر اساس اندازه تیم و نیازتان هماهنگ کند.
</p>
<div className="mt-8 flex gap-10 max-md:flex-col md:mt-12 md:divide-x">
<div className="space-y-10 pe-10 md:gap-20">
<div>
<h2 className="text-lg font-semibold">دفتر مرکزی</h2>
<h2 className="text-lg font-semibold">دفتر تهران</h2>
<p
className="mt-3 font-medium tracking-tight text-muted-foreground"
dir="rtl"
@@ -97,10 +97,10 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
</div>
<div>
<h2 className="text-lg font-semibold">ارتباط از طریق ایمیل</h2>
<h2 className="text-lg font-semibold">ایمیل تیم فروش</h2>
<div className="mt-3 space-y-2">
<div>
<p className="text-primary">فرصت‌های شغلی</p>
<p className="text-primary">فروش سازمانی</p>
<a
href="mailto:careers@example.com"
className="mt-3 tracking-tight text-muted-foreground hover:text-foreground"
@@ -110,7 +110,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
</a>
</div>
<div>
<p className="text-primary">رسانه</p>
<p className="text-primary">پشتیبانی محصول</p>
<a
href="mailto:press@example.com"
className="mt-3 tracking-tight text-muted-foreground hover:text-foreground"
@@ -151,7 +151,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
</div>
<div className="flex-1 md:ps-10">
<h2 className="text-lg font-semibold">درخواست‌ها</h2>
<h2 className="text-lg font-semibold">درخواست دمو</h2>
{isSubmitted && (
<div
@@ -161,7 +161,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
پیام شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست دمو ثبت شد. کارشناس فروش در اولین فرصت هماهنگ می‌کند.
</p>
</div>
)}
@@ -227,7 +227,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
<Input
{...field}
id={field.name}
placeholder="نام شرکت یا سازمان"
placeholder="نام شرکت"
/>
</Field>
)}
@@ -239,7 +239,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
render={({ field }) => (
<Field>
<FieldLabel htmlFor={field.name}>
تعداد کارمندان
تعداد کاربران CRM
</FieldLabel>
<Input
{...field}
@@ -262,7 +262,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="جزئیات درخواست، سؤال یا پروژه خود را بنویسید."
placeholder="ابزار فعلی فروش، هدف استقرار و زمان پیشنهادی دمو را بنویسید."
className="min-h-[120px] resize-none"
/>
{fieldState.invalid && (
@@ -291,7 +291,7 @@ const Contact11 = ({ className, onSubmit }: Contact11Props) => {
در حال ارسال...
</>
) : (
"ارسال پیام"
"درخواست دمو"
)}
</Button>
</div>
+12 -12
View File
@@ -20,7 +20,7 @@ import { cn } from "@/lib/utils";
const contactFormSchema = z.object({
name: z.string().min(1, "نام الزامی است"),
phone: z.string().min(1, "شماره تلفن الزامی است"),
phone: z.string().min(1, "شماره همراه الزامی است"),
});
type ContactFormData = z.infer<typeof contactFormSchema>;
@@ -59,7 +59,7 @@ const Contact14 = ({ className, onSubmit }: Contact14Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -72,22 +72,22 @@ const Contact14 = ({ className, onSubmit }: Contact14Props) => {
<div className="grid grid-cols-1 items-end gap-8 md:grid-cols-2">
<div className="flex flex-col justify-center space-y-6">
<p className="text-sm font-semibold tracking-tight text-muted-foreground">
وب‌سایت رسمی
تیم فروش و موفقیت مشتری
</p>
<div className="relative flex size-30 items-center justify-center rounded-3xl bg-foreground p-2.5 shadow-xl">
<div className="flex size-full items-center justify-center rounded-2xl bg-background p-4">
<Avatar className="size-full">
<AvatarImage
src="/block-media/shadcnblocks/block/avatar-1.webp"
alt="تصویر پروفایل"
alt="تصویر کارشناس فروش"
className="object-cover"
/>
<AvatarFallback>ری یو آی</AvatarFallback>
<AvatarFallback>نوافروش</AvatarFallback>
</Avatar>
</div>
</div>
<h1 className="text-2xll font-bold tracking-tighter text-foreground">
تماس با ما
درخواست مشاوره CRM
</h1>
<ul className="max-w-lg space-y-2 tracking-tight">
@@ -98,7 +98,7 @@ const Contact14 = ({ className, onSubmit }: Contact14Props) => {
className="text-foreground/80 underline"
dir="rtl"
>
example@ری یو آی
example@نوافروش
</a>
</li>
<li className="flex items-center gap-2">
@@ -114,9 +114,9 @@ const Contact14 = ({ className, onSubmit }: Contact14Props) => {
</span>
</li>
<li className="flex items-center gap-2">
<span className="font-bold">ساعات کاری:</span>
<span className="font-bold">ساعات پاسخ‌گویی:</span>
<span className="text-foreground/80">
دوشنبه تا جمعه، ۹ صبح تا ۵ عصر
شنبه تا چهارشنبه، ۹ تا ۱۷
</span>
</li>
</ul>
@@ -130,7 +130,7 @@ const Contact14 = ({ className, onSubmit }: Contact14Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
پیام شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست شما ثبت شد. کارشناس فروش ظرف یک روز کاری با شما تماس می‌گیرد.
</p>
</div>
)}
@@ -149,7 +149,7 @@ const Contact14 = ({ className, onSubmit }: Contact14Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نام و نام خانوادگی"
placeholder="نام کامل"
className="bg-background p-6"
/>
{fieldState.invalid && (
@@ -200,7 +200,7 @@ const Contact14 = ({ className, onSubmit }: Contact14Props) => {
در حال ارسال...
</>
) : (
"تماس با ما"
"درخواست تماس برگشتی"
)}
</Button>
</FieldGroup>
+7 -7
View File
@@ -62,7 +62,7 @@ const Contact16 = ({ className, onSubmit }: Contact16Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -75,13 +75,13 @@ const Contact16 = ({ className, onSubmit }: Contact16Props) => {
>
<div className="container">
<h1 className="text-2xll font-semibold tracking-tight lg:text-8xl">
ارتباط با ما
گفت‌وگو با تیم فروش
<sup>*</sup>
</h1>
<div className="mt-20 flex flex-col justify-between gap-10 lg:flex-row">
<div className="w-full max-w-md">
<p className="tracking-tight text-muted-foreground/50">
اگر درباره محصولات، همکاری یا اجرای پروژه پرسشی دارید، فرم را تکمیل کنید یا مستقیماً با ما در ارتباط باشید. پاسخ‌گویی در کوتاه‌ترین زمان انجام خواهد شد.
برای دموی محصول، قیمت‌گذاری سازمانی یا یکپارچه‌سازی CRM فرم را پر کنید. تیم فروش معمولاً در همان روز کاری پاسخ می‌دهد.
</p>
<div className="mt-10 flex justify-between gap-4">
<a
@@ -114,7 +114,7 @@ const Contact16 = ({ className, onSubmit }: Contact16Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
پیام شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست شما ثبت شد. کارشناس فروش به‌زودی با شما هماهنگ می‌کند.
</p>
</div>
)}
@@ -132,7 +132,7 @@ const Contact16 = ({ className, onSubmit }: Contact16Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نام و نام خانوادگی"
placeholder="نام کامل"
className="h-19 rounded-none border-0 border-b border-b-foreground/15 !bg-transparent placeholder:text-foreground/20 focus-visible:ring-0"
/>
{fieldState.invalid && (
@@ -178,7 +178,7 @@ const Contact16 = ({ className, onSubmit }: Contact16Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="درباره پروژه، نیازها یا درخواست خود بنویسید."
placeholder="نیاز فروش، دمو یا یکپارچه‌سازی را بنویسید"
className="h-19 rounded-none border-0 border-b border-b-foreground/15 !bg-transparent placeholder:text-foreground/20 focus-visible:ring-0"
/>
{fieldState.invalid && (
@@ -208,7 +208,7 @@ const Contact16 = ({ className, onSubmit }: Contact16Props) => {
) : (
<>
<CornerDownLeft className="size-6" />
ارسال درخواست
ارسال به تیم فروش
</>
)}
</Button>
+38 -38
View File
@@ -76,7 +76,7 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -84,10 +84,10 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
return (
<section dir="rtl" lang="fa" className={cn("bg-muted/50 py-32", className)}>
<div className="container">
<span className="text-xs text-muted-foreground">شروع همکاری /</span>
<span className="text-xs text-muted-foreground">شروع با CRM /</span>
<div className="mt-8 grid grid-cols-1 gap-8 md:gap-10 lg:grid-cols-2 lg:grid-rows-[min-content_1fr]">
<h2 className="order-1 text-xl font-medium tracking-tight md:order-none md:text-2xll">
ارسال درخواست
درخواست دمو و مشاوره فروش
</h2>
<div className="order-2 md:order-none md:row-span-2">
<div className="rounded-lg border border-border bg-background p-6">
@@ -99,7 +99,7 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
درخواست شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست شما ثبت شد. کارشناس Customer Success ظرف یک روز کاری تماس می‌گیرد.
</p>
</div>
)}
@@ -112,7 +112,7 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
render={({ field, fieldState }) => (
<Field data-invalid={fieldState.invalid}>
<FieldLabel htmlFor={field.name}>
نام و نام خانوادگی <span className="text-destructive">*</span>
نام <span className="text-destructive">*</span>
</FieldLabel>
<Input
{...field}
@@ -179,33 +179,33 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
render={({ field }) => (
<Field>
<FieldLabel htmlFor={field.name}>
بودجه پروژه
اندازه تیم فروش
</FieldLabel>
<Select
onValueChange={field.onChange}
value={field.value}
>
<SelectTrigger id={field.name} className="w-full">
<SelectValue placeholder="انتخاب بازه بودجه" />
<SelectValue placeholder="تعداد کاربران CRM" />
</SelectTrigger>
<SelectContent>
<SelectItem value="5k-15k">
۵ تا ۱۵ هزار دلار
۱ تا ۱۰ کاربر
</SelectItem>
<SelectItem value="15k-30k">
۱۵ تا ۳۰ هزار دلار
۱۱ تا ۲۵ کاربر
</SelectItem>
<SelectItem value="30k-50k">
۳۰ تا ۵۰ هزار دلار
۲۶ تا ۵۰ کاربر
</SelectItem>
<SelectItem value="50k-100k">
۵۰ تا ۱۰۰ هزار دلار
۵۱ تا ۱۰۰ کاربر
</SelectItem>
<SelectItem value="100k-250k">
۱۰۰ تا ۲۵۰ هزار دلار
۱۰۱ تا ۲۵۰ کاربر
</SelectItem>
<SelectItem value="250k+">
بیش از ۲۵۰ هزار دلار
بیش از ۲۵۰ کاربر
</SelectItem>
</SelectContent>
</Select>
@@ -222,13 +222,13 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
className="sm:col-span-2"
>
<FieldLabel htmlFor={field.name}>
پیام <span className="text-destructive">*</span>
هدف شما از CRM <span className="text-destructive">*</span>
</FieldLabel>
<Textarea
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="اهداف، نیازها و جزئیات پروژه خود را شرح دهید."
placeholder="مثلاً پیپ‌لاین فروش، اتوماسیون lead یا گزارش‌دهی تیم."
/>
{fieldState.invalid && (
<FieldError errors={[fieldState.error]} />
@@ -243,12 +243,12 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
render={({ field }) => (
<Field className="sm:col-span-2">
<FieldLabel htmlFor={field.name}>
چطور ما را پیدا کردید؟
چطور با محصول آشنا شدید؟
</FieldLabel>
<Input
{...field}
id={field.name}
placeholder="مثال: جستجوی گوگل، معرفی یا شبکه‌های اجتماعی"
placeholder="جستجوی گوگل، معرفی همکار، وبینار یا LinkedIn"
/>
</Field>
)}
@@ -271,18 +271,18 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
در حال ارسال...
</>
) : (
"ارسال پیام"
"ارسال درخواست دمو"
)}
</Button>
<p className="text-xs text-muted-foreground sm:col-span-2">
با ارسال این فرم، تأیید می‌کنید که{" "}
<a href="#" className="text-primary hover:underline">
حریم خصوصی
سیاست حفظ حریم خصوصی
</a>{" "}
و{" "}
<a href="#" className="text-primary hover:underline">
شرایط استفاده
شرایط استفاده از سرویس
</a>{" "}
ما را مطالعه کرده و پذیرفته‌اید.
</p>
@@ -296,63 +296,63 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
<span className="flex size-6 shrink-0 items-center justify-center rounded-full bg-background">
<Check className="size-4" />
</span>
نیازهای کسب‌وکار و اهداف پروژه خود را با ما مطرح کنید.
نیازهای فروش و اهداف تیم خود را با ما مطرح کنید.
</li>
<li className="flex items-center gap-2">
<span className="flex size-6 shrink-0 items-center justify-center rounded-full bg-background">
<Check className="size-4" />
</span>
راهکار و پیشنهاد متناسب با نیاز خود دریافت کنید.
پیشنهاد استقرار و پلن متناسب با اندازه تیم بگیرید.
</li>
<li className="flex items-center gap-2">
<span className="flex size-6 shrink-0 items-center justify-center rounded-full bg-background">
<Check className="size-4" />
</span>
برای بررسی پروژه، جلسه مشاوره تخصصی رزرو کنید.
دموی اختصاصی محصول را با کارشناس فروش رزرو کنید.
</li>
</ul>
<p className="my-6 font-bold">
بیش از ۳۰۰۰ کسب‌وکار به خدمات و راهکارهای ما اعتماد کرده‌اند.
بیش از ۳۰۰۰ تیم فروش، CRM ما را برای مدیریت lead و پیپ‌لاین به‌کار می‌برند.
</p>
<div className="grid grid-cols-2 place-items-center gap-8 md:grid-cols-4">
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-1.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-2.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-3.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-4.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-5.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-6.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-7.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
<img
src="/block-media/shadcnblocks/block/logos/company/fictional-company-logo-8.svg"
alt="لوگوی مشتری"
alt="لوگوی مشتری سازمانی"
className="max-w-24 dark:invert"
/>
</div>
@@ -362,21 +362,21 @@ const Contact17 = ({ className, onSubmit }: Contact17Props) => {
<div>
<h3 className="mb-1.5 font-bold">سوالات متداول</h3>
<p className="text-sm text-muted-foreground">
پاسخ پرسش‌های رایج را در{" "}
درباره onboarding، پلن‌ها و یکپارچه‌سازی در{" "}
<a href="#" className="text-primary underline hover:underline">
سوالات متداول
مرکز راهنما
</a>{" "}
مطالعه کنید و با روند همکاری و اجرای پروژه آشنا شوید.
بخوانید و سریع‌تر تصمیم بگیرید.
</p>
</div>
<div>
<h3 className="mb-1.5 font-bold">منابع</h3>
<h3 className="mb-1.5 font-bold">منابع محصول</h3>
<p className="text-sm text-muted-foreground">
به مجموعه مقالات، راهنماها و مستندات ما در{" "}
راهنماهای استقرار، گزارش‌های موفقیت و مستندات API را در{" "}
<a href="#" className="text-primary underline hover:underline">
مرکز منابع
</a>{" "}
دسترسی داشته باشید و از آموزش‌ها، مقالات و تجربیات تخصصی استفاده کنید.
ببینید و تیم فروش را زودتر آماده کنید.
</p>
</div>
</div>
+12 -12
View File
@@ -39,10 +39,10 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
const [showSuccess, setShowSuccess] = useState(false);
const supportFeatures = [
{ text: "پشتیبانی تخصصی" },
{ text: "پاسخ اولیه در کوتاه‌ترین زمان" },
{ text: "مشاوره تخصصی" },
{ text: "بررسی اولیه رایگان پروژه" },
{ text: "پشتیبانی اولویت‌دار برای حساب‌های فعال" },
{ text: "پاسخ اولیه معمولاً کمتر از یک ساعت کاری" },
{ text: "مشاوره استقرار CRM و اتوماسیون فروش" },
{ text: "بررسی رایگان workflow فعلی تیم فروش" },
];
const form = useForm<ContactFormData>({
@@ -72,7 +72,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -84,7 +84,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
<div className="flex w-full max-w-lg flex-col justify-between gap-15">
<div className="relative w-fit">
<h1 className="text-2xll font-semibold tracking-tight lg:text-2xll">
ارتباط با ما
پشتیبانی و فروش
</h1>
<Illustration className="absolute -top-2 -end-5 size-5 text-red-500 md:size-6" />
<Illustration className="absolute -bottom-2 -start-5 size-5 rotate-180 text-red-500 md:size-6" />
@@ -107,7 +107,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
className="flex items-center gap-4 text-xl font-medium tracking-tighter hover:underline"
dir="rtl"
>
hi@ری یو آی
hi@نوافروش
</a>
</div>
<div className="col-span-4 flex w-full flex-col gap-2 lg:ps-10">
@@ -119,7 +119,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
درخواست شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
تیکت شما ثبت شد. تیم پشتیبانی در کوتاه‌ترین زمان پاسخ می‌دهد.
</p>
</div>
)}
@@ -138,7 +138,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نام و نام خانوادگی"
placeholder="نام کامل"
className="h-15 rounded-xl border-0 border-b-foreground/25 bg-muted shadow-none placeholder:text-foreground/20 focus-visible:ring-0"
/>
{fieldState.invalid && (
@@ -160,7 +160,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
{...field}
id={field.name}
type="tel"
placeholder="شماره تماس (اختیاری)"
placeholder="شماره همراه (اختیاری)"
dir="rtl"
className="h-15 rounded-xl border-0 border-b-foreground/25 bg-muted text-start shadow-none placeholder:text-foreground/20 focus-visible:ring-0"
/>
@@ -204,7 +204,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="درباره پروژه یا درخواست خود بنویسید."
placeholder="مشکل پشتیبانی، درخواست دمو یا سؤال فروش را بنویسید."
className="min-h-52 rounded-xl border-0 border-b-foreground/25 bg-muted shadow-none placeholder:text-foreground/20 focus-visible:ring-0"
/>
{fieldState.invalid && (
@@ -231,7 +231,7 @@ const Contact18 = ({ className, onSubmit }: Contact18Props) => {
در حال ارسال...
</>
) : (
"ارسال پیام"
"ارسال تیکت"
)}
</Button>
</FieldGroup>
+5 -5
View File
@@ -15,15 +15,15 @@ const Contact19 = ({ className }: Contact19Props) => {
<div className="flex w-full max-w-md flex-col justify-between gap-30">
<div className="relative w-fit">
<h1 className="text-2xll leading-none font-semibold tracking-tight lg:text-2xll">
در ارتباط باشید
با تیم فروش صحبت کنید
</h1>
<p className="mt-10 mb-5 text-foreground/50">
اگر درباره محصولات، خدمات یا فرصت‌های همکاری پرسشی دارید، از طریق تلفن یا ایمیل با ما در ارتباط باشید.
برای دموی CRM، مهاجرت داده یا پلن سازمانی، تلفنی یا ایمیلی با ما هماهنگ کنید.
</p>
<Button variant="ghost" className="group gap-2">
<CornerDownLeft className="size-4" />
ارسال درخواست
درخواست تماس فروش
</Button>
</div>
@@ -40,14 +40,14 @@ const Contact19 = ({ className }: Contact19Props) => {
className="flex items-center gap-4 text-xl font-medium tracking-tighter hover:underline"
dir="rtl"
>
hi@ری یو آی
hi@نوافروش
</a>
</div>
</div>
<div className="top-0 end-0 flex h-screen w-full flex-col gap-2 lg:absolute lg:w-1/2">
<img
src="/block-media/shadcnblocks/block/guri4/img11.png"
alt="تصویر تماس"
alt="فضای تیم فروش و موفقیت مشتری"
className="pointer-events-none h-full w-full object-cover"
/>
</div>
+16 -16
View File
@@ -18,14 +18,14 @@ import { Textarea } from "@/components/ui/textarea";
import { cn } from "@/lib/utils";
const contactFormSchema = z.object({
firstName: z.string().min(1, "نام الزامی است"),
lastName: z.string().min(1, "نام خانوادگی الزامی است"),
firstName: z.string().min(1, "نام را وارد کنید"),
lastName: z.string().min(1, "نام خانوادگی را وارد کنید"),
email: z
.string()
.min(1, "ایمیل الزامی است")
.email("آدرس ایمیل نامعتبر است"),
subject: z.string().min(1, "موضوع الزامی است"),
message: z.string().min(1, "پیام الزامی است"),
.min(1, "ایمیل را وارد کنید")
.email("ایمیل واردشده معتبر نیست"),
subject: z.string().min(1, "موضوع را وارد کنید"),
message: z.string().min(1, "پیام را وارد کنید"),
});
type ContactFormData = z.infer<typeof contactFormSchema>;
@@ -41,12 +41,12 @@ interface Contact2Props {
}
const Contact2 = ({
title = "تماس با ما",
description = "اگر پرسشی درباره محصولات، همکاری یا خدمات دارید، فرم تماس را تکمیل کنید. تیم ما در کوتاه‌ترین زمان پاسخ‌گوی شما خواهد بود.",
title = "با تیم فروش صحبت کنید",
description = "برای دمو CRM، انتخاب پلن یا مشاوره استقرار پیام بگذارید. کارشناس فروش معمولاً ظرف یک روز کاری پاسخ می‌دهد.",
phone = "۲۱-۱۲۳۴۵۶۷۸",
email = "contact@example.com",
web = {
label: "وب‌سایت رسمی",
label: "راهنمای محصول",
url: "https://www.ShadcnBlocks",
},
className,
@@ -83,7 +83,7 @@ const Contact2 = ({
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال درخواست ناموفق بود. دوباره تلاش کنید.",
});
}
};
@@ -137,9 +137,9 @@ const Contact2 = ({
className="flex flex-col gap-6 rounded-xl bg-muted/50 p-8 md:p-10"
>
<div>
<h2 className="text-xl font-semibold">پیام خود را برای ما ارسال کنید</h2>
<h2 className="text-xl font-semibold">درخواست یا سؤال خود را بنویسید</h2>
<p className="text-sm text-muted-foreground">
پاسخ‌گویی در روزهای کاری، حداکثر تا ۲۴ ساعت
پاسخ در روزهای کاری، معمولاً کمتر از ۲۴ ساعت
</p>
</div>
{isSubmitted && (
@@ -150,7 +150,7 @@ const Contact2 = ({
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
پیام شما با موفقیت ثبت شد.
پیام شما ثبت شد. کارشناس فروش به‌زودی پاسخ می‌دهد.
</p>
</div>
)}
@@ -235,7 +235,7 @@ const Contact2 = ({
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="موضوع پیام خود را وارد کنید"
placeholder="مثلاً درخواست دمو یا مشاوره پلن"
className="bg-background"
/>
{fieldState.invalid && (
@@ -256,7 +256,7 @@ const Contact2 = ({
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="جزئیات درخواست، پروژه یا سؤال خود را بنویسید."
placeholder="اندازه تیم فروش، ابزار فعلی و هدف‌تان را کوتاه بنویسید."
rows={4}
className="bg-background"
/>
@@ -282,7 +282,7 @@ const Contact2 = ({
در حال ارسال...
</>
) : (
"ارسال پیام"
"ارسال درخواست"
)}
</Button>
</FieldGroup>
+15 -15
View File
@@ -74,7 +74,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -85,15 +85,15 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
<div className="mt-20 flex flex-col justify-between gap-15 md:gap-10 lg:flex-row">
<div className="flex w-full max-w-xs flex-col gap-5 lg:gap-12">
<h1 className="text-2xll font-semibold tracking-tight lg:text-2xll">
تماس با ما
درخواست از تیم فروش
</h1>
<p className="text-sm text-foreground/50">
فرم زیر را تکمیل کنید تا کارشناسان ما در کوتاه‌ترین زمان با شما تماس بگیرند.
فرم را پر کنید تا کارشناس فروش ظرف یک روز کاری وضعیت پیپ‌لاین و پلن مناسب را پیگیری کند.
</p>
</div>
<div className="grid w-full gap-12 lg:grid-cols-3 lg:gap-2 lg:ps-10">
<div>
<p className="text-sm text-foreground/40">آدرس</p>
<p className="text-sm text-foreground/40">دفتر تهران</p>
<p className="mt-1 max-w-50 text-lg leading-snug font-semibold">
تهران، خیابان ولیعصر
</p>
@@ -107,7 +107,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
className="mt-2 block text-xl font-semibold tracking-tight hover:underline"
dir="rtl"
>
hi@ری یو آی
hi@نوافروش
</a>
</div>
@@ -119,7 +119,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
درخواست شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست شما ثبت شد. کارشناس فروش به‌زودی پیگیری می‌کند.
</p>
</div>
)}
@@ -141,7 +141,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نام و نام خانوادگی"
placeholder="نام کامل"
className="mt-10 rounded-none border-0 border-b border-b-foreground/10 !bg-transparent p-0 shadow-none placeholder:text-foreground/20 focus-visible:ring-0 lg:text-base"
/>
{fieldState.invalid && (
@@ -205,7 +205,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
render={({ field }) => (
<Field>
<FieldLabel htmlFor={field.name} className="sr-only">
موضوع درخواست
نوع درخواست
</FieldLabel>
<Select
onValueChange={field.onChange}
@@ -216,7 +216,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
className="mt-10 w-full rounded-none border-0 border-b border-b-foreground/10 !bg-transparent p-0 shadow-none focus-visible:ring-0 data-[placeholder]:text-foreground/20 lg:text-base"
>
<SelectValue
placeholder="موضوع درخواست"
placeholder="نوع درخواست"
className="text-foreground/20"
/>
</SelectTrigger>
@@ -225,25 +225,25 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
className="rounded-none py-4"
value="general"
>
پرسش عمومی
مشاوره عمومی
</SelectItem>
<SelectItem
className="rounded-none py-4"
value="support"
>
پشتیبانی
پشتیبانی محصول
</SelectItem>
<SelectItem
className="rounded-none py-4"
value="sales"
>
فروش
فروش و دمو
</SelectItem>
<SelectItem
className="rounded-none py-4"
value="partnership"
>
همکاری
همکاری تجاری
</SelectItem>
</SelectContent>
</Select>
@@ -266,7 +266,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نیازها و جزئیات درخواست خود را بنویسید."
placeholder="نیاز تیم فروش یا جزئیات استقرار را بنویسید."
className="col-span-2 mt-10 min-h-42 rounded-none border-0 border-b border-b-foreground/10 !bg-transparent p-0 shadow-none placeholder:text-foreground/20 focus-visible:ring-0 lg:col-span-3 lg:text-base"
/>
{fieldState.invalid && (
@@ -296,7 +296,7 @@ const Contact20 = ({ className, onSubmit }: Contact20Props) => {
) : (
<>
<CornerDownLeft className="size-5" />
ارسال پیام
ارسال به فروش
</>
)}
</Button>
+10 -10
View File
@@ -62,7 +62,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -73,26 +73,26 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {
<div className="mt-20 flex flex-col justify-between gap-15 md:gap-10 lg:flex-row">
<div className="flex w-full max-w-lg flex-col justify-between gap-10">
<p className="indent-[22%] text-3xl font-medium tracking-tight text-muted-foreground/50 lg:text-xl">
ما با ترکیب تجربه، خلاقیت و دانش فنی به سازمان‌ها کمک می‌کنیم راهکارهایی مؤثر و ماندگار ایجاد کنند.{" "}
<span className="text-foreground">آماده پاسخ‌گویی به شما هستیم</span>
ما به تیم‌های فروش کمک می‌کنیم lead، پیپ‌لاین و روابط مشتری را در یک CRM یکپارچه مدیریت کنند.{" "}
<span className="text-foreground">آماده هماهنگی دمو هستیم</span>
</p>
<div className="mt-5 flex items-center gap-4 lg:mt-20">
<img
src="/block-media/shadcnblocks/block/guri3/avatar3.png"
className="size-12"
alt="تصویر پروفایل"
alt="تصویر کارشناس فروش"
/>
<div>
<h3 className="text-lg font-medium tracking-tight">
علی محمدی
</h3>
<p className="text-sm text-foreground/40">مشاور ارشد پروژه</p>
<p className="text-sm text-foreground/40">مدیر موفقیت مشتری</p>
</div>
</div>
</div>
<div className="col-span-4 flex w-full flex-col gap-2 lg:ps-10">
<h1 className="mb-7 text-2xll font-semibold tracking-tight lg:text-2xll">
ارتباط با ما
گفت‌وگو با فروش
</h1>
{isSubmitted && (
@@ -103,7 +103,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
درخواست شما با موفقیت ثبت شد. کارشناسان ما در اولین فرصت با شما تماس خواهند گرفت.
درخواست شما ثبت شد. کارشناس فروش به‌زودی هماهنگی می‌کند.
</p>
</div>
)}
@@ -122,7 +122,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نام و نام خانوادگی"
placeholder="نام کامل"
className="h-15 rounded-none border-0 border-b border-b-foreground/25 !bg-transparent shadow-none placeholder:text-foreground/20 focus-visible:ring-0 lg:text-base"
/>
{fieldState.invalid && (
@@ -168,7 +168,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="درباره پروژه یا درخواست خود بنویسید."
placeholder="هدف دمو، اندازه تیم یا سؤال فروش را بنویسید."
className="h-15 rounded-none border-0 border-b border-b-foreground/25 !bg-transparent shadow-none placeholder:text-foreground/20 focus-visible:ring-0 lg:text-base"
/>
{fieldState.invalid && (
@@ -197,7 +197,7 @@ const Contact21 = ({ className, onSubmit }: Contact21Props) => {
) : (
<>
<CornerDownLeft className="size-5" />
ارسال درخواست
رزرو دمو
</>
)}
</Button>
+14 -14
View File
@@ -47,12 +47,12 @@ interface Contact22Props {
}
const Contact22 = ({
title = "دفاتر ما",
description = "از طریق نزدیک‌ترین دفتر یا فرم تماس با ما در ارتباط باشید. کارشناسان ما آماده پاسخ‌گویی و ارائه مشاوره هستند.",
title = "دفاتر منطقه‌ای فروش",
description = "نزدیک‌ترین دفتر سازمانی را انتخاب کنید یا فرم را پر کنید تا تیم فروش و موفقیت مشتری پیگیری کنند.",
locations = [
{
id: "tehran",
name: "تهران",
name: "تهران — دفتر تهران",
address: "Valiasr St, District 6",
city: "Tehran, Iran",
phone: "۲۱-۱۲۳۴۵۶۷۸",
@@ -61,7 +61,7 @@ const Contact22 = ({
},
{
id: "nyc",
name: "نیویورک",
name: "نیویورک — آمریکای شمالی",
address: "350 Fifth Avenue, Suite 4200",
city: "New York, NY 10118",
phone: "+1 (212) 555-0123",
@@ -70,7 +70,7 @@ const Contact22 = ({
},
{
id: "la",
name: "لس آنجلس",
name: "لس‌آنجلس — ساحل غربی",
address: "633 West 5th Street, Suite 2600",
city: "Los Angeles, CA 90071",
phone: "+1 (213) 555-0456",
@@ -79,7 +79,7 @@ const Contact22 = ({
},
{
id: "chicago",
name: "شیکاگو",
name: "شیکاگو — میدوست",
address: "233 South Wacker Drive, Suite 8400",
city: "Chicago, IL 60606",
phone: "+1 (312) 555-0789",
@@ -88,7 +88,7 @@ const Contact22 = ({
},
{
id: "miami",
name: "میامی",
name: "میامی — جنوب شرقی",
address: "1395 Brickell Avenue, Suite 800",
city: "Miami, FL 33131",
phone: "+1 (305) 555-0234",
@@ -97,7 +97,7 @@ const Contact22 = ({
},
{
id: "boston",
name: "بوستون",
name: "بوستون — شمال شرقی",
address: "100 Federal Street, Suite 2000",
city: "Boston, MA 02110",
phone: "+1 (617) 555-0567",
@@ -140,7 +140,7 @@ const Contact22 = ({
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -275,7 +275,7 @@ const Contact22 = ({
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
پیام شما با موفقیت ثبت شد. به‌زودی با شما تماس خواهیم گرفت.
پیام شما ثبت شد. تیم منطقه‌ای فروش ظرف یک روز کاری تماس می‌گیرد.
</p>
</div>
)}
@@ -288,13 +288,13 @@ const Contact22 = ({
render={({ field, fieldState }) => (
<Field data-invalid={fieldState.invalid}>
<FieldLabel htmlFor={field.name}>
نام و نام خانوادگی <span className="text-destructive">*</span>
نام کامل <span className="text-destructive">*</span>
</FieldLabel>
<Input
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نام و نام خانوادگی"
placeholder="نام کامل"
/>
{fieldState.invalid && (
<FieldError errors={[fieldState.error]} />
@@ -341,7 +341,7 @@ const Contact22 = ({
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="چگونه می‌توانیم به شما کمک کنیم؟"
placeholder="دمو، استقرار یا پشتیبانی سازمانی را مشخص کنید."
rows={3}
/>
{fieldState.invalid && (
@@ -368,7 +368,7 @@ const Contact22 = ({
در حال ارسال...
</>
) : (
"ارسال پیام"
"ارسال به دفتر منطقه‌ای"
)}
</Button>
</FieldGroup>
+13 -13
View File
@@ -27,46 +27,46 @@ interface Contact23Props {
}
const Contact23 = ({
title = "یافتن نزدیک‌ترین شعبه",
description = "نام شهر یا کد پستی را وارد کنید تا نزدیک‌ترین شعبه یا نمایندگی را پیدا کنید.",
title = "نزدیک‌ترین مرکز پشتیبانی",
description = "شهر یا کد پستی را وارد کنید تا نزدیک‌ترین دفتر فروش یا مرکز پشتیبانی CRM را پیدا کنید.",
locations = [
{
id: "1",
name: "شعبه مرکزی",
name: "مرکز پشتیبانی مرکزی",
address: "Valiasr St, District 6",
city: "Tehran, Iran",
phone: "۲۱-۱۲۳۴۵۶۷۸",
hours: "شنبه تا پنج‌شنبه ۱۰ تا ۲۱، جمعه ۱۱ تا ۱۸",
hours: "شنبه تا چهارشنبه ۹ تا ۱۸، پنج‌شنبه ۹ تا ۱۴",
distance: "۱۳ کیلومتر",
mapQuery: "Valiasr Street, Tehran, Iran",
},
{
id: "2",
name: "شعبه ونک",
name: "دفتر فروش ونک",
address: "Vanak Square, District 3",
city: "Tehran, Iran",
phone: "۲۱-۸۸۷۷۶۶۵۵",
hours: "شنبه تا پنج‌شنبه ۱۰ تا ۲۰، جمعه ۱۲ تا ۱۸",
hours: "شنبه تا چهارشنبه ۹ تا ۱۷، پنج‌شنبه ۹ تا ۱۳",
distance: "۲ کیلومتر",
mapQuery: "Vanak Square, Tehran, Iran",
},
{
id: "3",
name: "شعبه سعادت‌آباد",
name: "مرکز موفقیت مشتری سعادت‌آباد",
address: "Seyyed Khandan St",
city: "Tehran, Iran",
phone: "۲۱-۴۴۰۱۱۲۲",
hours: "شنبه تا پنج‌شنبه ۹ تا ۱۹، جمعه ۱۰ تا ۱۷",
hours: "شنبه تا چهارشنبه ۹ تا ۱۷",
distance: "۴.۲ کیلومتر",
mapQuery: "Saadat Abad, Tehran, Iran",
},
{
id: "4",
name: "شعبه تجریش",
name: "دفتر سازمانی تجریش",
address: "Tajrish Square",
city: "Tehran, Iran",
phone: "۲۱-۲۲۷۷۸۸۹۹",
hours: "شنبه تا پنج‌شنبه ۸ تا ۲۰، جمعه ۹ تا ۱۸",
hours: "شنبه تا چهارشنبه ۹ تا ۱۸",
distance: "۵.۱ کیلومتر",
mapQuery: "Tajrish, Tehran, Iran",
},
@@ -94,7 +94,7 @@ const Contact23 = ({
placeholder="نام شهر یا کد پستی"
className="bg-background"
/>
<Button>جستجو</Button>
<Button>یافتن دفتر</Button>
</div>
<div className="grid gap-8 lg:grid-cols-5">
@@ -160,7 +160,7 @@ const Contact23 = ({
className="flex-1"
asChild
>
<a href={`tel:${location.phone}`}>تماس با شعبه</a>
<a href={`tel:${location.phone}`}>تماس با دفتر</a>
</Button>
</div>
</div>
@@ -171,7 +171,7 @@ const Contact23 = ({
<div className="lg:col-span-3">
<div className="sticky top-8 overflow-hidden rounded-xl">
<iframe
title="نقشه موقعیت فروشگاه‌ها"
title="نقشه دفاتر و مراکز پشتیبانی"
src={`https://www.google.com/maps?q=${encodeURIComponent(mapQuery)}&output=embed`}
className="aspect-[4/3] w-full border-0 lg:aspect-auto lg:h-[600px]"
loading="lazy"
+4 -4
View File
@@ -21,8 +21,8 @@ interface Contact24Props {
}
const Contact24 = ({
title = "دفاتر ما",
description = "شبکه دفاتر و نمایندگی‌های ما آماده ارائه خدمات و پشتیبانی به مشتریان در نقاط مختلف است.",
title = "حضور سازمانی در مناطق کلیدی",
description = "دفاتر منطقه‌ای ما استقرار CRM، پشتیبانی سازمانی و هماهنگی فروش را برای مشتریان enterprise در سراسر جهان پوشش می‌دهند.",
offices = [
{
id: "1",
@@ -85,7 +85,7 @@ const Contact24 = ({
<div className="relative h-48 overflow-hidden">
<img
src={office.mapImage}
alt={`نقشه دفتر ${office.city}`}
alt={`نقشه دفتر سازمانی ${office.city}`}
className="size-full object-cover transition-transform duration-300 group-hover:scale-105"
/>
<div className="absolute inset-0 bg-gradient-to-t from-background/80 to-transparent" />
@@ -125,7 +125,7 @@ const Contact24 = ({
<Button variant="outline" className="w-full gap-2">
<ExternalLink className="size-4" />
مشاهده در نقشه
مشاهده روی نقشه
</Button>
</div>
</div>
+19 -19
View File
@@ -49,34 +49,34 @@ interface Contact25Props {
}
const Contact25 = ({
title = "چگونه می‌توانیم به شما کمک کنیم؟",
description = "پاسخ پرسش‌های رایج را مشاهده کنید یا در صورت نیاز پیام خود را برای ما ارسال کنید.",
faqTitle = "سوالات متداول",
title = "پشتیبانی، دمو و onboarding",
description = "پاسخ پرسش‌های رایج محصول را ببینید یا برای دمو، استقرار و پشتیبانی پیام بفرستید.",
faqTitle = "سوالات متداول CRM",
faqs = [
{
question: "ساعات کاری شما چیست؟",
question: "ساعات پشتیبانی محصول چیست؟",
answer:
"تیم پشتیبانی ما دوشنبه تا جمعه، ۹ صبح تا ۶ عصر در دسترس است. برای موارد فوری خارج از این ساعات، به urgent@company.com ایمیل بزنید.",
"تیم Customer Success شنبه تا چهارشنبه، ۹ تا ۱۸ در دسترس است. برای موارد فوری خارج از این ساعات به urgent@company.com ایمیل بزنید.",
},
{
question: "پاسخ‌دهی چقدر طول می‌کشد؟",
question: "پاسخ به تیکت چقدر طول می‌کشد؟",
answer:
"معمولاً ظرف ۲۴ ساعت در روزهای کاری به همه درخواست‌ها پاسخ می‌دهیم. درخواست‌های پیچیده ممکن است تا ۴۸ ساعت زمان ببرند.",
"معمولاً ظرف ۲۴ ساعت کاری به درخواست‌های پشتیبانی پاسخ می‌دهیم. مسائل پیچیده یا یکپارچه‌سازی ممکن است تا ۴۸ ساعت زمان ببرد.",
},
{
question: "پشتیبانی تلفنی دارید؟",
answer:
"بله، پشتیبانی تلفنی برای مشترکین طرح حرفه‌ای و سازمانی فعال است. شماره اختصاصی پشتیبانی را در داشبورد حساب خود ببینید.",
"بله؛ پشتیبانی تلفنی برای پلن حرفه‌ای و سازمانی فعال است. شماره اختصاصی را در داشبورد حساب خود ببینید.",
},
{
question: "می‌توانم دمو رزرو کنم؟",
question: "چطور دموی محصول رزرو کنم؟",
answer:
"حتماً! از طریق وب‌سایت یا تماس مستقیم با تیم فروش می‌توانید دمو شخصی‌سازی‌شده رزرو کنید. هر جلسه معمولاً ۳۰ تا ۴۵ دقیقه طول می‌کشد.",
"از فرم همین صفحه یا تماس با تیم فروش می‌توانید دمو شخصی‌سازی‌شده رزرو کنید. هر جلسه معمولاً ۳۰ تا ۴۵ دقیقه است.",
},
{
question: "در پیام چه اطلاعاتی بنویسم؟",
question: "در پیام پشتیبانی چه بنویسم؟",
answer:
"لطفاً ایمیل حساب (در صورت وجود)، توضیح دقیق سوال یا مشکل، و در صورت نیاز تصویر یا پیام خطا را ارسال کنید.",
"ایمیل حساب، توضیح دقیق مشکل یا سؤال onboarding، و در صورت نیاز اسکرین‌شات یا متن خطا را ارسال کنید تا سریع‌تر رسیدگی شود.",
},
],
className,
@@ -111,7 +111,7 @@ const Contact25 = ({
setTimeout(() => setIsSubmitted(false), 5000);
} catch {
form.setError("root", {
message: "مشکلی پیش آمد. لطفاً دوباره تلاش کنید.",
message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.",
});
}
};
@@ -150,7 +150,7 @@ const Contact25 = ({
<div>
<div className="mb-6 flex items-center gap-2">
<MailIcon className="size-5 text-muted-foreground" />
<h2 className="text-lg font-medium">هنوز سوالی دارید؟</h2>
<h2 className="text-lg font-medium">هنوز سؤال دارید؟</h2>
</div>
<form
onSubmit={form.handleSubmit(handleFormSubmit)}
@@ -164,7 +164,7 @@ const Contact25 = ({
)}
>
<p className="text-sm font-medium text-green-600 dark:text-green-400">
پیام شما ثبت شد و در کوتاه‌ترین زمان پاسخ خواهیم داد.
تیکت شما ثبت شد. تیم پشتیبانی به‌زودی پاسخ می‌دهد.
</p>
</div>
)}
@@ -176,13 +176,13 @@ const Contact25 = ({
render={({ field, fieldState }) => (
<Field data-invalid={fieldState.invalid}>
<FieldLabel htmlFor={field.name}>
نام و نام خانوادگی <span className="text-destructive">*</span>
نام کامل <span className="text-destructive">*</span>
</FieldLabel>
<Input
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="نام و نام خانوادگی"
placeholder="نام و نقش شغلی"
className="bg-background"
/>
{fieldState.invalid && (
@@ -228,7 +228,7 @@ const Contact25 = ({
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="چگونه می‌توانیم به شما کمک کنیم؟"
placeholder="دمو، onboarding یا مشکل پشتیبانی را بنویسید."
rows={4}
className="bg-background"
/>
@@ -257,7 +257,7 @@ const Contact25 = ({
در حال ارسال...
</>
) : (
"ارسال پیام"
"ارسال به پشتیبانی"
)}
</Button>
</FieldGroup>
+19 -19
View File
@@ -25,7 +25,7 @@ import { Textarea } from "@/components/ui/textarea";
import { cn } from "@/lib/utils";
const contactFormSchema = z.object({
inquiryType: z.string().min(1, "لطفاً نوع درخواست را انتخاب کنید"),
inquiryType: z.string().min(1, "نوع درخواست را انتخاب کنید"),
budget: z.string().optional(),
name: z.string().min(1, "نام الزامی است"),
email: z
@@ -34,15 +34,15 @@ const contactFormSchema = z.object({
.email("آدرس ایمیل نامعتبر است"),
company: z.string().optional(),
phone: z.string().optional(),
message: z.string().min(10, "لطفاً جزئیات بیشتری بنویسید"),
message: z.string().min(10, "جزئیات بیشتری درباره نیاز فروش بنویسید"),
});
type ContactFormData = z.infer<typeof contactFormSchema>;
const steps = [
{ id: 1, name: "نوع درخواست" },
{ id: 2, name: "اطلاعات شما" },
{ id: 3, name: "پیام" },
{ id: 2, name: "اطلاعات تماس" },
{ id: 3, name: "نیاز فروش" },
];
interface Contact28Props {
@@ -53,8 +53,8 @@ interface Contact28Props {
}
const Contact28 = ({
title = "شروع کنید",
subtitle = "نیازها و اهداف پروژه خود را شرح دهید تا کارشناسان ما حداکثر طی یک روز کاری با شما تماس بگیرند.",
title = "راه‌اندازی CRM فروش",
subtitle = "اندازه تیم فروش، نیاز CRM و اهداف درآمدی را بگویید؛ کارشناس فروش حداکثر تا یک روز کاری با شما تماس می‌گیرد.",
className,
onSubmit,
}: Contact28Props) => {
@@ -132,9 +132,9 @@ const Contact28 = ({
<div className="mx-auto mb-6 flex size-20 items-center justify-center rounded-full bg-green-500/10">
<Check className="size-10 text-green-600" />
</div>
<h2 className="mb-4 text-xl font-medium">درخواست شما ثبت شد</h2>
<h2 className="mb-4 text-xl font-medium">درخواست CRM ثبت شد</h2>
<p className="text-xl text-muted-foreground">
پیام شما با موفقیت دریافت شد. نتیجه بررسی حداکثر تا یک روز کاری به شما اطلاع داده خواهد شد.
تیم فروش درخواست شما را دریافت کرد و حداکثر تا یک روز کاری برای هماهنگی دمو یا مشاوره تماس می‌گیرد.
</p>
<Button
className="mt-10"
@@ -146,7 +146,7 @@ const Contact28 = ({
form.reset();
}}
>
ارسال درخواست جدید
درخواست جدید
</Button>
</div>
</div>
@@ -233,14 +233,14 @@ const Contact28 = ({
id={field.name}
aria-invalid={fieldState.invalid}
>
<SelectValue placeholder="موضوع درخواست را انتخاب کنید" />
<SelectValue placeholder="نوع درخواست CRM را انتخاب کنید" />
</SelectTrigger>
<SelectContent>
<SelectItem value="general">پرسش عمومی</SelectItem>
<SelectItem value="general">پرسش محصول CRM</SelectItem>
<SelectItem value="sales">فروش و قیمت‌گذاری</SelectItem>
<SelectItem value="support">پشتیبانی فنی</SelectItem>
<SelectItem value="partnership">همکاری</SelectItem>
<SelectItem value="demo">درخواست دمو</SelectItem>
<SelectItem value="support">پشتیبانی فنی CRM</SelectItem>
<SelectItem value="partnership">همکاری تجاری</SelectItem>
<SelectItem value="demo">درخواست دمو فروش</SelectItem>
</SelectContent>
</Select>
{fieldState.invalid && (
@@ -256,14 +256,14 @@ const Contact28 = ({
render={({ field }) => (
<Field>
<FieldLabel htmlFor={field.name}>
بودجه پروژه
بودجه پیاده‌سازی
</FieldLabel>
<Select
onValueChange={field.onChange}
value={field.value}
>
<SelectTrigger id={field.name}>
<SelectValue placeholder="انتخاب بازه بودجه" />
<SelectValue placeholder="بازه بودجه را انتخاب کنید" />
</SelectTrigger>
<SelectContent>
<SelectItem value="<5k">
@@ -385,14 +385,14 @@ const Contact28 = ({
render={({ field, fieldState }) => (
<Field data-invalid={fieldState.invalid}>
<FieldLabel htmlFor={field.name}>
چگونه می‌توانیم به شما کمک کنیم؟{" "}
نیاز تیم فروش را شرح دهید{" "}
<span className="text-destructive">*</span>
</FieldLabel>
<Textarea
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="جزئیات پروژه، نیازها یا پرسش‌های خود را با ما در میان بگذارید."
placeholder="تعداد کاربران فروش، فرآیند فعلی CRM، یکپارچگی‌های موردنیاز یا هدف از دمو را بنویسید."
rows={6}
/>
{fieldState.invalid && (
@@ -445,7 +445,7 @@ const Contact28 = ({
در حال ارسال...
</>
) : (
"ارسال"
"ارسال درخواست"
)}
</Button>
)}
+23 -23
View File
@@ -27,14 +27,14 @@ import { Textarea } from "@/components/ui/textarea";
import { cn } from "@/lib/utils";
const contactFormSchema = z.object({
serviceType: z.string().min(1, "لطفاً یک خدمت انتخاب کنید"),
serviceType: z.string().min(1, "یک مسیر را انتخاب کنید"),
name: z.string().min(1, "نام الزامی است"),
email: z
.string()
.min(1, "ایمیل الزامی است")
.email("آدرس ایمیل نامعتبر است"),
company: z.string().optional(),
message: z.string().min(1, "پیام الزامی است"),
message: z.string().min(1, "شرح نیاز فروش الزامی است"),
});
type ContactFormData = z.infer<typeof contactFormSchema>;
@@ -43,32 +43,32 @@ const services = [
{
id: "consulting",
icon: Users,
title: "مشاوره تخصصی",
description: "مشاوره برای برنامه‌ریزی، تحلیل و تصمیم‌گیری",
title: "مشاوره فروش و CRM",
description: "طراحی قیف فروش، فرآیند پیگیری لید و ساختار CRM",
},
{
id: "development",
icon: Laptop,
title: "توسعه نرم‌افزار",
description: "طراحی و توسعه راهکارهای نرم‌افزاری متناسب با نیاز شما",
title: "سفارشی‌سازی پلتفرم",
description: "اتوماسیون فروش، یکپارچه‌سازی و داشبورد KPI",
},
{
id: "enterprise",
icon: Building2,
title: "راهکارهای سازمانی",
description: "پیاده‌سازی سامانه‌های سازمانی در مقیاس بزرگ",
title: "CRM سازمانی",
description: "پیاده‌سازی در مقیاس بزرگ با کنترل دسترسی و گزارش‌گیری",
},
{
id: "startup",
icon: Rocket,
title: "استارتاپ‌ها",
description: "همراهی در طراحی نسخه اولیه محصول و توسعه کسب‌وکار",
title: "تیم‌های در حال رشد",
description: "راه‌اندازی سریع CRM برای تیم‌های فروش در حال مقیاس",
},
{
id: "other",
icon: HelpCircle,
title: "سایر خدمات",
description: "سایر درخواست‌ها و نیازها",
title: "سایر درخواست‌ها",
description: "مهاجرت داده، شراکت تجاری یا مشاوره تخصصی",
},
];
@@ -80,8 +80,8 @@ interface Contact29Props {
}
const Contact29 = ({
title = "همکاری را آغاز کنیم",
subtitle = "حوزه موردنیاز خود را انتخاب کنید و اطلاعات پروژه را برای ما ارسال کنید.",
title = "مسیر CRM مناسب را انتخاب کنید",
subtitle = "نوع نیاز فروش را مشخص کنید و جزئیات پیاده‌سازی CRM را برای تیم فروش ارسال کنید.",
className,
onSubmit,
}: Contact29Props) => {
@@ -146,9 +146,9 @@ const Contact29 = ({
<div className="mx-auto mb-6 flex size-20 items-center justify-center rounded-full bg-green-500/10">
<Check className="size-10 text-green-600" />
</div>
<h2 className="mb-4 text-xl font-medium">پیام شما ارسال شد</h2>
<h2 className="mb-4 text-xl font-medium">درخواست شما ثبت شد</h2>
<p className="text-xl text-muted-foreground">
از اعتماد شما سپاسگزاریم. درخواست شما بررسی شده و حداکثر تا یک روز کاری با شما تماس خواهیم گرفت.
تیم فروش درخواست CRM را بررسی می‌کند و حداکثر تا یک روز کاری برای هماهنگی دمو یا پیاده‌سازی تماس می‌گیرد.
</p>
<Button
className="mt-10"
@@ -156,7 +156,7 @@ const Contact29 = ({
variant="outline"
onClick={resetForm}
>
ارسال پیام جدید
درخواست جدید
</Button>
</div>
</div>
@@ -252,10 +252,10 @@ const Contact29 = ({
</button>
<h1 className="mb-6 text-2xll font-medium tracking-tight md:text-2xll lg:text-2xll">
درباره پروژه بیشتر توضیح دهید
جزئیات نیاز فروش را تکمیل کنید
</h1>
<p className="mb-12 text-xl text-muted-foreground md:text-xl">
هرچه اطلاعات بیشتری از پروژه ارائه دهید، راهکار دقیق‌تر و پیشنهاد مناسب‌تری دریافت خواهید کرد.
هرچه درباره تیم فروش، قیف فعلی و یکپارچگی‌ها دقیق‌تر بنویسید، پیشنهاد CRM و زمان‌بندی دمو دقیق‌تر خواهد بود.
</p>
<div className="flex items-center gap-4 rounded-xl bg-background p-5 shadow-sm">
@@ -287,7 +287,7 @@ const Contact29 = ({
onSubmit={form.handleSubmit(handleFormSubmit)}
className="w-full rounded-2xl bg-background p-8 shadow-lg md:p-10"
>
<h2 className="mb-8 text-xl font-semibold">اطلاعات تماس</h2>
<h2 className="mb-8 text-xl font-semibold">اطلاعات تماس فروش</h2>
<FieldGroup>
<div className="grid gap-4 sm:grid-cols-2">
@@ -358,13 +358,13 @@ const Contact29 = ({
render={({ field, fieldState }) => (
<Field data-invalid={fieldState.invalid}>
<FieldLabel htmlFor={field.name}>
پیام <span className="text-destructive">*</span>
شرح نیاز CRM <span className="text-destructive">*</span>
</FieldLabel>
<Textarea
{...field}
id={field.name}
aria-invalid={fieldState.invalid}
placeholder="اهداف، نیازها و جزئیات پروژه خود را شرح دهید."
placeholder="اهداف فروش، تعداد کاربران، ابزار فعلی CRM و زمان موردنظر برای راه‌اندازی را بنویسید."
rows={5}
/>
{fieldState.invalid && (
@@ -392,7 +392,7 @@ const Contact29 = ({
در حال ارسال...
</>
) : (
"ارسال پیام"
"ارسال درخواست"
)}
</Button>
</FieldGroup>
+11 -11
View File
@@ -17,7 +17,7 @@ const Contact3 = ({ className }: Contact3Props) => {
<section dir="rtl" lang="fa" className={cn("py-32", className)}>
<div className="container">
<div className="text-center">
<h1 className="mb-7 text-xl font-bold md:text-2xll">تماس با ما</h1>
<h1 className="mb-7 text-xl font-bold md:text-2xll">آماده‌اید CRM را ببینید؟</h1>
<div className="flex flex-col justify-center gap-2 sm:flex-row">
<Button size="lg">درخواست دمو</Button>
<Button variant="outline" size="lg">
@@ -25,15 +25,15 @@ const Contact3 = ({ className }: Contact3Props) => {
</Button>
</div>
<p className="mt-4 text-sm text-muted-foreground">
نیازی به وارد کردن اطلاعات پرداخت نیست
بدون کارت بانکی، در چند دقیقه شروع کنید
</p>
</div>
<div className="mt-28 grid gap-16 md:grid-cols-2">
<div>
<MessagesSquare className="mb-5 h-8 w-auto" />
<p className="mb-2 font-bold md:text-xl">پشتیبانی فنی</p>
<p className="mb-2 font-bold md:text-xl">پشتیبانی محصول</p>
<p className="mb-6 text-sm text-muted-foreground md:text-base">
اگر در استفاده از محصول با مشکلی روبه‌رو شده‌اید، تیم پشتیبانی آماده پاسخ‌گویی و راهنمایی شماست.
در استفاده از قیف فروش، اتوماسیون یا گزارش‌ها گیر کرده‌اید؟ تیم پشتیبانی CRM راهنمایی‌تان می‌کند.
</p>
<a href="#" className="font-semibold hover:underline">
تماس با پشتیبانی
@@ -43,7 +43,7 @@ const Contact3 = ({ className }: Contact3Props) => {
<Users className="mb-5 h-8 w-auto" />
<p className="mb-2 font-bold md:text-xl">مشاوره فروش</p>
<p className="mb-6 text-sm text-muted-foreground md:text-base">
برای دریافت دمو، استعلام قیمت یا انتخاب بهترین پلن، با کارشناسان فروش در ارتباط باشید.
برای دمو اختصاصی، مقایسه پلن‌ها یا برآورد استقرار، با کارشناس فروش گفتگو کنید.
</p>
<a href="#" className="font-semibold hover:underline">
صحبت با فروش
@@ -51,19 +51,19 @@ const Contact3 = ({ className }: Contact3Props) => {
</div>
<div>
<MessageCircleDashed className="mb-5 h-8 w-auto" />
<p className="mb-2 font-bold md:text-xl">همکاری و ارتباطات</p>
<p className="mb-2 font-bold md:text-xl">شرکای فروش و همکاری</p>
<p className="mb-6 text-sm text-muted-foreground md:text-base">
برای همکاری، امور رسانه‌ای یا سایر درخواست‌ها از طریق فرم تماس با ما در ارتباط باشید.
اگر می‌خواهید به‌عنوان شریک فروش یا یکپارچه‌ساز کار کنید، درخواست همکاری را برایمان بفرستید.
</p>
<a href="#" className="font-semibold hover:underline">
تماس با ما
درخواست همکاری
</a>
</div>
<div>
<ScanFace className="mb-5 h-8 w-auto" />
<p className="mb-2 font-bold md:text-xl">تأیید اطلاعات</p>
<p className="mb-2 font-bold md:text-xl">دسترسی سازمانی</p>
<p className="mb-6 text-sm text-muted-foreground md:text-base">
در صورت نیاز به تأیید اطلاعات یا استعلام‌های رسمی، از طریق سامانه احراز هویت اقدام کنید.
برای تأیید دامنه شرکت، فعال‌سازی SSO یا دسترسی ادمین CRM، فرایند احراز هویت سازمانی را طی کنید.
</p>
<a href="#" className="font-semibold hover:underline">
شروع احراز هویت
@@ -72,7 +72,7 @@ const Contact3 = ({ className }: Contact3Props) => {
</div>
<div className="mt-28">
<h1 className="mb-16 text-center text-xl font-bold md:text-xl">
دفاتر و نمایندگی‌های ما
دفاتر جهانی تیم فروش
</h1>
<div className="mx-auto grid max-w-7xl gap-7 sm:grid-cols-2 md:grid-cols-3 lg:px-14">
<div className="rounded-lg border p-5">

Some files were not shown because too many files have changed in this diff Show More