mirror of
https://github.com/officialdakari/Extera.git
synced 2025-04-11 23:08:46 +02:00
84 lines
No EOL
4.4 KiB
HTML
84 lines
No EOL
4.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta http-equiv="Cache-control" content="Private">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
|
<title>Extera</title>
|
|
<meta name="name" content="Extera" />
|
|
<meta name="author" content="OfficialDakari" />
|
|
<meta name="description" content="Additional cool features and little design improvements for Cinny." />
|
|
<meta name="keywords" content="extera, cinny, cinnyapp, cinnychat, matrix, matrix client, matrix.org, element" />
|
|
|
|
<meta property="og:title" content="Extera" />
|
|
<meta property="og:url" content="https://extera.officialdakari.ru" />
|
|
<meta property="og:image"
|
|
content="https://extera-public.officialdakari.ru/res/android/android-chrome-icon-72x72.png" />
|
|
<meta property="og:description" content="Additional cool features and little design improvements for Cinny." />
|
|
<meta name="theme-color" content="#000000" />
|
|
|
|
<link id="favicon" rel="shortcut icon" href="./public/favicon.ico" />
|
|
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="application-name" content="Extera" />
|
|
<meta name="apple-mobile-web-app-title" content="content" />
|
|
<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/android/android-chrome-icon-57x57.png" />
|
|
<link rel="apple-touch-icon" sizes="60x60" href="./public/res/android/android-chrome-icon-60x60.png" />
|
|
<link rel="apple-touch-icon" sizes="72x72" href="./public/res/android/android-chrome-icon-72x72.png" />
|
|
<link rel="apple-touch-icon" sizes="76x76" href="./public/res/android/android-chrome-icon-76x76.png" />
|
|
<link rel="apple-touch-icon" sizes="114x114" href="./public/res/android/android-chrome-icon-114x114.png" />
|
|
<link rel="apple-touch-icon" sizes="120x120" href="./public/res/android/android-chrome-icon-120x120.png" />
|
|
<link rel="apple-touch-icon" sizes="144x144" href="./public/res/android/android-chrome-icon-144x144.png" />
|
|
<link rel="apple-touch-icon" sizes="152x152" href="./public/res/android/android-chrome-icon-152x152.png" />
|
|
<link rel="apple-touch-icon" sizes="167x167" href="./public/res/android/android-chrome-icon-167x167.png" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="./public/res/android/android-chrome-icon-180x180.png" />
|
|
</head>
|
|
|
|
<body id="appBody">
|
|
<script>
|
|
window.global ||= window;
|
|
(function () {
|
|
let stateSymbol = "__state__index__";
|
|
history.stateIndex = -1;
|
|
history.states = [];
|
|
let pushState = history.pushState;
|
|
function add(data, title, url) {
|
|
if (data == null) data = {};
|
|
if (typeof data != "object") data = { data: data };
|
|
data[stateSymbol] = (history.stateIndex + 1);
|
|
history.states.splice(history.stateIndex + 1, 0, [data, title, url])
|
|
history.states.splice(history.stateIndex + 2)
|
|
history.stateIndex++;
|
|
}
|
|
history.pushState = function (data, title, url = null) {
|
|
add(data, title, url);
|
|
pushState.bind(history)(data, title, url);
|
|
}
|
|
addEventListener("popstate", function (e) {
|
|
var eventObject = {};
|
|
var newStateIndex = e.state != null ? e.state[stateSymbol] : -1;
|
|
eventObject.from = history.states[history.stateIndex];
|
|
eventObject.to = newStateIndex > -1 ? history.states[newStateIndex] : null;
|
|
eventObject.side = history.stateIndex > newStateIndex ? "back" : "forward";
|
|
if (newStateIndex > -1 && !(newStateIndex in history.states)) {
|
|
add(history.state, "", window.location.href);
|
|
}
|
|
window.dispatchEvent(new CustomEvent("historyChange", { detail: eventObject }))
|
|
history.stateIndex = e.state != null ? e.state[stateSymbol] : -1;
|
|
});
|
|
})();
|
|
</script>
|
|
<div id="root"></div>
|
|
<script type="module" src="./src/index.tsx"></script>
|
|
|
|
<!-- Do not remove; it is intended for android build -->
|
|
<script src="cordova.js"></script>
|
|
</body>
|
|
|
|
</html> |