54 lines
2.3 KiB
HTML
54 lines
2.3 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>AirCard-IOS – Card designs for Apple Wallet</title>
|
||
<meta name="description" content="Explore community card designs for AirCard-iOS, create your own and download it as PNG." />
|
||
<meta name="theme-color" content="#0F1828" />
|
||
<meta name="apple-mobile-web-app-title" content="AirCard-IOS" />
|
||
<link rel="icon" href="/favicon.svg?v=2" type="image/svg+xml" />
|
||
<link rel="icon" href="/favicon-32.png?v=2" sizes="32x32" type="image/png" />
|
||
<link rel="apple-touch-icon" href="/apple-touch-icon.png?v=2" />
|
||
<script>
|
||
// Hell/Dunkel und Sprache (<html lang>) vor dem ersten Paint setzen (kein Aufblitzen); dieselben Regeln wie
|
||
// initialTheme() in src/shell/theme.ts und initialLang() in src/i18n/i18n.ts.
|
||
// In einer sofort aufgerufenen Funktion, damit keine globalen Variablen `theme` und `lang` entstehen.
|
||
(function () {
|
||
try {
|
||
var theme = null;
|
||
try {
|
||
theme = localStorage.getItem('aircard.theme');
|
||
} catch (e) {}
|
||
if (theme !== 'light' && theme !== 'dark') {
|
||
theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||
}
|
||
document.documentElement.setAttribute('data-theme', theme);
|
||
} catch (e) {}
|
||
try {
|
||
var lang = null;
|
||
try {
|
||
lang = localStorage.getItem('aircard.lang');
|
||
} catch (e) {}
|
||
if (lang !== 'de' && lang !== 'en') {
|
||
var browser = window.navigator;
|
||
var first = (browser.languages && browser.languages[0]) || browser.language || '';
|
||
lang = /^de/i.test(first) ? 'de' : 'en';
|
||
}
|
||
document.documentElement.setAttribute('lang', lang);
|
||
} catch (e) {}
|
||
})();
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<div id="donate-banner"></div>
|
||
<header id="app-header">
|
||
<a class="brand" href="/" data-link><img src="/favicon.svg?v=2" alt="" width="28" height="28" /><span>AirCard-IOS</span></a>
|
||
<div id="account-slot"></div>
|
||
</header>
|
||
<main id="app-root"></main>
|
||
<footer id="app-footer"></footer>
|
||
<script type="module" src="/src/main.ts"></script>
|
||
</body>
|
||
</html>
|