Add font size persistence and debugging for font controls
This commit is contained in:
@@ -12,12 +12,26 @@ interface BibleReaderProps {
|
|||||||
const BibleReader: React.FC<BibleReaderProps> = ({ book, chapter, onBack, formatBookName }) => {
|
const BibleReader: React.FC<BibleReaderProps> = ({ book, chapter, onBack, formatBookName }) => {
|
||||||
const [content, setContent] = useState<string>('');
|
const [content, setContent] = useState<string>('');
|
||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
const [fontSize, setFontSize] = useState<'small' | 'medium' | 'large'>('medium');
|
const [fontSize, setFontSize] = useState<'small' | 'medium' | 'large'>(() => {
|
||||||
|
// Load font size preference from localStorage
|
||||||
|
const saved = localStorage.getItem('fontSize');
|
||||||
|
return (saved as 'small' | 'medium' | 'large') || 'medium';
|
||||||
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
loadChapter();
|
loadChapter();
|
||||||
}, [book, chapter]);
|
}, [book, chapter]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// Save font size preference to localStorage
|
||||||
|
localStorage.setItem('fontSize', fontSize);
|
||||||
|
}, [fontSize]);
|
||||||
|
|
||||||
|
const handleFontSizeChange = (newSize: 'small' | 'medium' | 'large') => {
|
||||||
|
console.log(`Changing font size from ${fontSize} to ${newSize}`);
|
||||||
|
setFontSize(newSize);
|
||||||
|
};
|
||||||
|
|
||||||
const loadChapter = async () => {
|
const loadChapter = async () => {
|
||||||
try {
|
try {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
@@ -118,7 +132,7 @@ const BibleReader: React.FC<BibleReaderProps> = ({ book, chapter, onBack, format
|
|||||||
<span className="text-sm text-gray-600 dark:text-gray-400">Font Size:</span>
|
<span className="text-sm text-gray-600 dark:text-gray-400">Font Size:</span>
|
||||||
<div className="flex space-x-1">
|
<div className="flex space-x-1">
|
||||||
<button
|
<button
|
||||||
onClick={() => setFontSize('small')}
|
onClick={() => handleFontSizeChange('small')}
|
||||||
className={`px-3 py-1 text-xs rounded ${
|
className={`px-3 py-1 text-xs rounded ${
|
||||||
fontSize === 'small'
|
fontSize === 'small'
|
||||||
? 'bg-blue-600 text-white'
|
? 'bg-blue-600 text-white'
|
||||||
@@ -128,7 +142,7 @@ const BibleReader: React.FC<BibleReaderProps> = ({ book, chapter, onBack, format
|
|||||||
Small
|
Small
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
onClick={() => setFontSize('medium')}
|
onClick={() => handleFontSizeChange('medium')}
|
||||||
className={`px-3 py-1 text-xs rounded ${
|
className={`px-3 py-1 text-xs rounded ${
|
||||||
fontSize === 'medium'
|
fontSize === 'medium'
|
||||||
? 'bg-blue-600 text-white'
|
? 'bg-blue-600 text-white'
|
||||||
@@ -138,7 +152,7 @@ const BibleReader: React.FC<BibleReaderProps> = ({ book, chapter, onBack, format
|
|||||||
Medium
|
Medium
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
onClick={() => setFontSize('large')}
|
onClick={() => handleFontSizeChange('large')}
|
||||||
className={`px-3 py-1 text-xs rounded ${
|
className={`px-3 py-1 text-xs rounded ${
|
||||||
fontSize === 'large'
|
fontSize === 'large'
|
||||||
? 'bg-blue-600 text-white'
|
? 'bg-blue-600 text-white'
|
||||||
|
|||||||
Reference in New Issue
Block a user