diff --git a/src/FrontOffice.Main/Pages/FAQ.razor b/src/FrontOffice.Main/Pages/FAQ.razor new file mode 100644 index 0000000..a3955e1 --- /dev/null +++ b/src/FrontOffice.Main/Pages/FAQ.razor @@ -0,0 +1,307 @@ +@attribute [Route(RouteConstants.FAQ.Index)] +@inject NavigationManager Navigation + +سوالات متداول | فرصت + + +
+ + + سوالات متداول + + پاسخ سوالات شما در اینجا + + + در این بخش به پرتکرارترین سوالات کاربران پاسخ داده‌ایم. اگر سوال شما در لیست نیست، با تیم پشتیبانی ما تماس بگیرید. + + + + + + + + +
+ + + + +
+ + دسته‌بندی سوالات + + @foreach (var category in _categories) + { + + + + + @category.Title + + @category.Description + + + @category.QuestionCount سوال + + + + + } + + +
+ + +
+ + @if (!string.IsNullOrWhiteSpace(_searchQuery)) + { + + + نتایج جستجو برای "@_searchQuery" + @if (_filteredQuestions.Any()) + { + + @foreach (var question in _filteredQuestions) + { + + @((MarkupString)question.Answer) + + } + + } + else + { + + + نتیجه‌ای یافت نشد + + سعی کنید از کلمات کلیدی دیگری استفاده کنید. + + + } + + } + else + { + + @foreach (var category in _categories) + { + +
+ @category.Title + + @foreach (var question in category.Questions) + { + + @((MarkupString)question.Answer) + + } + +
+
+ } + } +
+
+ + +
+ + + + سوال شما پاسخ داده نشد؟ + + تیم پشتیبانی ما آماده پاسخگویی به سوالات شما است. از طریق راه‌های زیر با ما تماس بگیرید. + + + + + + + ایمیل + support@foursat.co + + ارسال ایمیل + + + + + + + + چت آنلاین + پاسخگویی ۲۴ ساعته + + شروع چت + + + + + + + + تلفن + ۰۲۱-۱۲۳۴۵۶۷۸ + + تماس تلفنی + + + + + + +
+ +
+ +@code { + private string _searchQuery = ""; + private List _categories = new(); + private List _filteredQuestions = new(); + + protected override void OnInitialized() + { + LoadFAQData(); + } + + protected override void OnParametersSet() + { + FilterQuestions(); + } + + private void LoadFAQData() + { + _categories = new List + { + new FAQCategory + { + Id = "getting-started", + Title = "شروع کار", + Description = "نحوه ثبت‌نام و شروع استفاده", + Icon = Icons.Material.Filled.PlayArrow, + Questions = new List + { + new() { Question = "چگونه حساب کاربری بسازم؟", Answer = "برای ایجاد حساب کاربری، روی دکمه «شروع کنید» کلیک کنید و مراحل ثبت‌نام را دنبال کنید. نیاز به شماره موبایل معتبر دارید." }, + new() { Question = "آیا ثبت‌نام رایگان است؟", Answer = "بله، ثبت‌نام اولیه کاملاً رایگان است. شما می‌توانید از امکانات پایه به صورت رایگان استفاده کنید." }, + new() { Question = "چه مدارکی برای ثبت‌نام نیاز است؟", Answer = "تنها شماره موبایل معتبر نیاز است. برای استفاده از امکانات پیشرفته‌تر ممکن است نیاز به احراز هویت کامل باشد." } + } + }, + new FAQCategory + { + Id = "pricing", + Title = "قیمت‌گذاری", + Description = "طرح‌های قیمت‌گذاری و پرداخت", + Icon = Icons.Material.Filled.Payment, + Questions = new List + { + new() { Question = "طرح‌های قیمت‌گذاری شما چیست؟", Answer = "ما سه طرح داریم: استارتر (رایگان)، رشد (۳۹ دلار/ماه)، و اسکیل (تماس بگیرید). هر طرح برای اندازه تیم شما مناسب است." }, + new() { Question = "آیا امکان ارتقا یا کاهش طرح وجود دارد؟", Answer = "بله، شما می‌توانید در هر زمان طرح خود را ارتقا دهید. کاهش طرح نیز با محدودیت‌های زمانی ممکن است." }, + new() { Question = "چه روش‌های پرداختی پشتیبانی می‌شود؟", Answer = "از کارت‌های بانکی ایرانی، درگاه‌های پرداخت آنلاین، و کیف پول‌های دیجیتال پشتیبانی می‌کنیم." } + } + }, + new FAQCategory + { + Id = "features", + Title = "امکانات", + Description = "ویژگی‌ها و قابلیت‌های سیستم", + Icon = Icons.Material.Filled.Build, + Questions = new List + { + new() { Question = "شجره‌نامه چگونه کار می‌کند؟", Answer = "شجره‌نامه بصری نمایش سلسله مراتبی تیم شما را نشان می‌دهد و امکان ردیابی روابط ارجاعی را فراهم می‌کند." }, + new() { Question = "گزارش‌گیری به چه صورت است؟", Answer = "سیستم گزارش‌های جامع مالی، عملکردی و آماری ارائه می‌دهد که قابل فیلتر و دانلود به فرمت Excel است." }, + new() { Question = "آیا از موبایل قابل استفاده است؟", Answer = "بله، اپلیکیشن کاملاً responsive است و تجربه کاربری عالی در موبایل و تبلت ارائه می‌دهد." } + } + }, + new FAQCategory + { + Id = "security", + Title = "امنیت", + Description = "امنیت داده‌ها و حریم خصوصی", + Icon = Icons.Material.Filled.Security, + Questions = new List + { + new() { Question = "داده‌های من چگونه محافظت می‌شود؟", Answer = "از رمزنگاری پیشرفته، پشتیبان‌گیری منظم، و پروتکل‌های امنیتی استاندارد استفاده می‌کنیم." }, + new() { Question = "آیا داده‌ها را با دیگران به اشتراک می‌گذاریم؟", Answer = "خیر، داده‌های شما کاملاً خصوصی است و تنها برای ارائه خدمات به شما استفاده می‌شود." }, + new() { Question = "چگونه می‌توانم حساب خود را حذف کنم؟", Answer = "از طریق تنظیمات پروفایل می‌توانید درخواست حذف حساب دهید. این فرآیند ۳۰ روز طول می‌کشد." } + } + }, + new FAQCategory + { + Id = "support", + Title = "پشتیبانی", + Description = "کمک و پشتیبانی فنی", + Icon = Icons.Material.Filled.Help, + Questions = new List + { + new() { Question = "پشتیبانی چگونه کار می‌کند؟", Answer = "پشتیبانی ۲۴ ساعته از طریق چت آنلاین، ایمیل و تلفن ارائه می‌شود. پاسخگویی در کمتر از ۲ ساعت." }, + new() { Question = "آیا آموزش‌هایی دارید؟", Answer = "بله، مرکز راهنمایی جامع با ویدیوهای آموزشی، راهنماها و وبینارهای آموزشی داریم." }, + new() { Question = "چگونه مشکل فنی گزارش دهم؟", Answer = "از طریق پنل پشتیبانی یا ایمیل support@foursat.co می‌توانید مشکلات را گزارش دهید." } + } + }, + new FAQCategory + { + Id = "legal", + Title = "قوانین و مقررات", + Description = "قوانین استفاده و شرایط", + Icon = Icons.Material.Filled.Gavel, + Questions = new List + { + new() { Question = "شرایط استفاده از خدمات چیست؟", Answer = "با ثبت‌نام، شرایط استفاده را می‌پذیرید. این شرایط در صفحه قوانین کامل توضیح داده شده است." }, + new() { Question = "سیاست بازگشت وجه چگونه است؟", Answer = "در صورت عدم رضایت، امکان بازگشت وجه در ۱۴ روز اول وجود دارد. شرایط کامل در صفحه بازگشت وجه." }, + new() { Question = "چگونه می‌توانم شکایت کنم؟", Answer = "از طریق ایمیل legal@foursat.co یا فرم تماس شکایات می‌توانید شکایت خود را ثبت کنید." } + } + } + }; + + // Calculate question counts + foreach (var category in _categories) + { + category.QuestionCount = category.Questions.Count; + } + } + + private void FilterQuestions() + { + if (string.IsNullOrWhiteSpace(_searchQuery)) + { + _filteredQuestions = new List(); + return; + } + + _filteredQuestions = _categories + .SelectMany(c => c.Questions) + .Where(q => q.Question.Contains(_searchQuery, StringComparison.OrdinalIgnoreCase) || + q.Answer.Contains(_searchQuery, StringComparison.OrdinalIgnoreCase)) + .ToList(); + } + + private void ScrollToCategory(string categoryId) + { + // TODO: Implement smooth scroll to category + } + + public class FAQCategory + { + public string? Id { get; set; } + public string? Title { get; set; } + public string? Description { get; set; } + public string? Icon { get; set; } + public int QuestionCount { get; set; } + public List Questions { get; set; } = new(); + } + + public class FAQQuestion + { + public string? Question { get; set; } + public string? Answer { get; set; } + } +} \ No newline at end of file diff --git a/src/FrontOffice.Main/Shared/MainLayout.razor b/src/FrontOffice.Main/Shared/MainLayout.razor index 23a019f..bfd3cb8 100644 --- a/src/FrontOffice.Main/Shared/MainLayout.razor +++ b/src/FrontOffice.Main/Shared/MainLayout.razor @@ -37,7 +37,7 @@
امکانات قیمت‌ها - سوالات متداول + سوالات متداول درباره ما ارتباط با ما
@@ -66,7 +66,7 @@ امکانات قیمت‌ها - سوالات متداول + سوالات متداول درباره ما ارتباط diff --git a/src/FrontOffice.Main/Utilities/RouteConstants.cs b/src/FrontOffice.Main/Utilities/RouteConstants.cs index c2820dc..22d2db4 100644 --- a/src/FrontOffice.Main/Utilities/RouteConstants.cs +++ b/src/FrontOffice.Main/Utilities/RouteConstants.cs @@ -27,4 +27,9 @@ public static class RouteConstants { public const string Index = "/about"; } + + public static class FAQ + { + public const string Index = "/faq"; + } }