// 4. Force scroll to top state.frameElement.scrollTop = 0;
.viewerframe > :first-child margin-top: 0; viewerframe mode refresh top
async function refreshTop() // 1. Change mode to 'refreshing' state.mode = 'refreshing'; document.getElementById('modeIndicator').innerText = 'Mode: Refreshing'; :first-child margin-top: 0
// Initial load fetchData().then(data => state.items = data; render(); ); // Initial load fetchData().then(data =>
// 3. Re-render the viewerframe render();
let state = mode: 'view', // 'view', 'refreshing' items: [], frameElement: document.getElementById('viewerframe'), ; async function fetchData() // Simulate API call return Array.from( length: 50 , (_, i) => Item $i + 1: Updated at $new Date().toLocaleTimeString() );