- 08 Oct, 2025 2 commits
- 07 Oct, 2025 3 commits
-
-
❤ fix(topup): prevent nil-pointer in Epay callback; reset page on searchSeefs committed -
❤ Add early return when Epay client is missing in controller/topup.go to avoid panic Introduce handleKeywordChange in TopupHistoryModal.jsx to reset page to 1 when keyword updates Wire input onChange to new handler; minor UX improvement to avoid empty results on pagination mismatch
Apple\Apple committed -
✨ feat: Add topup billing history with admin manual completionSeefs committed
-
- 06 Oct, 2025 5 commits
-
-
🔎 Enable searching topup records by trade_no across both admin-wide and user-only views. Frontend - TopupHistoryModal.jsx: - Add search input with prefix icon (IconSearch) to filter by order number - Send `keyword` query param to backend; works with both endpoints: - Admin: GET /api/user/topup?p=1&page_size=10&keyword=... - User: GET /api/user/topup/self?p=1&page_size=10&keyword=... - Keep endpoint auto-switching based on role (isAdmin) - Minor UI polish: outlined admin action button; keep Coins icon for amount Backend - model/topup.go: - Add SearchUserTopUps(userId, keyword, pageInfo) - Add SearchAllTopUps(keyword, pageInfo) - Both support pagination and `trade_no LIKE %keyword%` filtering (ordered by id desc) - controller/topup.go: - GetUserTopUps / GetAllTopUps accept optional `keyword` and route to search functions when present Routes - No new endpoints; search is enabled via `keyword` on existing: - GET /api/user/topup - GET /api/user/topup/self Affected files - model/topup.go - controller/topup.go - web/src/components/topup/modals/TopupHistoryModal.jsxApple\Apple committed -
✨ Allow administrators to view all platform topup orders and streamline admin-only routes. Frontend - TopupHistoryModal: dynamically switch endpoint by role - Admin → GET /api/user/topup (all orders) - Non-admin → GET /api/user/topup/self (own orders) - Use shared utils `isAdmin()`; keep logic centralized and DRY - Minor UI: set admin action button theme to outline for clarity Backend - model/topup.go: add GetAllTopUps(pageInfo) with pagination (ordered by id desc) - controller/topup.go: add GetAllTopUps handler returning PageInfo response - router/api-router.go: - Add admin route GET /api/user/topup (AdminAuth) - Move POST /api/user/topup/complete to adminRoute (keeps path stable, consolidates admin endpoints) Security/Behavior - Admin-only endpoints now reside under the admin route group with AdminAuth - No behavior change for regular users; no schema changes Affected files - model/topup.go - controller/topup.go - router/api-router.go - web/src/components/topup/modals/TopupHistoryModal.jsx
Apple\Apple committed -
✨ Implement comprehensive topup billing system with user history viewing and admin management capabilities. ## Features Added ### Frontend - Add topup history modal with paginated billing records - Display order details: trade number, payment method, amount, money, status, create time - Implement empty state with proper illustrations - Add payment method column with localized display (Stripe, Alipay, WeChat) - Add admin manual completion feature for pending orders - Add Coins icon for recharge amount display - Integrate "Bills" button in RechargeCard header - Optimize code quality by using shared utility functions (isAdmin) - Extract constants for status and payment method mappings - Use React.useMemo for performance optimization ### Backend - Create GET `/api/user/topup/self` endpoint for user topup history with pagination - Create POST `/api/user/topup/complete` endpoint for admin manual order completion - Add `payment_method` field to TopUp model for tracking payment types - Implement `GetUserTopUps` method with proper pagination and ordering - Implement `ManualCompleteTopUp` with transaction safety and row-level locking - Add application-level mutex locks to prevent concurrent order processing - Record payment method in Epay and Stripe payment flows - Ensure idempotency and data consistency with proper error handling ### Internationalization - Add i18n keys for Chinese (zh), English (en), and French (fr) - Support for billing-related UI text and status messages ## Technical Improvements - Use database transactions with FOR UPDATE row-level locking - Implement sync.Map-based mutex for order-level concurrency control - Proper error handling and user-friendly toast notifications - Follow existing codebase patterns for empty states and modals - Maintain code quality with extracted render functions and constants ## Files Changed - Backend: controller/topup.go, controller/topup_stripe.go, model/topup.go, router/api-router.go - Frontend: web/src/components/topup/modals/TopupHistoryModal.jsx (new), web/src/components/topup/RechargeCard.jsx, web/src/components/topup/index.jsx - i18n: web/src/i18n/locales/{zh,en,fr}.jsonApple\Apple committed -
fix: improve text visibility in warning box for dark mode in SettingsLog
Seefs committed -
CaIon committed
-
- 05 Oct, 2025 15 commits
-
-
RedwindA committed
-
CaIon committed
-
feat: enhance SettingsLog component with confirmation modal for log deletion and improve user feedback
CaIon committed -
CaIon committed
-
CaIon committed
-
CaIon committed
-
fix: update versioning logic in electron-build.yml to correctly handle prerelease formats and modify product name in package.json
CaIon committed -
chore: update electron-build.yml to add write permissions and enable file overwriting in artifact uploads
CaIon committed -
CaIon committed
-
feat: Add Electron wrapper for desktop app
Calcium-Ion committed -
CaIon committed
-
CaIon committed
-
chore: update build workflows for Electron and Go, including version tagging and dependency management
CaIon committed -
CaIon committed
-
CaIon committed
-
- 04 Oct, 2025 2 commits
- 03 Oct, 2025 13 commits
-
-
💱 💱 feat: implement currency configuration helper and update currency display logic in RechargeCard and render functionsCaIon committed -
CaIon committed
-
💱 CaIon committed -
💱 feat(settings): introduce site-wide quota display typeCalcium-Ion committed -
CaIon committed
-
CaIon committed
-
✨ ✨ feat: add Spanish feature request template to GitHub issue tracker for improved feature proposal submissionsCaIon committed -
bubblepipe42 committed
-
bubblepipe42 committed
-
bubblepipe42 committed
-
✨ ✨ feat: add English feature request template to GitHub issue tracker for enhanced feature proposal submissionsCaIon committed -
✨ CaIon committed -
bubblepipe42 committed
-