공지사항 admin ok
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
|
||||
import { useState, useMemo, useRef, useEffect, useCallback } from "react";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useRouter, useSearchParams } from "next/navigation";
|
||||
import AdminSidebar from "@/app/components/AdminSidebar";
|
||||
import ChevronDownSvg from "@/app/svgs/chevrondownsvg";
|
||||
import DropdownIcon from "@/app/svgs/dropdownicon";
|
||||
@@ -22,6 +22,7 @@ type Lesson = {
|
||||
|
||||
export default function AdminLessonsPage() {
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
const [lessons, setLessons] = useState<Lesson[]>([]);
|
||||
const [currentPage, setCurrentPage] = useState(1);
|
||||
const [isRegistrationMode, setIsRegistrationMode] = useState(false);
|
||||
@@ -30,6 +31,7 @@ export default function AdminLessonsPage() {
|
||||
const [courses, setCourses] = useState<Course[]>([]);
|
||||
const [currentUser, setCurrentUser] = useState<string>("관리자");
|
||||
const [showToast, setShowToast] = useState(false);
|
||||
const [toastMessage, setToastMessage] = useState<string>('강좌가 등록되었습니다.');
|
||||
const rawLecturesRef = useRef<any[]>([]); // 원본 강좌 데이터 저장
|
||||
|
||||
// 등록 폼 상태
|
||||
@@ -882,6 +884,7 @@ export default function AdminLessonsPage() {
|
||||
setCsvRows([]);
|
||||
|
||||
// 토스트 팝업 표시
|
||||
setToastMessage('강좌가 등록되었습니다.');
|
||||
setShowToast(true);
|
||||
} catch (error) {
|
||||
console.error('강좌 등록 실패:', error);
|
||||
@@ -890,6 +893,18 @@ export default function AdminLessonsPage() {
|
||||
}
|
||||
};
|
||||
|
||||
// 쿼리 파라미터에서 updated 확인하여 토스트 표시
|
||||
useEffect(() => {
|
||||
const updated = searchParams.get('updated');
|
||||
if (updated === 'true') {
|
||||
setToastMessage('강좌가 수정되었습니다.');
|
||||
setShowToast(true);
|
||||
// URL에서 쿼리 파라미터 제거
|
||||
const newUrl = window.location.pathname;
|
||||
router.replace(newUrl);
|
||||
}
|
||||
}, [searchParams, router]);
|
||||
|
||||
// 토스트 자동 닫기
|
||||
useEffect(() => {
|
||||
if (showToast) {
|
||||
@@ -1779,7 +1794,7 @@ export default function AdminLessonsPage() {
|
||||
</svg>
|
||||
</div>
|
||||
<p className="text-[15px] font-medium leading-[1.5] text-[#1b2027] text-nowrap">
|
||||
강좌가 등록되었습니다.
|
||||
{toastMessage}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user