make every grade's id its class number and sort grades by it everywhere
Grade ids were the order the books were imported in (ninth=1, eighth=5), so gradeId: 5 meant eighth grade and the admin, the question filter and the API all listed grades out of order. Grade.number (1-12) is now read from the title, new grades take it as their id, and migration 0008 moves existing ids plus every reference to them: Unit, the loose grade_id in accounts/ai_tutor/rag, and the grade target inside campaign JSON. Unnumbered demo grades move above 100 and the id sequence is raised past 12 so they never collide with a real grade. The frontend needs no change: it always reads gradeId from the server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -76,9 +76,11 @@ curl -X POST https://api.math.tadrisino2.ir/api/auth/session \
|
||||
میشود، پس رویش چیزی که مالِ خودتان باشد نگذارید. برای کارِ روزمره یک
|
||||
`deviceId` مخصوصِ خودتان بسازید — هر رشتهای قبول است.
|
||||
|
||||
**۲. فهرستِ پایهها تا ششم است.** `GRADES` در `App.tsx` هاردکدِ ۱ تا ۶ است، ولی
|
||||
جهتِ محصول از ششم به بالا رفته (ترانزیشنی: ۶، ۷، ۹، ۱۰). از `api.grades()`
|
||||
بخوانید تا هر پایهای که اضافه شد خودبهخود بیاید.
|
||||
**۲. فهرستِ پایهها از `api.grades()` میآید** (انجام شده). ترتیب همان ترتیبِ
|
||||
کلاسهاست و `id` هر پایه برابرِ شمارهاش است: `gradeId: 8` یعنی پایهی هشتم.
|
||||
فیلدِ `number` هم همین عدد را صریح میدهد. پیش از ۲۰۲۶-۰۹-۲۳ idها ترتیبِ
|
||||
واردشدنِ کتابها بودند (هشتم=۵)؛ اپ چون همیشه `gradeId` را از سرور میگیرد،
|
||||
تغییری لازم نداشت.
|
||||
|
||||
**۳. صفحهی درس، ویدیو دارد.** `LessonScreen` فهرستی از
|
||||
`{type: "video" | "quiz"}` نشان میدهد. بکاند هنوز مفهومِ ویدیو ندارد —
|
||||
|
||||
@@ -41,10 +41,14 @@ export interface HomeResponse {
|
||||
}
|
||||
|
||||
export interface Grade {
|
||||
/** برابرِ شمارهی پایه: ۸ یعنی هشتم. */
|
||||
id: number;
|
||||
/** شمارهی پایه (۱ تا ۱۲)؛ برای پایههای نمونه null. */
|
||||
number: number | null;
|
||||
title: string;
|
||||
icon: string;
|
||||
color: string;
|
||||
lessonCount: number;
|
||||
}
|
||||
|
||||
export interface UserSummary {
|
||||
|
||||
Reference in New Issue
Block a user