diff --git a/src/pages/content-management/SpeakingPage.tsx b/src/pages/content-management/SpeakingPage.tsx index 50a6d1f..8146b0b 100644 --- a/src/pages/content-management/SpeakingPage.tsx +++ b/src/pages/content-management/SpeakingPage.tsx @@ -1,5 +1,5 @@ import { type ChangeEvent, useCallback, useEffect, useMemo, useRef, useState } from "react" -import { ArrowLeft, ChevronDown, ChevronRight, Image as ImageIcon, Loader2, Mic, Pencil, Plus, Trash2, Upload } from "lucide-react" +import { ArrowLeft, ChevronDown, ChevronRight, Image as ImageIcon, Loader2, Mic, Plus, Trash2, Upload } from "lucide-react" import { Card, CardContent, CardHeader, CardTitle } from "../../components/ui/card" import { Button } from "../../components/ui/button" import { Input } from "../../components/ui/input" @@ -17,7 +17,6 @@ import { getQuestions, getPracticeQuestionsByPractice, getQuestionSets, - updatePractice, updateQuestion, } from "../../api/courses.api" import { resolveFileUrl, uploadAudioFile, uploadImageFile, uploadVideoFile } from "../../api/files.api" @@ -161,11 +160,6 @@ export function SpeakingPage() { const [selectedQuestionIds, setSelectedQuestionIds] = useState([]) const [bulkDeleting, setBulkDeleting] = useState(false) const [collapsedPracticeIds, setCollapsedPracticeIds] = useState([]) - const [editingPractice, setEditingPractice] = useState(null) - const [practiceEditTitle, setPracticeEditTitle] = useState("") - const [practiceEditDescription, setPracticeEditDescription] = useState("") - const [practiceEditPersona, setPracticeEditPersona] = useState("") - const [practiceEditSaving, setPracticeEditSaving] = useState(false) const [loading, setLoading] = useState(false) const [saving, setSaving] = useState(false) const [openCreate, setOpenCreate] = useState(false) @@ -1264,41 +1258,6 @@ export function SpeakingPage() { ) } - const handleOpenPracticeEdit = (practiceId: number | null) => { - if (!practiceId) return - const practice = practiceOptions.find((p) => p.id === practiceId) - if (!practice) return - setEditingPractice(practice) - setPracticeEditTitle(practice.title) - setPracticeEditDescription(practice.description ?? "") - setPracticeEditPersona(practice.persona ?? "") - } - - const handleSavePracticeEdit = async () => { - if (!editingPractice) return - if (!practiceEditTitle.trim()) { - toast.error("Practice title is required") - return - } - setPracticeEditSaving(true) - try { - await updatePractice(editingPractice.id, { - title: practiceEditTitle.trim(), - description: practiceEditDescription.trim(), - ...(practiceEditPersona.trim() ? { persona: practiceEditPersona.trim() } : {}), - }) - toast.success("Practice updated") - setEditingPractice(null) - await fetchPracticeOptions() - await fetchAudioQuestions() - } catch (error) { - console.error("Failed to update practice:", error) - toast.error("Failed to update practice") - } finally { - setPracticeEditSaving(false) - } - } - const groupedAudioQuestions = useMemo(() => { const groups = new Map() for (const q of audioQuestions) { @@ -1475,16 +1434,6 @@ export function SpeakingPage() { {group.practiceTitle} {group.practiceId ? `(#${group.practiceId})` : ""} - {(group.practiceId && collapsedPracticeIds.includes(group.practiceId) ? [] : group.questions).map((question, idx) => ( @@ -1888,44 +1837,6 @@ export function SpeakingPage() { )} - {editingPractice && ( -
-
-
-

- Edit practice metadata ({editingPractice.id}) -

-
-
-
- - setPracticeEditTitle(e.target.value)} /> -
-
- -