Files
FrontOffice/src/FrontOffice.Main/Pages/FAQ.razor.cs
MeysamMoghaddam 5abd0fc033 u
2025-10-13 10:43:40 +03:30

146 lines
8.4 KiB
C#

using MudBlazor;
namespace FrontOffice.Main.Pages;
public partial class FAQ
{
private string _searchQuery = "";
private List<FAQCategory> _categories = new();
private List<FAQQuestion> _filteredQuestions = new();
protected override void OnInitialized()
{
LoadFAQData();
}
protected override void OnParametersSet()
{
FilterQuestions();
}
private void LoadFAQData()
{
_categories = new List<FAQCategory>
{
new FAQCategory
{
Id = "getting-started",
Title = "شروع کار",
Description = "نحوه ثبت‌نام و شروع استفاده",
Icon = Icons.Material.Filled.PlayArrow,
Questions = new List<FAQQuestion>
{
new() { Question = "چگونه حساب کاربری بسازم؟", Answer = "برای ایجاد حساب کاربری، روی دکمه «شروع کنید» کلیک کنید و مراحل ثبت‌نام را دنبال کنید. نیاز به شماره موبایل معتبر دارید." },
new() { Question = "آیا ثبت‌نام رایگان است؟", Answer = "بله، ثبت‌نام اولیه کاملاً رایگان است. شما می‌توانید از امکانات پایه به صورت رایگان استفاده کنید." },
new() { Question = "چه مدارکی برای ثبت‌نام نیاز است؟", Answer = "تنها شماره موبایل معتبر نیاز است. برای استفاده از امکانات پیشرفته‌تر ممکن است نیاز به احراز هویت کامل باشد." }
}
},
new FAQCategory
{
Id = "pricing",
Title = "قیمت‌گذاری",
Description = "طرح‌های قیمت‌گذاری و پرداخت",
Icon = Icons.Material.Filled.Payment,
Questions = new List<FAQQuestion>
{
new() { Question = "طرح‌های قیمت‌گذاری شما چیست؟", Answer = "ما سه طرح داریم: استارتر (رایگان)، رشد (۳۹ دلار/ماه)، و اسکیل (تماس بگیرید). هر طرح برای اندازه تیم شما مناسب است." },
new() { Question = "آیا امکان ارتقا یا کاهش طرح وجود دارد؟", Answer = "بله، شما می‌توانید در هر زمان طرح خود را ارتقا دهید. کاهش طرح نیز با محدودیت‌های زمانی ممکن است." },
new() { Question = "چه روش‌های پرداختی پشتیبانی می‌شود؟", Answer = "از کارت‌های بانکی ایرانی، درگاه‌های پرداخت آنلاین، و کیف پول‌های دیجیتال پشتیبانی می‌کنیم." }
}
},
new FAQCategory
{
Id = "features",
Title = "امکانات",
Description = "ویژگی‌ها و قابلیت‌های سیستم",
Icon = Icons.Material.Filled.Build,
Questions = new List<FAQQuestion>
{
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<FAQQuestion>
{
new() { Question = "داده‌های من چگونه محافظت می‌شود؟", Answer = "از رمزنگاری پیشرفته، پشتیبان‌گیری منظم، و پروتکل‌های امنیتی استاندارد استفاده می‌کنیم." },
new() { Question = "آیا داده‌ها را با دیگران به اشتراک می‌گذاریم؟", Answer = "خیر، داده‌های شما کاملاً خصوصی است و تنها برای ارائه خدمات به شما استفاده می‌شود." },
new() { Question = "چگونه می‌توانم حساب خود را حذف کنم؟", Answer = "از طریق تنظیمات پروفایل می‌توانید درخواست حذف حساب دهید. این فرآیند ۳۰ روز طول می‌کشد." }
}
},
new FAQCategory
{
Id = "support",
Title = "پشتیبانی",
Description = "کمک و پشتیبانی فنی",
Icon = Icons.Material.Filled.Help,
Questions = new List<FAQQuestion>
{
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<FAQQuestion>
{
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<FAQQuestion>();
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<FAQQuestion> Questions { get; set; } = new();
}
public class FAQQuestion
{
public string? Question { get; set; }
public string? Answer { get; set; }
}
}