Commit Graph

161 Commits

Author SHA1 Message Date
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
588b238b49 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:09:28 -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
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
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
265d94999a improve intro video upload and preview in practice creation
Import intro video URLs through /files/upload, keep Vimeo-friendly URL handling, and render inline video preview for uploaded/imported links in Step 1 context.

Made-with: Cursor
2026-04-08 01:11:17 -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
ee2dbc5792 human language learn module management adjustment 2026-04-07 06:43:50 -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
e477595578 integrate human language page with dedicated backend API
Switch the Human Language admin page to use CEFR-filtered backend endpoints and add typed API contracts for human language lessons.

Made-with: Cursor
2026-04-07 05:40:29 -07:00
53a72bef2d human language learn management adjustment 2026-04-07 05:30:23 -07:00
840a64c4e0 remove speaking practice edit controls
Drop the practice-level edit action and modal from the Speaking page while preserving collapsible groups, searchable practice filtering, and question bulk actions.

Made-with: Cursor
2026-04-07 04:58:35 -07:00
fd0790fe7f add collapsible speaking groups and practice editing
Improve Speaking tab UX with collapsible practice sections, searchable practice filter picker, whole-practice selection controls, and a practice metadata editor wired to the backend practice update API.

Made-with: Cursor
2026-04-07 04:51:50 -07:00
e8fc835d51 add speaking list grouping, search, and bulk actions
Group audio questions under practices on the Speaking tab, add client-side search and image previews, and support multi-select bulk deletion of audio questions.

Made-with: Cursor
2026-04-07 04:37:51 -07:00
c648c6668b refine speaking practice filter to inspect audio rows
Filter speaking practice options using returned AUDIO question rows instead of total_count so unrelated practices are excluded reliably.

Made-with: Cursor
2026-04-07 04:28:22 -07:00
e7e64ad2ed filter speaking practice dropdown to audio-only sets
Limit the Speaking page practice filter options to sets that contain AUDIO questions and clear stale selected filter values when unavailable.

Made-with: Cursor
2026-04-07 04:23:19 -07:00
2fcf2b47b0 add intro video preview in speaking create form
Show a live intro video preview from the entered URL, using Vimeo embed playback when applicable and HTML5 video fallback for direct links.

Made-with: Cursor
2026-04-07 03:57:30 -07:00
85df446a66 create speaking set before question step
Ensure the speaking question set is created when moving from setup to questions, rename Set status to Status, and default new set status to PUBLISHED.

Made-with: Cursor
2026-04-07 03:53:13 -07:00
7b08b228df refresh speaking practice filter after create
Re-fetch practice options after creating a speaking practice and auto-select the new set so freshly created practices appear immediately in the filter and question list.

Made-with: Cursor
2026-04-07 03:44:41 -07:00
dbfb4307fb fetch practice integration fix 2026-04-07 03:38:18 -07:00
e8c601985b speaking and questions content filtering 2026-04-07 03:22:19 -07:00
21a23d9a88 speaking and questions content filtering 2026-04-07 03:08:18 -07:00
6910fb55a4 speaking public URL display adjustment 2026-04-07 02:03:09 -07:00
feb046e369 speaking UI adjustment 2026-04-07 01:31:54 -07:00
527d36c6e3 public URLs integration 2026-04-07 01:23:27 -07:00
f2bf172fbb UI and integration adjustment for create practice 2026-03-29 02:32:35 -07:00
4d5d4f0d15 course creation integartion fix 2026-03-28 08:36:06 -07:00
7ffbc666b0 notification page fix 2026-03-27 04:52:17 -07:00
e882bd60be Merge remote-tracking branch 'origin/production'
Made-with: Cursor
2026-03-27 04:47:55 -07:00
e9c5f72218 minor UI fixes 2026-03-27 04:37:08 -07:00
d99142f70e Merge origin/main into main
Made-with: Cursor
2026-03-27 04:28:11 -07:00
7c1687787b minor integartion and UI fixes 2026-03-27 04:22:44 -07:00
“kirukib”
ce34b35b7e Profile + Notification Page Updates 2026-03-11 11:44:03 +03:00
“kirukib”
8180e64f59 Tweak brand purple usage, notifications, and footer branding
Made-with: Cursor
2026-03-11 10:49:53 +03:00
e2c61385ae speaking section partly integration + more table filters + practice and question pages fixes for real data 2026-03-10 08:12:40 -07:00
31912d2e58 bulk notification user ID and role menu fixes + minor UI fixes 2026-03-09 11:18:45 -07:00
85d4199dd7 learning flow UI fixes 2026-03-08 05:34:41 -07:00
3614244029 learning flow fixes 2026-03-07 08:15:13 -08:00
6a201a0108 minor fixes 2026-03-06 06:02:02 -08:00
3ecd35f960 custom RBAC integration 2026-03-05 07:59:29 -08:00
95f5d37878 merge confilci fixes with front branch 2026-02-28 07:00:34 -08:00
“kirukib”
63f0ff9157 Flow builder save buttons and category sub-creator
Made-with: Cursor
2026-02-27 20:58:56 +03:00
“kirukib”
089c1ac869 Content flows: parent/sub sequence, sub structure, loading icon fix, AddTeamMember
- Flows: Parent category sequence (reorder all parents), sub category sequence per parent, sub category structure (courses/questions/feedback)
- Fix Flow page white screen (useEffect deps: selectedSubCategoryId/selectedParentCategoryId)
- Loading state: visible refresh icon (white card, brand-600) on AllCourses, Courses, CourseFlowBuilder, SubCourses
- Add team member page, team API and types, route /team/add

Made-with: Cursor
2026-02-27 20:39:19 +03:00
“kirukib”
46c0c78214 changes 2026-02-27 19:39:58 +03:00
“kirukib”
cd2ed66960 ui+plus 2026-02-27 19:31:41 +03:00
“kirukib”
e35defe48a ui-fixes 2026-02-27 19:03:47 +03:00
28f7ac2dcd logo and assets adjustment 2026-02-27 07:24:43 -08:00
d151a28494 version display changed to bottom right corner 2026-02-27 06:48:44 -08:00