Commit Graph

78 Commits

Author SHA1 Message Date
masoodafar-web d59d829d5f Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Failing after 17m21s
2026-06-26 19:30:51 +03:30
masoodafar-web 81d139cdab fix(profile): standardize JSRuntime usage in ChargeCreditWallet component
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 27m33s
- Updated references to `jsRuntime` to `JSRuntime` for consistency across the ChargeCreditWallet component.
- Improved the clarity of the code by ensuring uniform naming conventions in the handling of return URLs.

These changes enhance code readability and maintainability in the ChargeCreditWallet functionality.
2026-06-26 18:47:13 +03:30
masoodafar-web d44e99f4ab feat(profile): enhance ChargeCreditWallet with return URL handling and continue shopping button
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 22m27s
- Added support for return URL handling in ChargeCreditWallet to improve user experience after payment.
- Introduced a "Continue Shopping" button that allows users to navigate back to their previous shopping session after successfully charging their wallet.
- Updated the component to manage pending return URLs and ensure they are saved and retrieved correctly.

These changes enhance the functionality of the ChargeCreditWallet page, providing a smoother transition for users post-transaction.
2026-06-26 18:17:19 +03:30
masoodafar-web cd835ae6f9 feat(wallet): add credit wallet charge functionality and update payment callback
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- Introduced methods for initiating and verifying credit wallet charges in the WalletService.
- Updated PaymentCallback.razor to handle credit wallet charge verification.
- Added a button for charging the credit wallet in Wallet.razor.
- Updated route constants to include the new credit wallet charge route.

These changes enhance the wallet functionality by allowing users to charge their credit wallets and verify transactions seamlessly.
2026-06-26 16:13:18 +03:30
masoodafar-web 3c216feb32 Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Failing after 15m3s
2026-06-19 02:38:15 +03:30
masoodafar-web 7f8f99d4eb feat: enhance organization chart data mapping for improved clarity
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 17m19s
Updated the organization chart component to explicitly map network node properties to a flat array with camelCase keys. This change aligns the data structure with the BackOffice admin chart, enhancing consistency and clarity in the displayed information.
2026-06-19 01:56:54 +03:30
masoodafar-web 032b8eb448 Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 8m14s
2026-06-08 01:55:28 +03:30
masoodafar-web c2fd8790b6 fix(payment): guard against duplicate package payment verify
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m36s
Gate payment callback with a semaphore and block double-clicks on checkout
to avoid sending multiple verify requests after gateway redirect.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 01:32:47 +03:30
masoodafar-web 088ea8dc7f Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 6m36s
2026-05-29 19:59:19 +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 1914f703db Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Failing after 2m40s
2026-02-28 04:47:34 +03:30
masoodafar-web ff3696cda3 feat: implement payment verification methods for magic wallet and discount wallet
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 2m37s
2026-02-28 03:27:58 +03:30
masoodafar-web 2b1dc47dc7 cleanup: remove CallbackUrl from package purchase requests — CMS reads from config now
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 3m7s
2026-02-27 22:21:02 +03:30
masoodafar-web 2f9ef15859 fix: remove double ×10 conversion in wallet charge — FO should send Toman, not Rial
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 2m40s
Root cause: FrontOffice was converting Toman→Rial (×10) before sending to CMS,
but CMS ZarinPalService already does Toman→Rial conversion internally.
This caused double ×10 = amounts shown 10x higher in payment gateway.

