diff --git a/ui/src/views/classroom/RoomDetail.tsx b/ui/src/views/classroom/RoomDetail.tsx index 6b83a1c5..31f53b6f 100644 --- a/ui/src/views/classroom/RoomDetail.tsx +++ b/ui/src/views/classroom/RoomDetail.tsx @@ -133,8 +133,6 @@ const RoomDetail: React.FC = () => { autoMuteNewParticipants: true, }) - const hasTeacher = (list: ClassroomParticipantDto[]) => list.some((p) => p.isTeacher) - const signalRServiceRef = useRef() const webRTCServiceRef = useRef() @@ -668,17 +666,6 @@ const RoomDetail: React.FC = () => { return `${mins}m` } - const getTimeSince = (timestamp: string) => { - const now = new Date() - const time = new Date(timestamp) - const diffMinutes = Math.floor((now.getTime() - time.getTime()) / 60000) - - if (diffMinutes < 1) return 'Az önce' - if (diffMinutes < 60) return `${diffMinutes} dakika önce` - const hours = Math.floor(diffMinutes / 60) - return `${hours} saat önce` - } - const getFileIcon = (type: string) => { if (type.includes('pdf')) return if ( @@ -700,43 +687,6 @@ const RoomDetail: React.FC = () => { return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i] } - const handleDrop = (e: React.DragEvent) => { - e.preventDefault() - setDragOver(false) - - if (user.role !== 'teacher' || !handleUploadDocument) return - - const files = Array.from(e.dataTransfer.files) - files.forEach((file) => handleUploadDocument(file)) - } - - const handleFileSelect = (e: React.ChangeEvent) => { - if (user.role !== 'teacher' || !handleUploadDocument) return - - const files = Array.from(e.target.files || []) - files.forEach((file) => handleUploadDocument(file)) - - // Reset input - if (fileInputRef.current) { - fileInputRef.current.value = '' - } - } - - const getLayoutIcon = (type: string) => { - switch (type) { - case 'grid': - return - case 'speaker': - return - case 'presentation': - return - case 'sidebar': - return - default: - return - } - } - const renderSidePanel = () => { if (!activeSidePanel) return null @@ -812,6 +762,16 @@ const RoomDetail: React.FC = () => { } } + useEffect(() => { + window.addEventListener('beforeunload', handleLeaveCall) + window.addEventListener('pagehide', handleLeaveCall) + + return () => { + window.removeEventListener('beforeunload', handleLeaveCall) + window.removeEventListener('pagehide', handleLeaveCall) + } + }, [classSession.id]) + return ( <>