146 lines
8.4 KiB
C#
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; }
|
|
}
|
|
} |