Fixes:
- MagicWallet.razor.cs: remove ×10 conversion, send _chargeAmount (Toman) directly
- MagicWallet.razor: fix Max field (no /10), fix preset filter (no ×10)
- MagicWallet.razor.cs: fix FormatPrice — values from CMS are Toman, not Rial
- ChargeDiscountWallet.razor.cs: same fix — send Toman directly
- ClubMembershipContractDialog.razor: fix Price display (no /10)
2026-02-27 21:53:01 +03:30
masoodafar-web 5ded91a58a fix: payment success page — show TransactionId, real wallet balance, fix back button
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 2m53s
- کد ارجاعی: از TransactionId جدول تراکنش‌ها بجای RefId زرین‌پال
- موجودی: از WalletService.GetBalancesAsync() موجودی واقعی کیف پول اصلی
- حذف نمایش موجودی کیف پول اعتباری (نیازی نیست)
- دکمه بازگشت: Href=/profile بجای history.back() (که به درگاه می‌رفت)
2026-02-27 21:31:45 +03:30
masoodafar-web a3681a8bcd feat: داشبورد — لیست کاشی پکیج‌ها + مدال انتخاب روش پرداخت
- حذف متن hardcoded 'پکیج پایه ۵۶ میلیون تومان' و دیالوگ inline
- ایجاد PackagePurchaseDialog — کامپوننت مستقل 2 مرحله‌ای:
  مرحله ۱: نمایش کاشی‌های پکیج (ریسپانسیو ۲-۳ تایی)
  مرحله ۲: انتخاب روش پرداخت (درگاه بانکی / دایا الماس)
- دایا الماس فقط برای پکیج پایه + دور اول نمایش داده میشه
- پکیج‌ها داینامیک از API بارگذاری میشن
- تغییر متن CTA از 'شروع فرآیند تامین اعتبار' به 'تهیه پکیج'
- تغییر متن راهنما از 'پکیج پایه را تهیه کنید' به 'یکی از پکیج‌ها را تهیه کنید'
- CSS: hover effects + badge + responsive tiles
2026-02-27 20:14:40 +03:30
masoodafar-web ecc4f447ba F6+F7: مقادیر داینامیک کیف‌پول جادویی، اصلاح rename، افزایش سقف تخفیفی
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 2m34s
F6: MagicWallet.razor — جایگزینی ×2.5 و سقف‌های ثابت با مقادیر از API
    - WalletService: MagicMultiplier + MagicMaxCredit از gRPC response
    - Index.razor.cs: 'شارژ ×2.5' → 'شارژ چند‌برابری' (تایل داشبورد)
F7: ChargeDiscountWallet.razor — Max از 100M تومان به 1B تومان
اصلاح rename:
    - ConfigureServices: UserWalletChangeLog → UserWalletHistory
    - WalletService: اصلاح تمام رفرنس‌ها
NuGet: v0.0.189
2026-02-27 09:01:12 +03:30
masoodafar-web 474d364a25 feat(Q28): UI Guidance alerts across FrontOffice (G1-G7)
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 2m53s
Q28: Added informational/warning alerts to 7 FO pages:
G1: Packages — package system explanation
G2: Checkout — package benefits summary
G3: MyPackages — cycle completion guidance
G4: MagicWallet — per-package settings warning
G5: Commission — independent pool explanation
G6: Membership — single-sign contract info
G7: ActivationSection — estimated cost note
2026-02-27 05:40:04 +03:30
masoodafar-web 0bbc11e82c Phase 8a: Wire up Checkout page to Customer* RPCs
- Checkout.razor.cs: Rewrite ProcessPayment() to use
  CustomerPurchasePackageAsync instead of disabled dead code
  (old TransactionsContract + UserOrderContract flow removed)
- Callback URL now points to /profile/payment-callback
  (reuses existing verify page with CustomerVerifyPackagePurchase)
- Remove unused DI: UserOrderContract, TransactionContract
- Remove unused usings: Transactions, UserOrder, WellKnownTypes
- Profile/Index.razor.cs: Rename basePackage → selectedPackage,
  tempCallbackUrl → callbackUrl (cosmetic)
- Build: 0 errors
2026-02-26 03:33:58 +03:30
masoodafar-web 71f391ac80 Phase 7b: Migrate deprecated RPCs to Customer* RPCs
- Profile/Index: InitiateBasePackagePayment → CustomerPurchasePackage
  - Fetches base package via GetCustomerPackages, passes PackageId + PurchaseMethod
- Profile/PaymentCallback: VerifyBasePackagePayment → CustomerVerifyPackagePurchase
  - Uses Authority/Status (from ZarinPal callback) + orderId (from embedded URL param)
  - TransactionId no longer required (CMS finds it internally)
