强制buildSSR
All checks were successful
CI / build-and-test (push) Successful in 16m13s
CI / deploy (push) Successful in 1m47s

This commit is contained in:
SpecialX
2025-12-31 14:01:12 +08:00
parent 13e91e628d
commit 0da2eac0b4
9 changed files with 22 additions and 5 deletions

View File

@@ -13,6 +13,9 @@ jobs:
build-and-test:
runs-on: CDCD
container: dockerreg.eazygame.cn/node:22-bookworm
env:
SKIP_ENV_VALIDATION: "1"
NEXT_TELEMETRY_DISABLED: "1"
steps:
- name: Checkout
@@ -121,5 +124,8 @@ jobs:
-p 8015:3000 \
--restart unless-stopped \
--name nextjs-app \
-e NODE_ENV=production \
-e DATABASE_URL=${{ secrets.DATABASE_URL_PRODUCTION }} \
-e NEXT_TELEMETRY_DISABLED=1 \
nextjs-app

View File

@@ -4,6 +4,8 @@ import { getDemoStudentUser, getStudentHomeworkTakeData } from "@/modules/homewo
import { HomeworkTakeView } from "@/modules/homework/components/homework-take-view"
import { formatDate } from "@/shared/lib/utils"
export const dynamic = "force-dynamic"
export default async function StudentAssignmentTakePage({
params,
}: {
@@ -31,4 +33,3 @@ export default async function StudentAssignmentTakePage({
</div>
)
}

View File

@@ -15,6 +15,8 @@ import { formatDate } from "@/shared/lib/utils"
import { getDemoStudentUser, getStudentHomeworkAssignments } from "@/modules/homework/data-access"
import { Inbox } from "lucide-react"
export const dynamic = "force-dynamic"
const getStatusVariant = (status: string): "default" | "secondary" | "outline" => {
if (status === "graded") return "default"
if (status === "submitted") return "secondary"
@@ -102,4 +104,3 @@ export default async function StudentAssignmentsPage() {
</div>
)
}

View File

@@ -6,6 +6,8 @@ import { Button } from "@/shared/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/shared/components/ui/card"
import { formatDate } from "@/shared/lib/utils"
export const dynamic = "force-dynamic"
export default async function HomeworkAssignmentDetailPage({ params }: { params: Promise<{ id: string }> }) {
const { id } = await params
const assignment = await getHomeworkAssignmentById(id)
@@ -76,4 +78,3 @@ export default async function HomeworkAssignmentDetailPage({ params }: { params:
</div>
)
}

View File

@@ -13,6 +13,8 @@ import {
import { formatDate } from "@/shared/lib/utils"
import { getHomeworkAssignmentById, getHomeworkSubmissions } from "@/modules/homework/data-access"
export const dynamic = "force-dynamic"
export default async function HomeworkAssignmentSubmissionsPage({ params }: { params: Promise<{ id: string }> }) {
const { id } = await params
const assignment = await getHomeworkAssignmentById(id)
@@ -70,4 +72,3 @@ export default async function HomeworkAssignmentSubmissionsPage({ params }: { pa
</div>
)
}

View File

@@ -3,6 +3,8 @@ import { getExams } from "@/modules/exams/data-access"
import { EmptyState } from "@/shared/components/ui/empty-state"
import { FileQuestion } from "lucide-react"
export const dynamic = "force-dynamic"
export default async function CreateHomeworkAssignmentPage() {
const exams = await getExams({})
const options = exams.map((e) => ({ id: e.id, title: e.title }))

View File

@@ -14,6 +14,8 @@ import { formatDate } from "@/shared/lib/utils"
import { getHomeworkAssignments } from "@/modules/homework/data-access"
import { PenTool, PlusCircle } from "lucide-react"
export const dynamic = "force-dynamic"
export default async function AssignmentsPage() {
const assignments = await getHomeworkAssignments()
const hasAssignments = assignments.length > 0

View File

@@ -3,6 +3,8 @@ import { getHomeworkSubmissionDetails } from "@/modules/homework/data-access"
import { HomeworkGradingView } from "@/modules/homework/components/homework-grading-view"
import { formatDate } from "@/shared/lib/utils"
export const dynamic = "force-dynamic"
export default async function HomeworkSubmissionGradingPage({ params }: { params: Promise<{ submissionId: string }> }) {
const { submissionId } = await params
const submission = await getHomeworkSubmissionDetails(submissionId)
@@ -38,4 +40,3 @@ export default async function HomeworkSubmissionGradingPage({ params }: { params
</div>
)
}

View File

@@ -13,6 +13,8 @@ import { formatDate } from "@/shared/lib/utils"
import { getHomeworkSubmissions } from "@/modules/homework/data-access"
import { Inbox } from "lucide-react"
export const dynamic = "force-dynamic"
export default async function SubmissionsPage() {
const submissions = await getHomeworkSubmissions()
const hasSubmissions = submissions.length > 0