Commit Graph

52 Commits

Author SHA1 Message Date
1f0046a8ee standardize loading indicators with shared spinner asset
Replace ad-hoc Loader2 loading indicators with SpinnerIcon so loading states across content and notifications pages use the same Circular-indeterminate progress indicator.

Made-with: Cursor
2026-04-15 04:30:07 -07:00
d33bacf628 fix human language navigation and practice fetch guards
Route published lesson success back to the Human Language page so prior scroll position is restored, and explicitly guard practice question rendering by fetch status.

Made-with: Cursor
2026-04-15 04:11:29 -07:00
5059e6db14 add background retries while human language tab is active
Keep retrying hierarchy fetch for a short period when the tab is active and still empty, so data appears automatically without manual refresh.

Made-with: Cursor
2026-04-14 09:13:49 -07:00
967339a400 load human language data on tab route activation
Trigger hierarchy fetch whenever the Human Language route is selected so data appears immediately when switching tabs from Content Management.

Made-with: Cursor
2026-04-14 09:10:00 -07:00
60a29816fb harden human language initial load with staged retries
Run multiple delayed hierarchy retries on first tab navigation to prevent empty-state flicker and avoid requiring manual page refresh.

Made-with: Cursor
2026-04-14 09:06:26 -07:00
a8e4ef76e9 fix human language tab empty state on first navigation
Retry hierarchy loading once when initial tab navigation returns empty, so content appears immediately without manual page refresh.

Made-with: Cursor
2026-04-14 09:03:01 -07:00
700080f001 fix duplicate subcategory error on quick path recreate
Make human-language quick path creation idempotent by reusing existing subcategories/courses when names already exist, avoiding unique-constraint failures.

Made-with: Cursor
2026-04-14 08:45:45 -07:00
a3f31e92c1 refine lesson creation form styling and soften lesson tab contrast
Restyle the lesson creation flow to match the polished practice experience with cleaner step visuals and section layouts, and reduce high-contrast accents in the lessons panel for a calmer UI.

Made-with: Cursor
2026-04-14 07:56:37 -07:00
eee5771957 add bulk lesson delete and preserve scroll position
Enable selecting and deleting multiple lessons at once in the human language panel, and persist page scroll so users return to their previous position after reload.

Made-with: Cursor
2026-04-14 07:48:36 -07:00
fe3f235fcd add lesson edit/delete controls and soften lesson card contrast
Introduce lesson edit and delete actions in the human language list using question set updates/deletes, and refine lesson card/status styling for lower visual contrast with richer detail presentation.

Made-with: Cursor
2026-04-14 07:42:36 -07:00
997043fac9 show created lessons in human language list with richer cards
Load sub-module QUIZ question sets into lesson rows so newly created lessons appear immediately, and upgrade lesson cards/detail panel styling to show status, question counts, and intro video previews.

Made-with: Cursor
2026-04-14 07:36:25 -07:00
5ddfed8d28 add full-page lesson creation wizard flow
Introduce a practice-style Add New Lesson page routed from human language sub-modules, wire it to sub_module_lessons-compatible save logic, and remove the temporary lesson modal path.

Made-with: Cursor
2026-04-14 07:04:02 -07:00
177d10de15 replace lesson quick-create with structured lesson form
Add a Create Lesson dialog in the human language panel so lesson creation mirrors the practice UX while targeting sub_module_lessons data requirements.

Made-with: Cursor
2026-04-14 06:50:25 -07:00
6df388fb98 switch lesson creation to sub_module_lessons flow
Create lessons via question-set + sub-module-lesson attachment instead of video-only handling, and update new-level creation to reuse existing CEFR levels when present.

Made-with: Cursor
2026-04-14 06:39:39 -07:00
e5d1ba9b8d add category delete UI and streamline module creation loading
Add deletion controls for course categories and avoid full-page loading overlay during module/sub-module creation so button-level spinners remain the only loading indicator.

