Commit Graph

161 Commits

Author SHA1 Message Date
bb6680acfb feat(module): Add practice button on each lesson card
- VideoCard: optional onAddPractice for lesson-scoped CTA
- ModuleDetailPage: navigate to add-practice with lessonId and lessonTitle
- AddPracticeFlow: show context banner when opened from a lesson

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 05:27:06 -07:00
77b71abfd8 feat(practices): DYNAMIC questions with schema-driven payload
- Add practiceDynamicQuestionPayload helper to build stimulus/response slots
- Extend PracticeQuestionEditorFields with DYNAMIC type, definition picker, and per-slot values (JSON-capable)
- Wire AddNewPracticePage and AddNewLessonPage createQuestion to send question_type_definition_id and dynamic_payload
- Use lesson/practice save status (DRAFT/PUBLISHED) for created questions instead of always PUBLISHED

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 05:11:48 -07:00
9b35a8bf30 qustion type builder integartion fix 2026-05-13 04:38:09 -07:00
457d09f02b dynamic question type builder integration 2026-05-11 07:42:57 -07:00
d1fcfc19b0 added int 2026-05-07 12:29:51 +03:00
aa998e5599 setting 2026-05-07 09:58:52 +03:00
df4820eba9 Merge branch 'production' of https://gitea.yaltopia.com/Yimaru/Yimaru-Admin into el-ui 2026-05-06 09:37:39 +03:00
6181334db7 ui 2026-05-06 09:37:25 +03:00
608d5bb45a module card labeling fix 2026-05-05 08:15:52 -07:00
a6ccfba733 pre-exam courses UI integration 2026-05-05 08:10:20 -07:00
a9216c4f4b Merge branch 'el-ui' into main (prefer el-ui on conflicts) 2026-05-02 01:11:25 -07:00
af4f713395 integartion of refresh URL 2026-04-27 05:58:39 -07:00
472e71d1a2 more static files access 2026-04-27 05:14:36 -07:00
89597dbc87 more static files access fix 2026-04-27 04:54:52 -07:00
599c5dd239 static files access fix 2026-04-27 04:49:40 -07:00
7308d9bbcd ui 2026-04-27 09:52:30 +03:00
b4ab66b4a6 lesson integration 2026-04-25 02:48:52 -07:00
3634d2eb79 program+course+module integrations 2026-04-24 08:27:39 -07:00
e239b28678 Merge branch 'el-ui' of https://gitea.yaltopia.com/Yimaru/Yimaru-Admin into el-ui
Made-with: Cursor

# Conflicts:
#	src/api/courses.api.ts
#	src/app/AppRoutes.tsx
#	src/pages/content-management/AddNewPracticePage.tsx
2026-04-24 06:06:32 -07:00
d4d61bfed2 course 2026-04-24 15:20:51 +03:00
1480eefbe6 yes 2026-04-22 17:10:43 +03:00
73f11ea1a0 Content admin: course hierarchy, sub-categories API, and stability fixes
- Sub-categories: load from GET categories/:id/sub-categories; SubCategoryCoursesPage
- Course structure: levels/modules/sub-modules APIs; SubCoursesPage hierarchy browser
- Sub-module detail: HumanLanguageSubModulePage for category routes; resolveSubModuleForCourse
- Types and courses API: module sub-modules endpoint, hierarchy array guard
- Misc: AppLayout/IssuesPage fixes, CoursesPage refactor, Human Language hierarchy page

Made-with: Cursor
2026-04-20 10:30:28 -07:00
f6344c19f9 Fallback edit lesson detail when missing
If /sub-module-lessons/:id returns not found, load the edit form from the linked question set instead.

Made-with: Cursor
2026-04-16 06:31:27 -07:00
5ee897cfad Add lesson detail fallback for new lessons
Handle environments where sub-module lesson detail is missing by falling back to question-set detail, and keep lesson form/status typing safe.

Made-with: Cursor
2026-04-16 06:25:09 -07:00
3ad0f0a63d Hide Step 3 hints for lesson questions
Made-with: Cursor
2026-04-16 05:21:22 -07:00
5a2c36e276 Refresh lesson card after edit
Made-with: Cursor
2026-04-16 05:07:09 -07:00
beb0e32dde Fix auth header on edit lesson cache bust
Made-with: Cursor
2026-04-16 05:00:04 -07:00
3607e4491b Prevent stale edit lesson form
Made-with: Cursor
2026-04-16 04:54:33 -07:00
b5946b9da3 Fix stale edit-lesson form after save
Made-with: Cursor
2026-04-16 04:44:32 -07:00
7c3f2192ef Fix edit-lesson question editing UI
Embed lesson question editor inside the 'Edit lesson' dialog, remove extra inline lesson question panel, and fix lesson card question counts.

Made-with: Cursor
2026-04-16 04:29:54 -07:00
bebab7ba1e Add lesson question bank editing
For lessons, fetch related questions by lesson question_set_id and render a styled question bank panel (same UX as practice), including add/edit/delete with proper refresh.

Made-with: Cursor
2026-04-16 04:03:12 -07:00
78e1e2e0ef fix stale lesson detail counts in human language page
Fetch selected lesson details from the sub-module lesson endpoint so the inline detail panel shows the latest question count and lesson metadata.

Made-with: Cursor
2026-04-16 03:11:42 -07:00
dc9b7f9d12 use lesson detail endpoint for human language edits
Load human language lesson edit data from the dedicated sub-module lesson detail API so lesson metadata stays aligned with the backend response shape.

Made-with: Cursor
2026-04-16 02:59:45 -07:00
bf76f729aa Fix role list refresh after deletion
Made-with: Cursor
2026-04-16 01:34:04 -07:00
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