platform/lms-adm-fe release promotion snapshot

This commit is contained in:
2026-08-20 04:26:53 +00:00
parent 551b5fe939
commit cf5baebdeb
4 changed files with 232 additions and 2 deletions
+5 -1
View File
@@ -23,6 +23,7 @@ import { io } from 'socket.io-client';
import type { Socket } from 'socket.io-client';
import { ConfirmDialog } from '../components/ConfirmDialog';
import { InstructorChatPanel } from '../components/InstructorChatPanel';
import { InstructorLearningGuideModal } from '../components/InstructorLearningGuideModal';
import { useToast } from '../components/ToastProvider';
import autonomyLogo from '../assets/icon.png';
import { useProfileAvatar } from '../hooks/useProfileAvatar';
@@ -78,6 +79,7 @@ export function InstructorLayout({ session, route, onNavigate, onLogout, courses
const [notificationTab, setNotificationTab] = useState<'unread' | 'read'>('unread');
const [notificationPage, setNotificationPage] = useState(1);
const [chatOpen, setChatOpen] = useState(false);
const [guideOpen, setGuideOpen] = useState(false);
const [hasUnreadChat, setHasUnreadChat] = useState(false);
const [notifications, setNotifications] = useState<NotificationMessage[]>([]);
const profileRef = useRef<HTMLDivElement | null>(null);
@@ -503,6 +505,8 @@ export function InstructorLayout({ session, route, onNavigate, onLogout, courses
onConfirm={() => void handleAvatarDelete()}
/>
<InstructorLearningGuideModal open={guideOpen} onClose={() => setGuideOpen(false)} />
<InstructorChatPanel
session={session}
courseId={selectedCourseId}
@@ -575,7 +579,7 @@ export function InstructorLayout({ session, route, onNavigate, onLogout, courses
</div>
</div>
<button className="flex h-8 w-full items-center justify-center gap-2 rounded-md bg-white/10 text-[12px] font-bold text-[#a78bfa] hover:bg-white/14" type="button">
<button onClick={() => setGuideOpen(true)} className="flex h-8 w-full items-center justify-center gap-2 rounded-md bg-white/10 text-[12px] font-bold text-[#a78bfa] hover:bg-white/14" type="button">
가이드 보기
<ExternalLink size={13} aria-hidden="true" />
</button>