Made-with: Cursor
2026-04-14 06:22:36 -07:00
51ac1ad81d add new lesson quick action in human language panel
Show a New lesson button in the lessons tab alongside the practice action so lesson creation is directly accessible from each sub-module panel.

Made-with: Cursor
2026-04-14 06:11:37 -07:00
fe3f254dfc fix level/module removal behavior and reduce creation popups
Use module delete operations for level/module removal so removed levels disappear correctly, and suppress success toasts for module/sub-module creation to keep the flow cleaner and faster.

Made-with: Cursor
2026-04-14 05:58:51 -07:00
909a2f42bc fix second module creation in human language paths
Create additional modules/sub-modules directly under existing level and module IDs instead of re-running the lesson bootstrap flow, which prevented adding a second module.

Made-with: Cursor
2026-04-14 05:51:55 -07:00
bfbdf0fc19 add sub-category and course delete controls in human language page
Wire delete actions and confirmation dialogs for selected sub-categories and courses, backed by the new sub-category delete API route.

Made-with: Cursor
2026-04-14 05:45:35 -07:00
5206fb2e1a fix human language quick-create path creation
Create a real sub-category under Human Language and pass sub_category_id when creating the course so the new path renders immediately in the hierarchy panel.

Made-with: Cursor
2026-04-14 05:23:44 -07:00
e46e0314ed hierarchy cleanup 2026-04-10 03:20:53 -07:00
26e1b0a7d5 human language UI adjustment 2026-04-09 01:52:03 -07:00
189077e946 module and sub,odule creation fix 2026-04-09 00:39:20 -07:00
cb2a6843a3 fix human language practice deletion endpoint
Use deleteQuestionSet for practice deletion in HumanLanguagePage so practice cards remove correctly in the question-set based flow.

Made-with: Cursor
2026-04-08 01:59:07 -07:00
06af3a97f2 enhance human language practice editing and collapsible hierarchy
Expand edit-practice modal to include full question-set metadata fields, raise recorder modal overlay, and add module/sub-module collapse toggles to match path and level expand/collapse behavior.

Made-with: Cursor
2026-04-08 01:53:48 -07:00
0dc7aa81ba fix practice review rendering and playable audio previews
Improve Step 4 Basic Information description rendering with formatted-text preview, and resolve media object keys so practice audio prompts are playable in Human Language question cards while showing sample answer text.

Made-with: Cursor
2026-04-08 01:33:52 -07:00
3c864fe8ec route human language new-practice to full create flow
Use the dedicated add-practice route from Human Language so question-set creation uses the richer speaking-style multi-step UI instead of the inline create modal.

Made-with: Cursor
2026-04-08 01:00:54 -07:00
79da9014de polish human language page styling
Improve visual hierarchy across header, filters, and nested content cards to make the Human Language management view cleaner and easier to scan.

Made-with: Cursor
2026-04-08 00:47:54 -07:00
d1842579e9 media preview fix 2026-04-07 10:59:40 -07:00
4210a05ba9 feat(admin): shared practice question editor for Human Language and Add Practice
- Add PracticeQuestionEditorFields for Step-3-style MCQ/T-F/short/audio UI
- Wire Human Language question dialog to shared editor and fix dialog padding
- Refactor AddNewPracticePage step 3 to reuse the same component

Made-with: Cursor
2026-04-07 10:41:43 -07:00
cd7d330261 Align Human Language edit-question UI with create flow
Defer opening the dialog until details load; improve API mapping for true/false and types; add audio answer field; show edit loading on the row action.

Made-with: Cursor
2026-04-07 10:29:20 -07:00
53d16d9f93 Human Language page: practice/question CRUD and form validation
Support creating, editing, and deleting practices and questions inline; add client-side validation with disabled save and inline field feedback.

