|
|
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 |
|