zetaloop
38ff65d51f
refactor: drop Number() coercion on snowflake ids
2026-05-03 07:58:04 +08:00
zetaloop
7acde68d45
refactor(disputes): align type with backend and derive timeline in page
2026-05-03 06:02:05 +08:00
zetaloop
a3f0b49112
feat(chat): implement WebSocket chat client with useChatSocket hook
...
Replace the stubbed chat API with a real WebSocket hook that
connects to /ws/chat and supports DM creation, messaging,
session join/leave, and history retrieval. Keep REST stub
functions for backward compatibility with existing pages
that require listChatSessions/getChatSessionById imports.
2026-05-01 17:33:29 +08:00
zetaloop
1f20198f23
fix(api): remove unused listOrdersByConsumer helper
...
The function performed client-side filtering on top of listOrders
but was never called by any page. listPlayersByShop is kept as-is
since the backend has no dedicated shop players endpoint.
2026-05-01 17:33:29 +08:00
zetaloop
b6002f5691
refactor: remove hardcoded display values and unused lib/id.ts
...
Delete hardcoded marketing stats in auth layout and ¥12,800
placeholder in owner dashboard. Remove lib/id.ts which is no
longer referenced by any module.
2026-05-01 17:33:05 +08:00
zetaloop
cd469d3d54
refactor(notifications): fetch from backend API instead of local generation
...
Rewrite store/notifications.ts to fetch via listNotifications
API and remove local generateId-based notification creation.
The store now acts as a simple cache with fetch/invalidate methods.
Header unread count reads from this API-backed cache.
2026-05-01 17:33:05 +08:00
zetaloop
30c336345e
fix(api): normalize empty list responses
2026-04-26 01:53:05 +08:00
zetaloop
be7f957ca4
feat(api): add post creation client
2026-04-25 14:55:30 +08:00
zetaloop
358bfc7ac9
feat(api): add shop management clients
2026-04-25 14:49:25 +08:00
zetaloop
e559204347
feat(services): manage services through backend
2026-04-25 14:31:04 +08:00
zetaloop
e4a57b54ca
feat(wallet): add balance mutation clients
2026-04-25 14:22:37 +08:00
zetaloop
2661cfcd8a
fix(account): submit verification through backend
2026-04-25 14:17:51 +08:00
zetaloop
d7cc6b0141
feat(api): add account mutation clients
2026-04-25 14:13:45 +08:00
zetaloop
70230483f8
fix(api): skip unavailable backend routes
2026-04-25 14:04:53 +08:00
zetaloop
adfded0e40
fix(api): resolve server-side api urls from request context
2026-04-24 09:19:28 +08:00
zetaloop
3b82602c38
fix(api): align list defaults with backend page limits
2026-04-24 08:55:48 +08:00
zetaloop
2ab075d173
fix(api): propagate requestId for register and reset-password
...
Backend requires X-Request-Id header from the verification code send
response. Wire requestId through email/auth-extra API returns, register
and forgot-password pages, and auth API request headers.
2026-04-24 05:06:03 +08:00
zetaloop
4037816998
fix(api): align API layer with backend response formats
...
- wallet: parse {balance: string} response
- favorites: addFavorite returns void (EmptyResp)
- services: handle paginated response from listServicesByPlayer
- files: use query param ?key= instead of path param /:id
- search: remove unsupported selectedGames/minRating params
2026-04-23 21:14:57 +08:00
zetaloop
05c5d05148
refactor(api): update barrel exports
2026-03-01 22:51:03 +08:00
zetaloop
83ea3fea97
feat(wallet): migrate to backend API
2026-03-01 22:48:10 +08:00
zetaloop
ae239f3037
feat(notifications): migrate to backend API
2026-03-01 22:44:35 +08:00
zetaloop
236c1a24da
feat(comments): migrate to backend API
2026-03-01 22:40:29 +08:00
zetaloop
505d9c0168
feat(favorites): migrate to backend API
2026-03-01 22:36:50 +08:00
zetaloop
e2671638e6
feat(chat): migrate chat to backend API
2026-03-01 17:03:30 +08:00
zetaloop
f189ec9846
feat(disputes): migrate disputes and reviews to backend API
2026-03-01 16:25:33 +08:00
zetaloop
9739c94bdc
feat(orders): migrate orders to backend API
2026-02-28 18:13:42 +08:00
zetaloop
e94a7e68ff
feat(posts): wire community pages to backend posts API
2026-02-28 17:25:57 +08:00
zetaloop
bffd8b4968
fix(api): resolve server-side relative URLs
2026-02-28 16:56:46 +08:00
zetaloop
536465aa54
feat(users): fetch user by id from backend
2026-02-28 16:42:33 +08:00
zetaloop
f1ae3e04bb
feat(catalog): fetch players, services, shops
2026-02-28 16:37:15 +08:00
zetaloop
f4365668ab
feat(games): fetch games from backend
2026-02-28 16:23:30 +08:00
zetaloop
6dd21e1090
feat(files): fetch file blob by id
2026-02-28 16:10:50 +08:00
zetaloop
cee3bd3719
feat(auth): wire verification code endpoints
2026-02-28 15:39:48 +08:00
zetaloop
f085a49d87
fix(api): surface non-json error messages
2026-02-28 14:27:43 +08:00
zetaloop
7d10be1c1f
fix(api): support xsrf and backend error message
2026-02-28 12:57:52 +08:00
zetaloop
6facf979af
feat(users): fetch current user from backend
2026-02-28 12:23:24 +08:00
zetaloop
f34f18cca1
feat(auth): connect to backend endpoints
2026-02-28 12:18:01 +08:00
zetaloop
8463e9ea1c
feat(search): migrate to backend endpoint
2026-02-28 12:17:52 +08:00
zetaloop
db02313801
feat(api): add httpJson helper
2026-02-28 12:17:42 +08:00
zetaloop
f5df00df4e
refactor(auth): align auth UI and mock auth API
2026-02-28 07:26:05 +08:00
zetaloop
bce99c4c54
refactor(order): createPaidOrder uses id references
2026-02-28 07:25:52 +08:00
zetaloop
cc24a0cbc3
refactor(errors): migrate decisions to {code,msg}
2026-02-28 07:21:51 +08:00
zetaloop
2d42473910
chore(format): add prettier-plugin-organize-imports and sort imports
2026-02-25 15:34:33 +08:00
zetaloop
14717f1340
feat(search): add api-backed filtering and sorting
2026-02-25 04:29:17 +08:00
zetaloop
c986539954
feat(notifications): add notification system and wire order/dispute events
2026-02-23 11:05:04 +08:00
zetaloop
77d23d0c9d
refactor(community): extract comment store and post/comment API adapters
2026-02-23 11:04:40 +08:00
zetaloop
8e62b15403
refactor(api): add adapter layer for order/chat/review/dispute writes
2026-02-23 11:04:16 +08:00
zetaloop
c9dbf5037e
refactor(auth): support async deferred actions for login gating
...
Allow deferred login actions to return promises and execute them safely without violating lint rules. Also initialize order detail timer state without impure render-time Date.now calls so React hook purity checks pass.
2026-02-22 09:50:48 +08:00
zetaloop
4beb610f23
refactor(pages): migrate app data reads to api adapters
2026-02-22 08:30:21 +08:00
zetaloop
43a0cf7a73
feat(post): persist new posts and wire like interactions
2026-02-22 08:29:59 +08:00