using MudBlazor; namespace FrontOffice.Main.Pages; public partial class FAQ { 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; } } }