Add comprehensive logging and error handling to the client-side entry point and index.html to identify and report issues preventing the React application from mounting. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 890577b1-c154-40a4-a177-a0c6d55320c3 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/890577b1-c154-40a4-a177-a0c6d55320c3/DyHCx4q
84 lines
4.4 KiB
HTML
84 lines
4.4 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no, viewport-fit=cover" />
|
||
<title>go4.video – Top-Inhalte von Folx TV</title>
|
||
<meta name="description" content="go4.video – Top-Inhalte von Folx TV. Volksmusik, Schlager & Shows jederzeit online." />
|
||
|
||
<!-- Open Graph meta podatki za družbena omrežja in mobilne aplikacije -->
|
||
<meta property="og:title" content="go4.video – Top-Inhalte von Folx TV" />
|
||
<meta property="og:description" content="go4.video – Top-Inhalte von Folx TV. Volksmusik, Schlager & Shows jederzeit online." />
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:site_name" content="go4.video" />
|
||
<meta property="og:locale" content="en_US" />
|
||
<meta property="og:image" content="/go4-video-social-share.png" />
|
||
<meta property="og:image:width" content="1200" />
|
||
<meta property="og:image:height" content="630" />
|
||
<meta property="og:image:type" content="image/png" />
|
||
|
||
<!-- Twitter Card meta podatki -->
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:site" content="@go4video" />
|
||
<meta name="twitter:title" content="go4.video – Top-Inhalte von Folx TV" />
|
||
<meta name="twitter:description" content="go4.video – Top-Inhalte von Folx TV. Volksmusik, Schlager & Shows jederzeit online." />
|
||
<meta name="twitter:image" content="/go4-video-social-share.png" />
|
||
|
||
<!-- Dodatni meta podatki za mobilne naprave -->
|
||
<meta name="application-name" content="go4.video" />
|
||
<meta name="apple-mobile-web-app-title" content="go4.video" />
|
||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||
<meta name="theme-color" content="#6366f1" />
|
||
<meta name="mobile-web-app-capable" content="yes" />
|
||
|
||
<!-- iOS specifične meta oznake -->
|
||
<meta name="apple-touch-fullscreen" content="yes" />
|
||
<meta name="format-detection" content="telephone=no" />
|
||
|
||
<!-- iOS ikone za različne velikosti -->
|
||
<link rel="apple-touch-icon" sizes="57x57" href="/api/favicon?size=57&format=png" />
|
||
<link rel="apple-touch-icon" sizes="60x60" href="/api/favicon?size=60&format=png" />
|
||
<link rel="apple-touch-icon" sizes="72x72" href="/api/favicon?size=72&format=png" />
|
||
<link rel="apple-touch-icon" sizes="76x76" href="/api/favicon?size=76&format=png" />
|
||
<link rel="apple-touch-icon" sizes="114x114" href="/api/favicon?size=114&format=png" />
|
||
<link rel="apple-touch-icon" sizes="120x120" href="/api/favicon?size=120&format=png" />
|
||
<link rel="apple-touch-icon" sizes="144x144" href="/api/favicon?size=144&format=png" />
|
||
<link rel="apple-touch-icon" sizes="152x152" href="/api/favicon?size=152&format=png" />
|
||
<link rel="apple-touch-icon" sizes="180x180" href="/api/favicon?size=180&format=png" />
|
||
|
||
<!-- Favicon -->
|
||
<link rel="icon" type="image/svg+xml" href="/api/favicon" />
|
||
<link rel="apple-touch-icon" href="/api/favicon?size=180&format=png" />
|
||
<link rel="manifest" href="/manifest.json" />
|
||
|
||
</head>
|
||
<body>
|
||
<div id="root"></div>
|
||
<script type="module" src="/src/main.tsx"></script>
|
||
<!-- Replit script removed - caused scrolling issues -->
|
||
|
||
<!-- Debug script for deployment issues -->
|
||
<script>
|
||
console.log('🚀 go4.video loading...');
|
||
window.addEventListener('load', function() {
|
||
console.log('✅ Window loaded');
|
||
setTimeout(function() {
|
||
const root = document.getElementById('root');
|
||
if (root && root.innerHTML.trim() === '') {
|
||
console.error('❌ React app failed to mount - root div is empty');
|
||
root.innerHTML = '<div style="color: red; padding: 20px; font-family: Arial; text-align: center; background: #000; height: 100vh; display: flex; align-items: center; justify-content: center;"><div><h1>Error: React app failed to load</h1><p>Check browser console for details</p></div></div>';
|
||
}
|
||
}, 2000);
|
||
});
|
||
|
||
window.addEventListener('error', function(e) {
|
||
console.error('❌ Global error:', e.error);
|
||
});
|
||
|
||
window.addEventListener('unhandledrejection', function(e) {
|
||
console.error('❌ Unhandled promise rejection:', e.reason);
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |