Commit Graph

126 Commits

Author SHA1 Message Date
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
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
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
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
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