feat(parent,auth,onboarding,files,notifications,adaptive-practice,ai): add module updates

parent:

- Add parent-student-attendance-detail component

auth:

- Add actions, data-access, schema, services, types

onboarding:

- Add parent-children-form and hooks directory

files:

- Add actions, schema, hooks directory

notifications:

- Add schema and schema test

adaptive-practice:

- Add answer-input, answer-result, practice-result-view, practice-starter-with-nav

- Add question-card, question-content, lib and services directories

ai:

- Add context/create-ai-client-service, hooks/use-drag-position, hooks/use-position-persistence
This commit is contained in:
SpecialX
2026-07-03 10:26:12 +08:00
parent f3c223d914
commit e9a5264fe7
84 changed files with 6060 additions and 2530 deletions

View File

@@ -1,7 +1,5 @@
"use client"
import { AlertTriangle, Phone } from "lucide-react"
import { useTranslations } from "next-intl"
import { getTranslations } from "next-intl/server"
import { Card } from "@/shared/components/ui/card"
import { cn } from "@/shared/lib/utils"
@@ -14,8 +12,11 @@ type Warning = {
severity: "high" | "medium"
}
/** 翻译函数类型(与 `useTranslations("attendance")` 返回值兼容) */
type Translator = ReturnType<typeof useTranslations>
/** 翻译函数类型(与 useTranslations / getTranslations 返回值兼容) */
type Translator = (
key: string,
values?: Record<string, string | number | Date>,
) => string
/**
* 构建考勤异常预警列表(纯函数,便于测试)。
@@ -67,15 +68,17 @@ export function buildWarnings(
}
/**
* 家长视角的考勤异常预警横幅。
* 家长视角的考勤异常预警横幅RSC
* 聚合所有子女的考勤异常(缺勤、迟到、低出勤率),提醒家长及时关注。
*
* P2-8 修复:从 client component 降级为 RSC使用 `getTranslations`。
*/
export function ParentAttendanceWarning({
export async function ParentAttendanceWarning({
summaries,
}: {
summaries: ParentStudentAttendanceSummary[]
}) {
const t = useTranslations("attendance")
const t = await getTranslations("attendance")
const warnings = buildWarnings(summaries, t)
if (warnings.length === 0) return null