2025-02-17 18:04:54 +00:00

72 lines
2.1 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="$FLUTTER_BASE_HREF">
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- iOS meta tags & icons -->
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="Veilid-flutter Example">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png" />
<title>Veilid-flutter Example</title>
<link rel="manifest" href="manifest.json">
</head>
<body>
<script type="module">
{{flutter_js}}
{{flutter_build_config}}
import * as veilid_wasm_module from './wasm/veilid_wasm.js';
async function initVeilidWASM() {
// save the wasm exports
window.veilid_wasm = veilid_wasm_module;
// init the js module
await veilid_wasm_module.default();
// init the wasm library
await veilid_wasm_module.initialize_veilid_wasm();
}
const loading = document.createElement('div');
document.body.appendChild(loading);
loading.textContent = "Loading Entrypoint...";
_flutter.loader.load({
onEntrypointLoaded: async function (engineInitializer) {
loading.textContent = "Initializing engine...";
const appRunner = await engineInitializer.initializeEngine();
loading.textContent = "Initializing Veilid...";
await initVeilidWASM();
loading.textContent = "Running example...";
await appRunner.runApp();
}
});
</script>
</body>
</html>