Commit Graph

15 Commits

Author SHA1 Message Date
1f63a53222 feat: rewrite sync drawer with checkable tree + class batch import 2026-07-09 17:16:08 +08:00
7e4f06058c fix(admin): match flat API response shape, no nested data envelope 2026-07-09 15:52:40 +08:00
2da2e68318 fix(admin): refactor inline map arrow to avoid oxc TSX parser confusion 2026-07-09 15:46:24 +08:00
d2d0ca31ad fix(admin): use type pattern consistent with rest of codebase (oxc compat) 2026-07-09 15:43:46 +08:00
867e1aab1f fix(admin): avoid TSX generic syntax to fix oxc parser in Vite 8 2026-07-09 15:41:30 +08:00
8bfb8bf7ae fix(admin): fix syntax error — missing closing parens in map after console.log removal 2026-07-09 15:39:03 +08:00
b624c52b30 fix(admin): restore nested ImportUsersResponse and remove debug console.log 2026-07-09 15:24:54 +08:00
f7df3bdcf1 fix(admin): only show class-mark button on leaf departments with users 2026-07-09 15:18:23 +08:00
db3e4aae84 fix(admin): display classCount and warnings in import response 2026-07-09 13:01:07 +08:00
7f42c12392 feat(admin): add class marking modal in DingTalk org import drawer 2026-07-09 12:41:29 +08:00
fb8c897b4f fix: disable import button when roles not loaded (null defaultTeacherRoleId guard) 2026-07-09 11:32:01 +08:00
0cfdab95ee fix: add DTO validation, transactional imports, role-not-found handling, null role guard 2026-07-09 11:28:11 +08:00
33e6cb445c fix: parallel fetches, error handling, extract UserTreeNode component 2026-07-09 11:16:47 +08:00
a42039d1df feat: add sync users Tab with Drawer tree to IntegrationConfig 2026-07-09 11:13:05 +08:00
e8dec3b171 feat: add DingTalk integration config page 2026-07-09 10:14:51 +08:00