2024-04-03 11:25:54 +00:00
|
|
|
<!doctype html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
2024-04-29 06:32:14 +00:00
|
|
|
<meta charset="UTF-8" />
|
|
|
|
<link rel="icon" type="image/svg+xml" href="/appflowy.svg" />
|
2024-05-29 02:17:50 +00:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
2024-04-03 11:25:54 +00:00
|
|
|
<title>AppFlowy</title>
|
|
|
|
</head>
|
|
|
|
<body id="body">
|
|
|
|
<div id="root"></div>
|
|
|
|
<script type="module" src="/src/main.tsx"></script>
|
2024-04-29 06:32:14 +00:00
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script>
|
2024-05-29 02:17:50 +00:00
|
|
|
<script>
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
const userAgent = window.navigator.userAgent.toLowerCase();
|
|
|
|
const body = document.body;
|
|
|
|
const isWin = userAgent.indexOf('win') > -1;
|
|
|
|
const isMac = userAgent.indexOf('mac') > -1;
|
|
|
|
const isLinux = userAgent.indexOf('linux') > -1;
|
|
|
|
const isFirefox = userAgent.indexOf('firefox') > -1;
|
|
|
|
const isChrome = userAgent.indexOf('chrome') > -1;
|
|
|
|
const isSafari = userAgent.indexOf('safari') > -1;
|
|
|
|
if (isWin) {
|
|
|
|
body.setAttribute('data-os', 'windows');
|
|
|
|
} else if (isMac) {
|
|
|
|
body.setAttribute('data-os', 'mac');
|
|
|
|
} else if (isLinux) {
|
|
|
|
body.setAttribute('data-os', 'linux');
|
|
|
|
} else {
|
|
|
|
body.setAttribute('data-os', 'unknown');
|
|
|
|
}
|
2024-04-29 06:32:14 +00:00
|
|
|
|
2024-05-29 02:17:50 +00:00
|
|
|
if (isFirefox) {
|
|
|
|
body.setAttribute('data-browser', 'firefox');
|
|
|
|
} else if (isChrome) {
|
|
|
|
body.setAttribute('data-browser', 'chrome');
|
|
|
|
} else if (isSafari) {
|
|
|
|
body.setAttribute('data-browser', 'safari');
|
|
|
|
} else {
|
|
|
|
body.setAttribute('data-browser', 'unknown');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
</script>
|
2024-04-03 11:25:54 +00:00
|
|
|
</body>
|
|
|
|
</html>
|