AUDITPRO / index.html
MMOON's picture
Upload 19 files
05cbbc8 verified
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>AuditPro Sync | Expert Cloud Inspection</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Inter', sans-serif;
background-color: #f8fafc;
margin: 0;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
#loading-screen {
position: fixed;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: #ffffff;
z-index: 9999;
transition: opacity 0.5s ease-out;
}
.spinner {
width: 48px;
height: 48px;
border: 5px solid #f1f5f9;
border-top: 5px solid #4f46e5;
border-radius: 50%;
animation: spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
</style>
<script type="importmap">
{
"imports": {
"lucide-react": "https://esm.sh/lucide-react@^0.475.0",
"react-dom/client": "https://esm.sh/react-dom@19.0.0/client",
"react": "https://esm.sh/react@19.0.0",
"xlsx": "https://esm.sh/xlsx@0.18.5",
"react-dom/": "https://esm.sh/react-dom@^19.2.3/",
"react/": "https://esm.sh/react@^19.2.3/"
}
}
</script>
</head>
<body class="bg-slate-50 text-slate-900">
<div id="loading-screen">
<div class="spinner"></div>
<div style="margin-top: 2rem; text-align: center;">
<p style="color: #1e293b; font-weight: 900; font-size: 18px; margin-bottom: 4px;">AuditPro Sync</p>
<p style="color: #64748b; font-weight: 700; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;">Sécurisation des données locales...</p>
</div>
</div>
<div id="root"></div>
<script type="module" src="./bundle.js"></script>
<script type="module">
window.addEventListener('load', () => {
const loader = document.getElementById('loading-screen');
if (loader) {
setTimeout(() => {
loader.style.opacity = '0';
setTimeout(() => loader.remove(), 500);
}, 1000);
}
});
</script>
</body>
</html>