42 lines
1.8 KiB
HTML
42 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8"/>
|
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
|
<title>DashMail Preview</title>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@3.30.0/dist/tabler-icons.min.css"/>
|
|
<script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script>
|
|
<script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
|
|
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
|
|
<style>
|
|
*{margin:0;padding:0;box-sizing:border-box;}
|
|
html,body,#root{height:100%;overflow:hidden;}
|
|
body{display:flex;flex-direction:column;}
|
|
@keyframes spin{to{transform:rotate(360deg);}}
|
|
@keyframes popIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.25);opacity:1}100%{transform:scale(1);opacity:1}}
|
|
@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
|
|
@keyframes fadeInUp{from{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}
|
|
.ti-spin{animation:spin 0.75s linear infinite;display:inline-block;}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script>
|
|
fetch('./DashMailClient_3.jsx', {cache:'no-store'})
|
|
.then(r => r.text())
|
|
.then(code => {
|
|
const modified = code.replace(/export\s+default\s+function\s+/g, 'function ');
|
|
const transpiled = Babel.transform(modified, { presets: ['react'] }).code;
|
|
eval(transpiled);
|
|
ReactDOM.createRoot(document.getElementById('root')).render(
|
|
React.createElement(DashMailClient)
|
|
);
|
|
})
|
|
.catch(err => {
|
|
document.getElementById('root').textContent = 'Error: ' + err.message;
|
|
console.error(err);
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|