|
81 | 81 | margin-bottom: 0.5rem !important; |
82 | 82 | } |
83 | 83 |
|
84 | | - /* Production debugging - remove after fixing */ |
| 84 | + /* Production debugging */ |
85 | 85 | .debug-info { |
86 | 86 | position: fixed; |
87 | 87 | top: 10px; |
|
98 | 98 |
|
99 | 99 | <h1>Media</h1> |
100 | 100 |
|
101 | | -<!-- Debug info for production --> |
102 | | -<div class="debug-info" id="debug-info"> |
103 | | - HTML loaded |
104 | | -</div> |
| 101 | +<div class="debug-info" id="debug-info">HTML loaded</div> |
105 | 102 |
|
106 | 103 | <section class="media-grid"> |
107 | 104 | {% assign media_items = site.media | sort: "date" | reverse %} |
@@ -137,73 +134,38 @@ <h3 class="archive__item-title"> |
137 | 134 | {% endfor %} |
138 | 135 | </section> |
139 | 136 |
|
| 137 | +<!-- Minimal test script --> |
140 | 138 | <script> |
141 | | -(function() { |
142 | | - var debug = document.getElementById('debug-info'); |
143 | | - |
144 | | - function updateDebug(message) { |
145 | | - if (debug) { |
146 | | - debug.innerHTML = message + '<br>Time: ' + new Date().toLocaleTimeString(); |
147 | | - debug.style.background = 'rgba(0,255,0,0.9)'; // Green when working |
148 | | - } |
149 | | - } |
150 | | - |
151 | | - updateDebug('JavaScript executing'); |
| 139 | +document.getElementById('debug-info').innerHTML = 'JS executing'; |
| 140 | +document.getElementById('debug-info').style.background = 'rgba(0,255,0,0.9)'; |
152 | 141 |
|
153 | | - function masonryLayout() { |
154 | | - var grid = document.querySelector('.media-grid'); |
155 | | - if (!grid) { |
156 | | - updateDebug('ERROR: Grid not found'); |
157 | | - return; |
158 | | - } |
159 | | - |
160 | | - var items = grid.querySelectorAll('.media-card'); |
161 | | - updateDebug('Processing ' + items.length + ' cards'); |
162 | | - |
163 | | - var rowHeight = 10; |
164 | | - var gap = 12; |
165 | | - |
166 | | - // Reset all items |
167 | | - for (var i = 0; i < items.length; i++) { |
168 | | - items[i].style.gridRowEnd = 'auto'; |
169 | | - } |
170 | | - |
171 | | - // Force reflow |
172 | | - grid.offsetHeight; |
173 | | - |
174 | | - // Apply masonry |
175 | | - for (var i = 0; i < items.length; i++) { |
176 | | - var rect = items[i].getBoundingClientRect(); |
177 | | - var itemHeight = rect.height; |
178 | | - var rowSpan = Math.ceil((itemHeight + gap) / (rowHeight + gap)); |
179 | | - items[i].style.gridRowEnd = 'span ' + Math.max(1, rowSpan); |
180 | | - } |
181 | | - |
182 | | - updateDebug('Masonry layout applied successfully'); |
183 | | - } |
184 | | - |
185 | | - function init() { |
186 | | - updateDebug('Initializing masonry...'); |
187 | | - setTimeout(function() { masonryLayout(); }, 100); |
188 | | - setTimeout(function() { masonryLayout(); }, 1000); |
189 | | - setTimeout(function() { masonryLayout(); }, 3000); |
190 | | - setTimeout(function() { masonryLayout(); }, 6000); |
| 142 | +setTimeout(function() { |
| 143 | + var grid = document.querySelector('.media-grid'); |
| 144 | + var items = grid.querySelectorAll('.media-card'); |
| 145 | + |
| 146 | + document.getElementById('debug-info').innerHTML = 'Found ' + items.length + ' items'; |
| 147 | + |
| 148 | + for (var i = 0; i < items.length; i++) { |
| 149 | + var rect = items[i].getBoundingClientRect(); |
| 150 | + var rowSpan = Math.ceil((rect.height + 12) / 10); |
| 151 | + items[i].style.gridRowEnd = 'span ' + Math.max(1, rowSpan); |
191 | 152 | } |
| 153 | + |
| 154 | + document.getElementById('debug-info').innerHTML = 'Masonry applied'; |
| 155 | +}, 1000); |
192 | 156 |
|
193 | | - // Start when DOM is ready |
194 | | - if (document.readyState === 'loading') { |
195 | | - document.addEventListener('DOMContentLoaded', init); |
196 | | - } else { |
197 | | - init(); |
| 157 | +setTimeout(function() { |
| 158 | + var grid = document.querySelector('.media-grid'); |
| 159 | + var items = grid.querySelectorAll('.media-card'); |
| 160 | + |
| 161 | + for (var i = 0; i < items.length; i++) { |
| 162 | + var rect = items[i].getBoundingClientRect(); |
| 163 | + var rowSpan = Math.ceil((rect.height + 12) / 10); |
| 164 | + items[i].style.gridRowEnd = 'span ' + Math.max(1, rowSpan); |
198 | 165 | } |
199 | | - |
200 | | - // Also run when window loads |
201 | | - window.addEventListener('load', function() { |
202 | | - updateDebug('Window loaded - running masonry'); |
203 | | - setTimeout(function() { masonryLayout(); }, 500); |
204 | | - }); |
205 | | - |
206 | | -})(); |
| 166 | + |
| 167 | + document.getElementById('debug-info').innerHTML = 'Second masonry pass'; |
| 168 | +}, 3000); |
207 | 169 | </script> |
208 | 170 |
|
209 | 171 | <script async src="https://www.instagram.com/embed.js"></script> |
0 commit comments