- Moved the teacher-list route to `modules/teachers/list`, retaining the existing filters, columns, permissions, drawers, modal flows, validation, role lookup, status/password/delete actions, and commission settings.
- Extracted form-encoded API calls, query construction, and list state into `api.ts`, `query.ts`, and `useTeacherList.ts`.
- Replaced only the legacy `TableCom` and `PaginationCom` list frame with controlled `AppList` pagination.
- Deleted the old `pages/teacher/query` implementation after the live module route stopped importing it.
## Verification
-`pnpm build`: passed for both learning and admin.
-`pnpm test`: admin 11/11 passed. The workspace command still fails in pre-existing learning tests, including `src/api/http-auth.test.ts`, `src/modules/my/routes.test.tsx`, and router tests missing a `QueryClientProvider`.
-`git diff --check`: passed.
## Compatibility note
The obsolete `src/routes/routes.jsx` still contains a dead legacy teacher-page declaration, but the live `app/routes.tsx` does not import that file. It is outside this migration's permitted route scope.