6.7 KiB
Rich Text Editor Visibility Fix - Applied Changes
Problem
The rich text editor (React Quill) was not visible in admin pages despite being properly imported and configured.
Root Cause
The Quill editor elements were likely being hidden due to:
- Missing explicit visibility CSS rules
- Container sizing issues (overflow: hidden cutting off content)
- Potential CSS specificity conflicts
Applied Fixes
1. Force Quill Visibility in CSS ✅
File: frontend/src/styles/custom-editor.css
Added critical CSS rules at the top of the file to force Quill editor visibility:
/* FORCE QUILL VISIBILITY - CRITICAL FIX */
.ql-toolbar.ql-snow,
.ql-container.ql-snow {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}
.ql-toolbar.ql-snow {
min-height: 42px !important;
}
.ql-container.ql-snow {
min-height: 200px !important;
display: block !important;
}
.ql-editor {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
min-height: 200px !important;
}
2. Fix Container Sizing ✅
File: frontend/src/components/common/CustomRichEditor.tsx
Modified the Box wrapper (around line 1052) to ensure proper sizing:
Before:
<Box
position="relative"
borderWidth="1px"
borderColor={borderColor}
borderRadius="md"
overflow="hidden" // ❌ This was hiding content
bg={bgColor}
sx={{...
After:
<Box
position="relative"
borderWidth="1px"
borderColor={borderColor}
borderRadius="md"
overflow="visible" // ✅ Changed to visible
bg={bgColor}
minHeight={height} // ✅ Added explicit height
width="100%" // ✅ Added full width
display="block" // ✅ Added explicit display
sx={{...
3. Improved Import Comments ✅
File: frontend/src/index.tsx
Enhanced comments to clarify the critical nature of Quill CSS imports:
// Quill editor styles (MUST be imported globally) - CRITICAL for rich text editor
import 'react-quill/dist/quill.snow.css';
import 'react-image-crop/dist/ReactCrop.css';
// Custom editor styles AFTER quill base styles to ensure proper override
import './styles/custom-editor.css';
Testing Instructions
Step 1: Rebuild Frontend
cd frontend
npm run build
# or for development
npm start
Step 2: Clear Browser Cache
- Chrome/Edge: Ctrl+Shift+Delete → Clear cached images and files
- Firefox: Ctrl+Shift+Delete → Cached Web Content
- Or use Hard Refresh: Ctrl+Shift+R (Windows) / Cmd+Shift+R (Mac)
Step 3: Test Admin Pages
Navigate to admin pages with rich text editors:
-
About Page:
/admin/about- You should see a rich text editor under "Obsah stránky"
- Toolbar with formatting buttons should be visible
-
Articles Page:
/admin/articles- Create or edit an article
- Look for the rich text editor in the "Obsah" tab
- Full toolbar with formatting options should appear
-
Activities Page:
/admin/activities- Create or edit an activity
- Rich text editor under "Popis (Rich Text Editor)"
- Should have formatting toolbar
Step 4: Verify Functionality
Test that the editor works properly:
- Toolbar is visible - buttons for Bold, Italic, Headers, Lists, etc.
- Editor area is visible - white/light gray textarea below toolbar
- Can type text - click in editor and type normally
- Can format text - select text and apply bold, italic, etc.
- Can insert images - use image button in toolbar
- Can create lists - bullet and numbered lists work
- Placeholder shows - "Začněte psát..." visible when empty
Expected Appearance
The rich text editor should now display with:
┌─────────────────────────────────────────────────────┐
│ [H] [B] [I] [U] [S] [🎨] [📝] [•] [1] [≡] [🔗] [🖼️] │ ← Toolbar
├─────────────────────────────────────────────────────┤
│ │
│ Začněte psát... (or your content) │ ← Editor
│ │
│ │
└─────────────────────────────────────────────────────┘
Troubleshooting
If editor is still not visible:
- Check browser console (F12) for errors
- Inspect element - Search for class
ql-containerorql-editor - Verify CSS loads - Network tab → Filter CSS → Look for
quill.snow.css - Check computed styles - Inspect
.ql-editorand verify:display: blockvisibility: visibleopacity: 1min-height: 200px
If toolbar appears but editor area is tiny:
The min-height: 200px rule should prevent this, but if it still happens:
- Check if parent container has
height: 0 - Verify the
heightprop is being passed to RichTextEditor component - Example:
<RichTextEditor height="400px" ... />
If you see "Quill not loaded" error:
- Clear node_modules and reinstall:
cd frontend
rm -rf node_modules package-lock.json
npm install
- Verify package versions in
package.json:
"quill": "^2.0.3",
"react-quill": "^2.0.0"
Files Modified
frontend/src/styles/custom-editor.css- Added visibility CSS rulesfrontend/src/components/common/CustomRichEditor.tsx- Fixed container sizingfrontend/src/index.tsx- Improved import comments
Rollback Instructions
If you need to revert these changes:
git checkout HEAD -- frontend/src/styles/custom-editor.css
git checkout HEAD -- frontend/src/components/common/CustomRichEditor.tsx
git checkout HEAD -- frontend/src/index.tsx
Additional Notes
- The
!importantflags are necessary to override any conflicting CSS - The
overflow: visiblechange allows dropdown menus and tooltips to display properly - The
min-heightensures the editor has a usable editing area even when empty
Success Criteria ✅
Fix is successful when:
- Toolbar with formatting buttons is visible
- Editor textarea is visible with at least 200px height
- User can click and type in the editor
- Text formatting works (bold, italic, headers, etc.)
- Image insertion works
- Editor appears on all admin pages that use RichTextEditor
Status: Fix applied and ready for testing Priority: Critical - Affects content creation in admin panel Impact: High - Enables rich text editing across all admin pages