2020-12-24 02:37:23 +03:30
|
|
|
<!DOCTYPE html>
|
2023-02-13 20:20:08 +03:30
|
|
|
<html>
|
2020-12-24 15:02:03 +03:30
|
|
|
<head>
|
2026-01-23 21:07:38 +01:00
|
|
|
<script>
|
|
|
|
|
(() => {
|
|
|
|
|
if (document.querySelector('base')) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const base = document.createElement('base');
|
|
|
|
|
base.href = '/';
|
|
|
|
|
document.head.prepend(base);
|
|
|
|
|
})()
|
|
|
|
|
</script>
|
2025-01-09 00:17:56 +01:00
|
|
|
<title>Suwayomi</title>
|
|
|
|
|
<meta name="apple-mobile-web-app-title" content="Suwayomi" />
|
2020-12-24 02:37:23 +03:30
|
|
|
<meta
|
2020-12-24 15:02:03 +03:30
|
|
|
name="description"
|
2021-02-24 11:55:43 +03:30
|
|
|
content="A manga reader that runs tachiyomi's extensions"
|
2020-12-24 02:37:23 +03:30
|
|
|
/>
|
2025-01-09 00:17:56 +01:00
|
|
|
|
|
|
|
|
<meta charset="utf-8"/>
|
|
|
|
|
|
|
|
|
|
<meta name='viewport' content='minimum-scale=1, initial-scale=1, viewport-fit=cover, width=device-width'>
|
2025-01-09 00:28:19 +01:00
|
|
|
<meta name="mobile-web-app-capable" content="yes">
|
2025-01-09 00:17:56 +01:00
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
|
|
|
|
|
|
|
|
<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" />
|
2020-12-24 02:37:23 +03:30
|
|
|
<!--
|
|
|
|
|
manifest.json provides metadata used when your web app is installed on a
|
|
|
|
|
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
|
|
|
|
-->
|
2025-01-14 00:21:14 +08:00
|
|
|
<link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials" />
|
2020-12-24 15:02:03 +03:30
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
|
|
|
<div id="root"></div>
|
2023-06-05 00:58:21 +02:00
|
|
|
<script type="module" src="./src/index.tsx"></script>
|
2025-07-28 00:20:16 +02:00
|
|
|
<script>
|
|
|
|
|
const backgroundColor = (() => {
|
2025-07-28 02:30:25 +02:00
|
|
|
const storageValue = window.localStorage.getItem("theme_background")
|
2025-07-28 00:20:16 +02:00
|
|
|
try {
|
2025-07-28 02:30:25 +02:00
|
|
|
return JSON.parse(storageValue)
|
2025-07-28 00:20:16 +02:00
|
|
|
} catch (e) {
|
2025-07-28 02:30:25 +02:00
|
|
|
return storageValue
|
2025-07-28 00:20:16 +02:00
|
|
|
}
|
|
|
|
|
})();
|
|
|
|
|
|
|
|
|
|
if (backgroundColor) {
|
|
|
|
|
document.documentElement.style.backgroundColor = backgroundColor;
|
2026-02-13 07:57:38 +08:00
|
|
|
// android chromium-based browser/pwa background color (e.g. top status bar and navigation bar) will change dynamically based on meta theme-color
|
|
|
|
|
let themeColorMeta = document.querySelector('meta[name="theme-color"]');
|
|
|
|
|
if (!themeColorMeta) {
|
|
|
|
|
themeColorMeta = document.createElement('meta');
|
|
|
|
|
themeColorMeta.setAttribute('name', 'theme-color');
|
|
|
|
|
document.head.appendChild(themeColorMeta);
|
|
|
|
|
}
|
|
|
|
|
if (themeColorMeta.getAttribute('content') !== backgroundColor) {
|
|
|
|
|
themeColorMeta.setAttribute('content', backgroundColor);
|
|
|
|
|
}
|
2025-07-28 00:20:16 +02:00
|
|
|
}
|
|
|
|
|
</script>
|
2020-12-24 15:02:03 +03:30
|
|
|
<!--
|
|
|
|
|
This HTML file is a template.
|
|
|
|
|
If you open it directly in the browser, you will see an empty page.
|
2020-12-24 02:37:23 +03:30
|
|
|
|
2020-12-24 15:02:03 +03:30
|
|
|
You can add webfonts, meta tags, or analytics to this file.
|
|
|
|
|
The build step will place the bundled scripts into the <body> tag.
|
2020-12-24 02:37:23 +03:30
|
|
|
|
2020-12-24 15:02:03 +03:30
|
|
|
To begin the development, run `npm start` or `yarn start`.
|
|
|
|
|
To create a production bundle, use `npm run build` or `yarn build`.
|
|
|
|
|
-->
|
|
|
|
|
</body>
|
2020-12-24 02:37:23 +03:30
|
|
|
</html>
|