-
{translations[language].reading.translationLabel}
+
+
+
{translations[language].reading.translationLabel}
+
+
{lesson.translation}
diff --git a/views/ReadingView.tsx b/views/ReadingView.tsx
index 63cdfa5..f1ce009 100644
--- a/views/ReadingView.tsx
+++ b/views/ReadingView.tsx
@@ -1,8 +1,9 @@
+
import React, { useState, useRef, useEffect } from 'react';
import { Language, ReadingLesson, ReadingDifficulty, ChatMessage, Role, MessageType, ReadingLessonRecord } from '../types';
import { geminiService, decodeAudioData } from '../services/geminiService';
import { processAndDownloadAudio } from '../utils/audioUtils';
-import { BookOpen, Loader2, Send, ToggleLeft, ToggleRight, List, HelpCircle, ChevronLeft, RotateCcw, History, Trash2, X, PanelRightClose, PanelRightOpen, Volume2, Square, MessageCircle, FileText, PenTool, Download } from 'lucide-react';
+import { BookOpen, Loader2, Send, ToggleLeft, ToggleRight, List, HelpCircle, ChevronLeft, RotateCcw, History, Trash2, X, PanelRightClose, PanelRightOpen, Volume2, Square, MessageCircle, FileText, PenTool, Download, Copy, Check } from 'lucide-react';
import { translations } from '../utils/localization';
import ChatBubble from '../components/ChatBubble';
@@ -15,6 +16,28 @@ interface ReadingViewProps {
onDeleteHistoryItem: (id: string) => void;
}
+// Internal Copy Button Component
+const CopyButton: React.FC<{ text: string; label?: string }> = ({ text, label }) => {
+ const [copied, setCopied] = useState(false);
+
+ const handleCopy = (e: React.MouseEvent) => {
+ e.stopPropagation();
+ navigator.clipboard.writeText(text);
+ setCopied(true);
+ setTimeout(() => setCopied(false), 2000);
+ };
+
+ return (
+
+ );
+};
+
const ReadingView: React.FC
= ({ language, history, onSaveToHistory, onUpdateHistory, onClearHistory, onDeleteHistoryItem }) => {
const t = translations[language].reading;
const tCommon = translations[language].common;
@@ -502,6 +525,9 @@ const ReadingView: React.FC = ({ language, history, onSaveToHi
{t.translationLabel}
+ {/* Copy Content Button - New */}
+
+
{/* Sidebar Toggle In Lesson View */}
{showTranslation && (
-