Files
FrontOffice/src/FrontOffice.Main/Pages/FAQ.razor.cs
T
masoodafar-web d8289237e9
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m46s
fix: update terminology for sales organization and rewards
Replaced instances of "شجره‌نامه" with "سازمان فروش" across multiple files to ensure consistent terminology. Additionally, updated references to "پاداش تیمی" to "پاداش های دریافتی" for clarity in user-facing text.

Affected files:
- FAQ.razor.cs
- Index.razor
- Index.razor.cs
- Profile/Index.razor
- Profile/Index.razor.cs
- Profile/MagicWallet.razor
- Profile/Tree.razor
- Profile/Wallet.razor
- Utilities/WalletService.cs
2026-05-29 19:58:48 +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@kbs1.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@kbs1.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; }
}
}