2026-02-26 02:35:59 +03:30
masoodafar-web a606cd93cd fix: rename wallet labels — اصلی، اعتباری، پاداش تیمی
Build and Deploy to Production / build-and-deploy (push) Successful in 6m19s
- عادی → اصلی (کیف پول اصلی)
- شبکه → پاداش تیمی
- پورسانت → پاداش تیمی
- موجودی کیف پول → موجودی کیف پول اصلی

Files: Wallet.razor, WalletService.cs, MagicWallet.razor,
       Profile/Index.razor, PaymentCallback.razor
2026-02-23 23:26:52 +03:30
masoodafar-web ab8693b381 fix: rename wallet labels — اصلی، اعتباری، پاداش تیمی
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m11s
- عادی → اصلی (کیف پول اصلی)
- شبکه → پاداش تیمی
- پورسانت → پاداش تیمی
- موجودی کیف پول → موجودی کیف پول اصلی

Files: Wallet.razor, WalletService.cs, MagicWallet.razor,
       Profile/Index.razor, PaymentCallback.razor
2026-02-23 23:24:29 +03:30
masoodafar-web 2fa9dbc900 feat: enable gateway buttons - remove بزودی disabled state
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m40s
- ChargeDiscountWallet: active payment button with StartDiscountCharge
- MagicWallet: active payment button with StartMagicCharge
- Index: both branch buttons call DirectPayment with loading state
2026-02-22 22:13:23 +03:30
masoodafar-web 8e1f7d7a0c fix: change ریال to تومان in MagicWallet helper text
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m2s
2026-02-22 21:30:26 +03:30
masoodafar-web 7371a263e8 refactor: rename 'تخفیفی' to 'اعتباری' in all user-facing UI
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- ChargeDiscountWallet.razor: فروشگاه تخفیفی → فروشگاه اعتباری
- PaymentCallback.razor: اعتبار تخفیف → کیف پول اعتباری
- Profile/Index.razor: تخفیف باشگاه → کیف اعتباری
2026-02-22 20:56:38 +03:30
masoodafar-web 8cef475877 temp: disable gateway payment buttons - show 'بزودی' until gateway is activated
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- MagicWallet.razor: disable charge button
- ChargeDiscountWallet.razor: disable charge button
- Profile/Index.razor: disable IPG package purchase button for all cycles
2026-02-22 20:44:22 +03:30
masoodafar-web 28695a88f8 feat: ChargeDiscountWallet UI - page, route, client method & wallet link
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- Add ChargeDiscountWallet.razor page with charge form and preset amounts
- Add ChargeDiscountWallet.razor.cs code-behind with gateway redirect logic
- Add InitiateDiscountChargeAsync client method in WalletService
- Add ChargeDiscountWallet route constant
- Add charge button link on main Wallet page
2026-02-22 20:22:52 +03:30
masoodafar-web a2e1e1fead feat: Magic Wallet Phase 6 UI + purchase cycle controls
- FrontOffice.Main.csproj: switch to ProjectReference for CMS Protobuf
- MagicWallet.razor.cs: update default record with PurchaseCycleCount
- WalletService.cs: add PurchaseCycleCount to MagicWalletStatus record
- Profile/Index.razor.cs: load _purchaseCycleCount from MagicWalletStatus
- Profile/Index.razor: conditional purchase dialog (IPG vs Daya by cycle)
- Licenses.razor: fix grid column size xs=6
2026-02-22 20:04:44 +03:30
masoodafar-web 104e4df1a6 feat: implement Magic Wallet feature with charging and status display
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 6m25s
2026-02-21 19:50:43 +03:30
Masoud 183ce0a2e5 fix: update references from "تخفیفی" to "اعتباری" across multiple files
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m55s
2026-02-17 15:28:52 +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 081b9d3c10 refactor: update user address models and methods to use CustomerAddressModel across multiple components
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 3m8s
2026-02-08 00:25:12 +03:30
masoodafar-web eab978188a Refactor: Update Protobuf references to CMSMicroservice across multiple components
- Changed Protobuf imports from FrontOffice.BFF to CMSMicroservice in Profile components (EditAddressDialog, Index, PaymentCallback, Personal, Settings).
- Updated CheckoutSummary, OrderDetail, OrderTracking, and Orders pages to use new UserOrder Protobuf definitions.
- Refactored WalletService, PackageService, and other utility services to align with new Protobuf structure.
- Adjusted appsettings.json for local development URL.
- Removed unused validators and simplified validation logic in AuthDialog.
- Enhanced ClubMembershipContractDialog to utilize new OtpToken service for OTP handling.
2026-02-03 00:02:16 +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 368d429897 feat: update commission protobuf version; enhance weekly balance display with new member counts and carryover logic
Build and Deploy / build (push) Successful in 1m26s
2025-12-28 23:53:45 +03:30
masoodafar-web e3521af071 feat: enhance WithdrawalRequests page with payout selection and improved submission logic; add sorting options for products
Build and Deploy / build (push) Successful in 1m18s
2025-12-27 06:22:41 +03:30
masoodafar-web cca89e4100 feat: update membership and network terminology to customer club language 2025-12-21 16:51:39 +03:30
masoodafar-web d7abcf4278 feat: update membership and network terminology to customer club language 2025-12-21 16:00:49 +03:30
masoodafar-web 10331663ce feat: disable payment button and add coming soon label 2025-12-20 05:57:53 +03:30
masoodafar-web 025e8d3c3e feat: add withdrawal requests feature and update VAT loading mechanism
Build and Deploy / build (push) Successful in 1m25s
2025-12-20 04:03:11 +03:30
masoodafar-web 9ee464b8b4 feat: implement VAT management service and integrate VAT calculations across components 2025-12-19 00:30:33 +03:30
masoodafar-web 6b457d0ce6 feat: integrate d3-org-chart for network visualization and add SignalR token notification service 2025-12-18 03:19:06 +03:30
masoodafar-web 27c2c0259b feat: add club membership contract dialog and city autocomplete 2025-12-17 22:46:07 +03:30
masoodafar-web 3af564be73 feat: add payment callback and referral link features
Build and Deploy / build (push) Failing after 1m21s
2025-12-16 02:33:56 +03:30
masoodafar-web 68c114e43e feat: Add package management features and update checkout summary
- Added PackageService to handle package-related operations.
- Introduced MyPackages and Packages pages for user package management.
- Updated CheckoutSummary to display VAT calculations.
- Enhanced OrderDetail to show financial details including VAT.
- Added ChangePassword page for user profile management.
- Implemented OrderTracking page for tracking order status.
- Updated RouteConstants to include new routes for packages and password change.
2025-12-05 17:27:04 +03:30
masoodafar-web 95c6bf5efa feat: Implement Commission and Network Statistics Pages with DTOs and Services
- Added CommissionDashboardPage and CommissionHistoryPage for displaying commission payouts and history.
- Implemented WeeklyBalancePage to show weekly balance details.
- Created NetworkStatisticsPage to display network statistics and tree structure.
- Developed corresponding services (CommissionService, NetworkMembershipService) for data retrieval.
- Introduced DTOs for Commission and Network data structures (CommissionPayoutDto, WeeklyBalanceDto, NetworkStatisticsDto).
- Added mock data generation for testing purposes in services.
- Enhanced UI with MudBlazor components for better user experience.
2025-12-04 17:29:16 +03:30
masoodafar-web a8e6693c70 update 2025-12-02 03:32:39 +03:30
masoodafar-web 771c740c62 Update wallet service with Jalali date conversion and UI improvements 2025-11-28 14:43:58 +03:30
masoodafar-web 7d545a2849 Improve mobile layout and product card design 2025-11-28 06:40:35 +03:30
masoodafar-web 2dc5e4c713 Merge branch 'main' into stage
# Conflicts:
#	src/FrontOffice.Main/Shared/MainLayout.razor
#	src/FrontOffice.Main/Utilities/WalletService.cs
2025-11-28 05:13:28 +03:30