vojo/index.html

121 lines
4.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover, interactive-widget=resizes-content" />
<title>Vojo</title>
<meta name="name" content="Vojo" />
<meta name="author" content="Vojo" />
<meta
name="description"
content="A Matrix client where you can enjoy the conversation using simple, elegant and secure interface protected by e2ee with the power of open source."
/>
<meta
name="keywords"
content="vojo, matrix, matrix client, matrix.org"
/>
<meta property="og:title" content="Vojo" />
<meta property="og:url" content="https://vojo.chat" />
<meta property="og:image" content="https://vojo.chat/public/android/android-chrome-512x512.png" />
<meta
property="og:description"
content="A Matrix client where you can enjoy the conversation using simple, elegant and secure interface protected by e2ee with the power of open source."
/>
<meta name="theme-color" content="#000000" />
<link id="favicon" rel="shortcut icon" type="image/svg+xml" href="./public/res/svg/vojo.svg" />
<link rel="manifest" href="/manifest.json" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="application-name" content="Vojo" />
<meta name="apple-mobile-web-app-title" content="Vojo" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link
rel="apple-touch-icon"
sizes="57x57"
href="./public/res/apple/apple-touch-icon-57x57.png"
/>
<link
rel="apple-touch-icon"
sizes="60x60"
href="./public/res/apple/apple-touch-icon-60x60.png"
/>
<link
rel="apple-touch-icon"
sizes="72x72"
href="./public/res/apple/apple-touch-icon-72x72.png"
/>
<link
rel="apple-touch-icon"
sizes="76x76"
href="./public/res/apple/apple-touch-icon-76x76.png"
/>
<link
rel="apple-touch-icon"
sizes="114x114"
href="./public/res/apple/apple-touch-icon-114x114.png"
/>
<link
rel="apple-touch-icon"
sizes="120x120"
href="./public/res/apple/apple-touch-icon-120x120.png"
/>
<link
rel="apple-touch-icon"
sizes="144x144"
href="./public/res/apple/apple-touch-icon-144x144.png"
/>
<link
rel="apple-touch-icon"
sizes="152x152"
href="./public/res/apple/apple-touch-icon-152x152.png"
/>
<link
rel="apple-touch-icon"
sizes="167x167"
href="./public/res/apple/apple-touch-icon-167x167.png"
/>
<link
rel="apple-touch-icon"
sizes="180x180"
href="./public/res/apple/apple-touch-icon-180x180.png"
/>
</head>
<body id="appBody">
<script>
window.global ||= window;
</script>
<script>
// Deep-link handoff for https://vojo.chat/u/<user> clicked from in-app
// browsers (Telegram etc.) that don't honor verified App Links. Fires
// BEFORE the React bundle: we try to pop out of the webview via an
// intent:// URL that includes a browser_fallback_url back to the SPA
// with ?web=1 so users without the app land on the normal page and we
// don't loop. Guards: only on vojo.chat (not Capacitor's localhost),
// only on Android, only for /u/ paths, and not when ?web=1 is set.
(function () {
try {
if (location.hostname !== 'vojo.chat') return;
if (!location.pathname.indexOf || location.pathname.indexOf('/u/') !== 0) return;
if (location.search.indexOf('web=1') !== -1) return;
if (!/Android/.test(navigator.userAgent || '')) return;
if (window.Capacitor && window.Capacitor.isNativePlatform && window.Capacitor.isNativePlatform()) return;
var pathAndQuery = location.pathname + location.search + location.hash;
var fallback = 'https://vojo.chat' + location.pathname +
(location.search ? location.search + '&web=1' : '?web=1') + location.hash;
var intent = 'intent://vojo.chat' + pathAndQuery +
'#Intent;scheme=https;package=chat.vojo.app;S.browser_fallback_url=' +
encodeURIComponent(fallback) + ';end';
location.replace(intent);
} catch (e) {}
})();
</script>
<div id="root"></div>
<div id="portalContainer"></div>
<script type="module" src="./src/index.tsx"></script>
</body>
</html>