Commit Graph

141 Commits

Author SHA1 Message Date
28af7994f8 Integrate role deletion response shape
Ensures the role delete API returns the standardized `{ message, success, status_code }` success payload.

Made-with: Cursor
2026-04-16 01:26:58 -07:00
23d100cdde fix sticky filter stacking under global topbar
Raise topbar z-index and lower the Human Language filters panel stack so sticky filters cannot render above top navigation controls.

Made-with: Cursor
2026-04-15 04:42:17 -07:00
97a65ae01e fix human language filters overlap with topbar
Move the sticky filters panel below the admin topbar and lower its stacking order so it no longer renders above global navigation.

Made-with: Cursor
2026-04-15 04:37:02 -07:00
df8dae047f improve human language scroll restore on refresh
Retry scroll restoration until the page is tall enough so refreshes restore to the saved position smoothly, while keeping reduced-motion fallback.

Made-with: Cursor
2026-04-15 04:34:34 -07:00
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
814a6a54e8 stabilize flows course selection by strict category match
Filter course options by exact selected category_id in flows to prevent first-load course mismatch that changed module counts after refresh.

Made-with: Cursor
2026-04-14 10:13:59 -07:00
5b1d3903e0 align flows tab data sources with unified sub-module hierarchy
Switch flows detail loading from legacy learning-path assumptions to unified course hierarchy APIs (sub-modules, sub-module videos, and SUB_MODULE-owned practice sets).

Made-with: Cursor
2026-04-14 09:55:28 -07:00
416b18794c fix lesson review to count default question card
Show default Question 1 in step-3 review count/list even before text is filled, so publish review matches the active question cards.

Made-with: Cursor
2026-04-14 09:31:25 -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
a006aa5c85 add route-aware scroll restoration across app pages
Persist and restore per-route scroll positions in the main layout container so page position is remembered after refresh and navigation.

Made-with: Cursor
2026-04-14 08:58:14 -07:00
981780536e style lesson review/success pages and stabilize first-load content fetch
Match lesson review and success screens to the practice-style UI and add a single retry for initial hierarchy fetches so content management data appears immediately after login.

Made-with: Cursor
2026-04-14 08:54:40 -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
ea73323fce fix lesson intro video flow and polish review layout
Auto-process intro video URLs on blur with preview support, improve local upload reliability, and refine Step 1 + Review styling for the lesson creation wizard.

Made-with: Cursor
2026-04-14 08:06:48 -07:00
558cf11abc fix lesson stepper visibility and state styling
Restore a stable practice-style step indicator in Add New Lesson so active and completed steps are clearly visible and connectors render correctly.

Made-with: Cursor
2026-04-14 08:00:26 -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
8c2971f217 clarify intro video URL import button label
Replace technical API wording in the lesson intro video action with user-friendly text while keeping the same /files/upload behavior.

Made-with: Cursor
2026-04-14 07:27:50 -07:00
38c5c16824 align lesson wizard UI with lesson schema flow
Remove practice-specific fields from the lesson page and keep the flow focused on question_sets + sub_module_lessons while preserving intro video upload/import and preview behavior.

Made-with: Cursor
2026-04-14 07:25:07 -07:00
0cc2e4ce4e add files-upload URL import and intro video preview for lessons
Update the lesson wizard intro video section to support both file upload and general URL import via /files/upload, with Vimeo-safe normalization and inline video preview.

Made-with: Cursor
2026-04-14 07:08:38 -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
06a0daedfe refine role management cards with richer metadata
Improve role card visual hierarchy and add clearer metadata (role type, id, created date, description preview) so the list feels less sparse and more informative.

Made-with: Cursor
2026-04-14 06:27:30 -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
78111f161f fix category and course loading with duplicate names
Normalize duplicate category names in hierarchy responses and aggregate courses across same-name category IDs so Human Language and Courses tabs consistently show data.

Made-with: Cursor
2026-04-14 05:36:54 -07:00
da6754e6f5 fix human language category selection when duplicates exist
Prefer the most populated Human Language category (then latest id fallback) so sub-categories and courses render correctly when multiple same-name categories are present.

Made-with: Cursor
2026-04-14 05:31:57 -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
24b5a0d7ee fix human language hierarchy rendering after create
Normalize flat hierarchy rows from backend into the nested shape expected by the content-management page so new sub-categories and courses show immediately.

Made-with: Cursor
2026-04-14 05:11:34 -07:00
53c8542a6a content management integration fixes 2026-04-14 05:05:14 -07:00
7ea8e15266 create subcategory error fix 2026-04-14 04:00:04 -07:00
f5a2e2483a readme file update 2026-04-14 02:14:36 -07:00
d308719d18 analytics page styling 2026-04-14 01:47:00 -07:00
e46e0314ed hierarchy cleanup 2026-04-10 03:20:53 -07:00
dd6fe3a9c8 new course management hierarchy integration 2026-04-10 03:05:29 -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
d4b1bf0813 show intro video preview in review step
Render intro video preview in Step 4 Review & publish so users can verify Vimeo/file playback before publishing instead of seeing only the URL text.

Made-with: Cursor
2026-04-08 02:18:15 -07:00
42bb74c15c handle Vimeo intro URLs without import failure
Normalize Vimeo page URLs to embed URLs for intro video fields instead of forcing /files/upload URL import that can fail behind verification gates.

Made-with: Cursor
2026-04-08 02:11:34 -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