mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-05 03:02:56 +00:00
dev day #67
This commit is contained in:
@@ -0,0 +1,198 @@
|
||||
# Test MyUIbrix Editor - Quick Guide
|
||||
|
||||
**After applying the DOM manipulation fix**
|
||||
|
||||
## 🔄 First: Rebuild Frontend
|
||||
|
||||
The changes are in TypeScript/React, so you need to rebuild:
|
||||
|
||||
```bash
|
||||
cd /home/tdvorak/Desktop/PROG+HTML/Fotbal/fotbal-club/frontend
|
||||
npm run build
|
||||
```
|
||||
|
||||
Or for development:
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
Then **hard refresh** your browser: `Ctrl + Shift + R` (Linux/Windows) or `Cmd + Shift + R` (Mac)
|
||||
|
||||
---
|
||||
|
||||
## ✅ Test Checklist
|
||||
|
||||
### 1. **Delete Button Test**
|
||||
1. Open homepage as admin
|
||||
2. Click edit mode (MyUIbrix toolbar appears)
|
||||
3. Hover over ANY section (hero, matches, gallery, videos, etc.)
|
||||
4. Click the 🗑️ delete button
|
||||
5. **Expected:** Section disappears immediately, NO console errors
|
||||
6. **Old behavior:** Crash with "removeChild: not a child" error
|
||||
|
||||
---
|
||||
|
||||
### 2. **Style Changes Test**
|
||||
1. In edit mode, click the ⚙️ button on ANY section
|
||||
2. Change padding, margin, or background color
|
||||
3. **Expected:** Styles apply instantly to that section
|
||||
4. **Old behavior:** Only worked on hero section, others didn't change
|
||||
|
||||
Try these sections specifically:
|
||||
- ✅ Hero section
|
||||
- ✅ Matches section
|
||||
- ✅ Gallery section
|
||||
- ✅ Videos section
|
||||
- ✅ Merch section
|
||||
- ✅ Newsletter section
|
||||
- ✅ Sponsors section
|
||||
|
||||
---
|
||||
|
||||
### 3. **Reordering Test**
|
||||
1. Drag a section (hold and drag the overlay)
|
||||
2. Drop it on another section
|
||||
3. **Expected:** Sections reorder smoothly, NO console errors
|
||||
4. **Old behavior:** Console errors, sections jump around
|
||||
|
||||
Or use the arrow buttons:
|
||||
- Click ⬆️ to move section up
|
||||
- Click ⬇️ to move section down
|
||||
|
||||
---
|
||||
|
||||
### 4. **Console Check**
|
||||
Open browser DevTools (F12) → Console tab
|
||||
|
||||
**Good signs:**
|
||||
```
|
||||
Visual reorder applied via CSS order
|
||||
```
|
||||
|
||||
**Bad signs (should NOT see):**
|
||||
```
|
||||
❌ DOMException: Node.removeChild
|
||||
❌ Failed to execute 'removeChild'
|
||||
❌ Node.insertBefore: The node to be inserted is not a child
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 What Should Work Now
|
||||
|
||||
| Feature | Status | Notes |
|
||||
|---------|--------|-------|
|
||||
| Delete any section | ✅ Working | Uses React state |
|
||||
| Style any section | ✅ Working | All have position:relative |
|
||||
| Reorder sections | ✅ Working | CSS order property |
|
||||
| Move up/down | ✅ Working | CSS order property |
|
||||
| Drag & drop | ✅ Working | No DOM manipulation |
|
||||
| Multiple edits | ✅ Working | No race conditions |
|
||||
| Save changes | ✅ Working | State persisted to DB |
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Still seeing "removeChild" errors?
|
||||
1. **Hard refresh:** `Ctrl + Shift + R`
|
||||
2. **Clear cache:** Browser settings → Clear site data
|
||||
3. **Check build:** Ensure `npm run build` completed successfully
|
||||
4. **Check file timestamps:** Modified files should be recent
|
||||
|
||||
### Styles not applying to some sections?
|
||||
1. **Verify data-element:** Section must have `data-element="name"` attribute
|
||||
2. **Check position:** Section should have `style={{ position: 'relative', ... }}`
|
||||
3. **Console errors:** Look for overlay attachment errors
|
||||
|
||||
### Overlays not showing?
|
||||
1. **Hover test:** Move mouse slowly over sections
|
||||
2. **Z-index:** Check toolbar is visible (z-index: 9999)
|
||||
3. **Container:** Verify viewport wrapper is created
|
||||
|
||||
---
|
||||
|
||||
## 📊 Expected Console Output
|
||||
|
||||
When working correctly, you should see:
|
||||
|
||||
```javascript
|
||||
// On reorder
|
||||
Visual reorder applied via CSS order
|
||||
|
||||
// On style change (from hook)
|
||||
Style change event received for: hero
|
||||
|
||||
// On delete (no errors!)
|
||||
(nothing - silence is golden!)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Success Criteria
|
||||
|
||||
All these should work WITHOUT errors:
|
||||
|
||||
1. ✅ Delete 3 different sections
|
||||
2. ✅ Change styles on 5 different sections
|
||||
3. ✅ Reorder sections by dragging
|
||||
4. ✅ Move sections with ⬆️⬇️ buttons
|
||||
5. ✅ Close editor (X button)
|
||||
6. ✅ Reopen editor - changes persisted
|
||||
7. ✅ No console errors throughout
|
||||
|
||||
---
|
||||
|
||||
## 🔬 Advanced Testing
|
||||
|
||||
### Test React DevTools
|
||||
1. Install React DevTools extension
|
||||
2. Open DevTools → Components tab
|
||||
3. Find `HomePage` component
|
||||
4. Check state:
|
||||
- `visibleElements` Set should reflect deleted items
|
||||
- `elementOrder` array should reflect reordering
|
||||
|
||||
### Test Error Boundary
|
||||
1. Artificially cause an error (if you want)
|
||||
2. ErrorBoundary should catch it
|
||||
3. Should show error message
|
||||
4. Auto-recovery in 3 seconds
|
||||
|
||||
### Test Persistence
|
||||
1. Make changes in editor
|
||||
2. Click "Publikovat" (Publish) button
|
||||
3. Close editor
|
||||
4. Refresh page
|
||||
5. Changes should be visible in normal view
|
||||
|
||||
---
|
||||
|
||||
## 📝 Report Results
|
||||
|
||||
If everything works:
|
||||
```
|
||||
✅ WORKING - No removeChild errors
|
||||
✅ Delete, style, reorder all functional
|
||||
✅ All sections editable
|
||||
```
|
||||
|
||||
If issues persist:
|
||||
```
|
||||
❌ ERROR: [paste console error here]
|
||||
❌ SECTION: [which section has problem]
|
||||
❌ ACTION: [what you were doing]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 What Changed
|
||||
|
||||
**Technical summary:**
|
||||
- ❌ Removed: Direct DOM manipulation (`removeChild`, `appendChild`)
|
||||
- ✅ Added: React state-driven updates
|
||||
- ✅ Added: CSS `order` property for reordering
|
||||
- ✅ Added: `position: relative` to all sections
|
||||
- ✅ Fixed: Style propagation to all elements
|
||||
|
||||
**Result:** MyUIbrix now works WITH React instead of fighting it.
|
||||
Reference in New Issue
Block a user