Hi ozmosaics,
At present, the template lacks built-in support for creating a loading page as described. However, you can implement it by following these steps:
1/ Navigate to Backend > Systems > Site template styles.
2/ Select the template style you are currently using.
3/ Add a new section and include a new block with the following code snippet:
<!-- Loading screen HTML -->
<div id="loading-screen">
<div id="loading-spinner"></div> <!-- Spinner element -->
</div>
4/ Add the following CSS code to the Tools > Custom CSS:
/* Style for the loading screen */
#loading-screen {
display: flex;
justify-content: center;
align-items: center;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000; /* semi-transparent black background */
z-index: 9999; /* ensures it's on top of everything */
}
#loading-spinner {
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db; /* blue color for spinner */
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 1s linear infinite; /* rotation animation */
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
5/ Add the following JS to the Global Settings > Custom Code > Before </body>:
<script>
// JavaScript to hide the loading screen when the page is fully loaded
window.addEventListener('load', function() {
var loadingScreen = document.getElementById('loading-screen');
loadingScreen.style.display = 'none'; // hide loading screen
});
</script>
Hope this helps!