masoodafar-web
40882c8b80
Phase 8d: NuGet bump 0.0.185 → 0.0.186 (proto cleanup)
2026-02-26 18:00:47 +03:30
masoodafar-web
d71d463668
Phase 8c: FO Package pages — Customer RPCs + dynamic features
...
- NuGet: 0.0.182 → 0.0.185 + local feed source
- PackageDetail: GetPackageAsync → GetCustomerPackageDetailsAsync
Features & specs now driven by API (PackageFeature) not hardcoded
- Packages.razor: Un-excluded from build, dynamic feature bullets
from CustomerPackageModel (DiscountMultiplier, MagicWallet, etc.)
- PackageService: Enriched PackageDto with 8 new package fields
GetUserPackageStatusAsync connected to real RPC (was stub)
2026-02-26 17:52:37 +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
b82cac4af1
Cleanup: Remove hardcoded 'پکیج طلایی' labels, add PackageTitle to DTO
...
- MyPackages.razor: dynamic PackageTitle from DTO instead of hardcoded 'پکیج طلایی'
- Packages.razor: generic text for purchase status and info section
- PackageService.cs: add PackageTitle to UserPackageStatusDto record
2026-02-26 02:01:54 +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
8b78235ef5
chore: prevent appsettings.Production.json from merging — keep ours strategy
Build and Deploy to Production / build-and-deploy (push) Successful in 6m27s
2026-02-23 00:03:00 +03:30
masoodafar-web
86f43d8fdd
chore: prevent appsettings.Production.json from merging — keep ours strategy
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m0s
2026-02-23 00:02:31 +03:30
masoodafar-web
f02d082d7b
fix: correct GwUrl in Production config to cms.kbs2.ir
Build and Deploy to Production / build-and-deploy (push) Successful in 6m23s
2026-02-22 22:29:17 +03:30
masoodafar-web
a11a3765b8
Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Has been cancelled
2026-02-22 22:22:43 +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
93b7375db5
feat: add VAT display to all DiscountStore pages — Products (note), ProductDetail (breakdown), Cart (summary line), Checkout (refactor to VATService), OrderDetail (financial summary)
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
2026-02-22 21:26:01 +03:30
masoodafar-web
00da4b98dd
refactor: rename 'تخفیف' to 'اعتبار' in DiscountStore pages
...
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m1s
- Products.razor: X% تخفیف → X% اعتبار
- ProductDetail.razor: تخفیف از کیف اعتباری → اعتبار از کیف اعتباری
- Cart.razor: سقف تخفیف/تخفیف → سقف اعتبار/اعتبار (desktop + mobile)
- Checkout.razor: تخفیف از کیف اعتباری → اعتبار، مبلغ پس از تخفیف → مبلغ پس از اعتبار
- OrderDetail.razor: سقف تخفیف/تخفیف → سقف اعتبار/اعتبار
2026-02-22 21:03:10 +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
214fe9efbd
refactor: update CMS protobuf package to version 0.0.182
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
2026-02-22 20:48:08 +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
admin
3cf5ad429d
Update src/FrontOffice.Main/Shared/Footer.razor
Build and Deploy to Production / build-and-deploy (push) Successful in 6m39s
2026-02-22 10:25:35 +00:00
masoodafar-web
710ddbe261
Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 6m2s
2026-02-21 20:38:23 +03:30
masoodafar-web
be2633ddaf
refactor: update CMS protobuf package to version 0.0.181
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m28s
2026-02-21 20:20:47 +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
masoodafar-web
c08d776ecc
docs: move docs to totalDoc, replace with placeholders
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m42s
2026-02-18 21:44:32 +03:30
masoodafar-web
e2ca65ed98
Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 6m42s
2026-02-18 01:19:34 +03:30
masoodafar-web
bed1ad7c66
feat: lazy load products in both stores (infinite scroll)
...
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- ProductService: add GetProductsPagedAsync with PaginationState support
- Store/Products: replace load-all with page-by-page lazy loading (12 per page)
- DiscountStore/Products: replace pagination with lazy load (load more button)
- Both stores show 'load more' button + loading indicator + 'all shown' text
2026-02-18 01:15:48 +03:30
masoodafar-web
ae9b448a64
merge: kub-stage → production (1:1 square images + site pages + landing animation fix)
Build and Deploy to Production / build-and-deploy (push) Has been cancelled
2026-02-18 01:01:44 +03:30
masoodafar-web
22203fd8f4
feat: make all product images 1:1 square ratio across both stores
...
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m18s
- Store/Products.razor: aspect-ratio:1/1 instead of height:60%
- DiscountStore/Products.razor: same square ratio
- Store/ProductDetail.razor: aspect-ratio:1/1 instead of max-height:400px
- DiscountStore/ProductDetail.razor: ObjectFit.Cover + aspect-ratio:1/1
- Store/Cart.razor: rounded-lg instead of rounded-circle (desktop+mobile)
- Store/CheckoutSummary.razor: rounded-lg + ObjectFit.Cover
- Store/OrderDetail.razor: rounded-lg + ObjectFit.Cover (desktop+mobile)
- DiscountStore/Cart.razor: rounded-lg + ObjectFit.Cover (desktop+mobile)
- DiscountStore/Checkout.razor: rounded-lg + ObjectFit.Cover
2026-02-18 01:00:42 +03:30
masoodafar-web
bf0eb089bb
fix: re-init scroll animations after data loads from DB
...
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m55s
- initScrollAnimations ran only on firstRender when data wasn't loaded yet
- Items with fade-in-up class stayed invisible (opacity:0) after data render
- Now tracks _dataLoaded/_animationsInitialized flags to re-init JS after data loads
- Also fixes stat counter animations not running (stats were empty on firstRender)
2026-02-17 23:57:41 +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
997ab80fa4
refactor: migrate About & Contact pages to SitePageSettings system
...
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m58s
- About.razor: use SitePageSettingsService + GetSettings<AboutSettings>()
- About.razor.cs: read values/team from ImageGroups instead of SitePage sections
- Contact.razor: use SitePageSettingsService + GetSettings<ContactSettings>()
- Contact.razor.cs: read address/phone/email/social from SettingsJson
2026-02-17 23:02:58 +03:30
masoodafar-web
bba9c1d1d8
feat: Add Licenses page + SitePageSettingsService
...
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m18s
- SitePageSettingsService: new gRPC client for simplified page settings
- Licenses.razor: new page showing license certificates from CMS
- RouteConstants: added Licenses route
- Footer + MainLayout: added Licenses navigation link
- Proto NuGet updated to 0.0.180
2026-02-17 22:35:20 +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
Masoud
1ea928118d
fix: update references from تخفیفی to اعتباری across multiple files
Build and Deploy to Production / build-and-deploy (push) Successful in 5m46s
2026-02-17 15:26:09 +03:30
Masoud
8f2d739d1f
fix: update references from تخفیفی to اعتباری across multiple files
Build and Deploy to Production / build-and-deploy (push) Has been cancelled
2026-02-17 15:24:13 +03:30
Masoud
f070a0b294
fix: update references from "فروشگاه تخفیفی" to "فروشگاه اعتباری" across multiple files
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m38s
2026-02-17 15:22:19 +03:30
masoodafar-web
585109ab86
chore: clean up commented-out GwUrl in appsettings
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m0s
2026-02-17 02:56:01 +03:30
masoodafar-web
8e89d5e064
Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 5m43s
2026-02-17 01:59:40 +03:30
masoodafar-web
c094c10da2
fix: add appsettings.Production.json — GwUrl=cms.kbs1.ir
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m31s
2026-02-17 01:58:17 +03:30
masoodafar-web
44ef166109
fix: update appsettings.Development.json with necessary configuration settings
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m53s
2026-02-17 01:46:10 +03:30
masoodafar-web
aca6101e47
docs: اضافه شدن نسخه ۲.۷.۰ به CHANGELOG — تخفیف اجباری, VAT, PaymentStatus, DeliveryStatus mapping
2026-02-17 01:44:19 +03:30
masoodafar-web
8bd961ade1
Fix production workflow: use SERVER_PASSWORD, add docker login, use set image for deploy
Build and Deploy to Production / build-and-deploy (push) Successful in 5m39s
2026-02-17 01:24:06 +03:30
masoodafar-web
750d4c6b97
Remove staging workflow files from production branch to prevent cross-deployment
2026-02-17 01:15:59 +03:30
masoodafar-web
276a4c20f2
Merge branch 'kub-stage' into production
...
Build and Deploy to Production / build-and-deploy (push) Successful in 1m12s
Features merged:
- Discount store UI improvements (100% auto-discount, VAT breakdown)
- PaymentStatus display on orders (Pending/Success/Failed/Refunded)
- Failed payment UX with re-order link
- Product discount badges show actual percent
- Various UI and bug fixes
Production workflow preserved.
2026-02-17 00:55:52 +03:30
masoodafar-web
81f32e6ec1
feat: show PaymentStatus on discount orders + failed payment UX
...
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m25s
- Updated NuGet to Protobuf v0.0.179
- Added PaymentStatus to DiscountOrderSummary and DiscountOrderDetail records
- OrderDetail: show payment status chip (Pending/Success/Failed/Refunded)
- OrderDetail: show alert with re-order link for failed payments
- Orders: updated desktop table and mobile cards with PaymentStatus chips
- Added GetPaymentStatusText() and GetPaymentStatusColor() helpers
2026-02-16 22:38:40 +03:30
masoodafar-web
0df5d6a595
feat: show VAT breakdown on discount checkout — discount, net, 9% VAT, final amount
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m56s
2026-02-16 22:22:07 +03:30
masoodafar-web
f60b007fdd
fix: show actual product discount percent instead of misleading '100% تخفیفی'
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m3s
2026-02-16 22:05:52 +03:30
masoodafar-web
01b9f1eb98
fix: remove discount balance UI entirely — 100% discount auto-applied by server
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
2026-02-16 21:57:18 +03:30
masoodafar-web
1dc60faf4a
feat: force 100% discount — remove slider, auto-apply max discount from wallet
...
Build and Deploy to Kubernetes / build-and-deploy (push) Has been cancelled
- Remove MudSlider and MudNumericField from Checkout
- Auto-apply MaxUsable (full discount balance)
- Show fixed '100% تخفیفی' badge on Products, Cart, ProductDetail, Checkout
- GatewayAmount = TotalPrice - MaxUsable (no user choice)
2026-02-16 21:52:21 +03:30