mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-03-28 17:43:05 +01:00
36 lines
1.7 KiB
HTML
36 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" class="dark">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<meta name="apple-mobile-web-app-title" content="MCTerm" />
|
|
<meta name="theme-color" content="#111419" />
|
|
<meta name="description" content="Web interface for MeshCore mesh radio networks. Send and receive messages, manage contacts and channels, and configure your radio." />
|
|
<title>RemoteTerm for MeshCore</title>
|
|
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<link rel="shortcut icon" href="/favicon.ico" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
<link rel="manifest" href="/site.webmanifest" />
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script>
|
|
// Start critical data fetches before React loads — shaves ~1-2s off startup.
|
|
// React hooks consume the promises via window.__prefetch.
|
|
var j = function(r) { return r.json(); };
|
|
window.__prefetch = {
|
|
config: fetch('/api/radio/config').then(j),
|
|
settings: fetch('/api/settings').then(j),
|
|
channels: fetch('/api/channels').then(j),
|
|
contacts: fetch('/api/contacts?limit=1000&offset=0').then(j),
|
|
unreads: fetch('/api/read-state/unreads').then(j),
|
|
undecryptedCount: fetch('/api/packets/undecrypted/count').then(j),
|
|
};
|
|
</script>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|