Commit Graph

35 Commits

Author SHA1 Message Date
masoodafar-web 454d27f37e feat: add new sections for steps, features, and stats on the landing page
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- Introduced a "How It Works" section with a three-step guide to enhance user onboarding.
- Added a "Features" section showcasing six key features with icons to highlight the platform's benefits.
- Implemented a "Stats" section displaying counter cards for key metrics, improving the overall presentation of information on the landing page.

These changes enhance the user experience by providing clear and engaging content that guides users through the platform's offerings.
2026-06-30 02:49:50 +03:30
masoodafar-web d8289237e9 fix: update terminology for sales organization and rewards
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m46s
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
masoodafar-web 2874b931df feat: hide product prices from unauthenticated (guest) users
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 4m48s
Guests can browse products and product details for presentation purposes,
but prices are hidden behind a 'وارد شوید' prompt (lock icon).
Authenticated users see prices as before.

Affected pages:
- Landing page (Index): top-selling regular + discount sections
- Store/Products list
- Store/ProductDetail (desktop price + mobile sticky bar)
- DiscountStore/Products list
- DiscountStore/ProductDetail (full price box)

Each code-behind now checks AuthService.IsAuthenticatedAsync() on init
and stores the result in _isAuthenticated for use in the template.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 19:58:28 +03:30
masoodafar-web e5b1e11895 fix: update product titles in Index.razor for clarity
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 4m49s
Changed the text for best-selling products in both the main store and credit store sections to improve clarity and consistency. The previous titles "پرخریدترین محصولات فروشگاه" and "پرخریدترین محصولات فروشگاه اعتباری" have been updated to "محصولات پرفروش فروشگاه" and "محصولات پرفروش فروشگاه اعتباری" respectively.
2026-05-14 02:07:46 +03:30
masoodafar-web 231da2cbaa feat: add top-seller product sections to landing page with guest browsing support
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 3m10s
- Add two sections to landing page (Index.razor) below the hero:
  - Top 6 best-selling regular products (3-per-row grid)
  - Top 6 best-selling discount store products (3-per-row grid)
  - Each section has a 'More' button linking to /products and /discount-store
- Add GuestActionGate utility service: wraps auth-required actions; shows
  login modal for guests and resumes the original action after successful login
- Register GuestActionGate as scoped service in ConfigureServices
- Add GetTopSellingAsync(count) to ProductService and DiscountProductService
- Add optional sortBy parameter to DiscountProductService.GetProductsAsync
- Hybridize all product pages for guest browsing:
  - Store/Products, Store/ProductDetail: wrap AddToCart with GuestActionGate
  - DiscountStore/Products, DiscountStore/ProductDetail: wrap AddToCart with GuestActionGate
  - Store/Cart, DiscountStore/Cart, Store/CheckoutSummary: soft auth gate on page init
- Fix MembershipPage membership benefit text to be package-agnostic

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 19:48:14 +03:30
masoodafar-web be78bc683a refactor: migrate Landing page to SitePageSettings system
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m33s
- Index.razor.cs: load landing SettingsJson via SitePageSettingsService
- PopulateFromSettings(): parse trustBadges, steps, features, stats, testimonials, faqs from DB
- ResolveIcon(): dynamically resolve MudBlazor icons from icon name strings
- Index.razor: make hero text, section titles, CTA dynamic with fallback defaults
- All hardcoded data preserved as fallbacks when DB is unavailable
2026-02-17 23:17:09 +03:30
masoodafar-web 6db83ccd90 feat: full FrontOffice updates - discount store, blog, payment gateway, UI improvements
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 4m55s
- Discount store pages (products, cart, orders, order detail)
- Blog pages and services
- Payment gateway callback page
- AppImage component, EmptyState, LoadingState, PageHeader
- DiscountCartService, DiscountOrderService, DiscountProductService
- BlogCategoryService, BlogPostService, SitePageService, ImageCacheService
- PhoneVerifyForm component
- Profile Hub page
- UI/UX improvements across all pages
- landing.js for homepage
- Config and routing updates
2026-02-16 00:51:39 +03:30
masoodafar-web 29ce8cad38 Refactor commission-related pages and terminology to enhance clarity and consistency
Build and Deploy / build (push) Successful in 1m22s
- Updated CommissionDashboardPage to reflect new terminology for rewards instead of commissions.
- Removed CommissionHistoryPage as its functionality has been integrated into the dashboard.
- Adjusted WeeklyBalancePage to align with new reward terminology and improved layout.
- Modified Index, NetworkStatisticsPage, MyPackages, Packages, Profile, and Wallet pages to use consistent terms related to team and rewards.
- Updated ClubMembershipContractDialog to clarify user invitation terms.
- Enhanced footer description to reflect the focus on sales teams.
2025-12-29 00:35:12 +03:30
masoodafar-web cce59612fa Merge branch 'main' of https://git.afrino.co/FourSat/FrontOffice 2025-11-09 20:30:27 +03:30
masoodafar-web 99bfc1e619 update 2025-11-09 20:24:09 +03:30
MeysamMoghaddam 557dc3b2df u 2025-11-09 11:49:54 +03:30
MeysamMoghaddam 2e5aaac095 U 2025-11-09 11:39:54 +03:30
MeysamMoghaddam 47a185bfbe u 2025-10-22 16:13:37 +03:30
MeysamMoghaddam a5699364c7 u 2025-10-13 17:14:39 +03:30
MeysamMoghaddam 86abecb3ce u 2025-10-13 17:12:25 +03:30
MeysamMoghaddam 2e9542e83d u 2025-10-13 00:07:50 +03:30
MeysamMoghaddam 6eddf7b295 u 2025-10-09 22:39:04 +03:30
MeysamMoghaddam 8fc4878c44 u 2025-10-09 22:32:06 +03:30
MeysamMoghaddam 2c8b3c8483 u 2025-10-09 21:55:18 +03:30
MeysamMoghaddam 585445d338 Update Index.razor 2025-10-09 21:21:57 +03:30
MeysamMoghaddam b466dfbc9a u 2025-10-09 20:50:37 +03:30
MeysamMoghaddam 792f690d8f Update Index.razor 2025-10-07 23:41:49 +03:30
MeysamMoghaddam dc996a0232 Update Index.razor 2025-10-07 23:41:15 +03:30
MeysamMoghaddam 52e7b84a86 u 2025-10-07 19:53:33 +03:30
MeysamMoghaddam edf71d7bf5 Update Index.razor 2025-10-07 16:45:48 +03:30
MeysamMoghaddam 2b6ee6353b Update Index.razor 2025-10-07 16:42:11 +03:30
MeysamMoghaddam 8488f5d8fb u 2025-10-07 16:20:07 +03:30
MeysamMoghaddam 64a9387330 Update Index.razor 2025-10-07 02:28:22 +03:30
MeysamMoghaddam ad78e27f5e u 2025-10-07 02:25:35 +03:30
MeysamMoghaddam ee337952d1 u 2025-10-07 02:18:07 +03:30
MeysamMoghaddam b26225d8a6 u 2025-10-07 00:39:38 +03:30
MeysamMoghaddam 8c03d00a4b ع 2025-09-28 10:55:21 +03:30
MeysamMoghaddam a9affba39f u 2025-09-28 07:11:47 +03:30
MeysamMoghaddam d073995e02 u 2025-09-28 04:59:45 +03:30
MeysamMoghaddam 1b8a584435 u 2025-09-28 01:28:44 +03:30