Made-with: Cursor
2026-04-07 10:23:14 -07:00
4166fe0807 polish human language practice detail UI
Improve question-bank presentation with clearer hierarchy, richer badges/callouts, and labeled media previews for lesson/practice content.

Made-with: Cursor
2026-04-07 09:49:28 -07:00
51a14ad975 practice questions fix 2026-04-07 09:35:14 -07:00
1a3f974e6a more UI adjustment 2026-04-07 09:31:22 -07:00
3c4b0c4cd3 more UI adjustment 2026-04-07 09:23:05 -07:00
449b595df0 more UI adjustment 2026-04-07 09:12:57 -07:00
45c385e5fa Add Human Language sub-module page with Lesson/Practice tabs.
Dedicated routes under /content/human-language/.../sub-module/:id for lesson videos and practice cards (aligned with existing sub-course styling); confirm removals via Dialog on hierarchy page; wire add-practice and questions back navigation for HL paths.

Made-with: Cursor
2026-04-07 09:01:59 -07:00
679568e51c Human Language: per-path CEFR actions and collapsible paths.
Move Add next CEFR level and detailed management into each course path header; add expand/collapse for path bodies; drop global resolved-course controls.

Made-with: Cursor
2026-04-07 08:09:59 -07:00
7f59ce4b2f Restructure Human Language hierarchy: path parent, levels nested.
Render each course path (e.g. English - Speaking) as the top card with CEFR levels, modules, and sub-modules nested inside; use per-path collapse keys for level rows.

Made-with: Cursor
2026-04-07 08:05:15 -07:00
c664c3ad67 Improve Human Language CEFR level UX and add-level targeting.
Resolve course id when filters imply a single course so Add next CEFR level works without forcing Course selection; show incremental CEFR sections; tighten remove actions; use optional chaining on module lists.

Made-with: Cursor
2026-04-07 07:47:24 -07:00
e4109a26a9 UI adjustment 2026-04-07 07:41:37 -07:00
767637a5ef Fix Human Language level actions visibility and CEFR add-level guidance.
Avoid nested button markup so remove-level controls render reliably, keep level rows visible for all CEFR levels, and add clearer guidance/labeling for incremental level creation starting from A1.

Made-with: Cursor
2026-04-07 07:29:54 -07:00
bf0dabbf05 Support audio practice creation from Human Language flow.
Add AUDIO question support to the shared practice creation page and preserve human-language navigation context so back/cancel returns to the Human Language page.

Made-with: Cursor
2026-04-07 07:22:13 -07:00
383886156c refine empty-state layout and enable first path creation
Adopt a structured empty-state layout similar to sub-category management screens, auto-create the Human Language category when missing, hide level listing until a path exists, and surface first-path creation clearly.

Made-with: Cursor
2026-04-07 07:04:24 -07:00
e6adf2850e add quick-create path on empty human language view
Allow creating the initial subcategory/course path directly from the Human Language page empty state so module and sub-module creation can start immediately.

Made-with: Cursor
2026-04-07 06:50:35 -07:00
547e2c7970 show module actions on empty level rows
Keep course rows visible even when module count is zero so Add Module is accessible immediately, and show a clear empty-state hint before first module creation.

Made-with: Cursor
2026-04-07 06:39:01 -07:00
6cba475145 add module and sub-module creation actions in human language UI
Provide incremental Module-N and Module-N.M creation buttons, plus direct sub-module actions to manage lesson media and practice/audio question creation.

Made-with: Cursor
2026-04-07 06:31:21 -07:00
0763b77d66 render human language hierarchy in admin page
Integrate the admin Human Language page with the new hierarchy API and present subcategory/course/level/module/sub-module tree including videos and practices.

Made-with: Cursor
2026-04-07 06:13:21 -07:00
882db5444d remove speaking tab and align human language filters
Hide Speaking from content tabs and update Human Language filters to subcategory and course-focused selection for the single descriptive language category flow.

Made-with: Cursor
2026-04-07 05:55:21 -07:00