embystream 0.0.36

Another Emby streaming application (frontend/backend separation) written in Rust.
Documentation
<!doctype html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
    <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
    <link rel="manifest" href="/manifest.webmanifest" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0, viewport-fit=cover"
    />
    <meta name="theme-color" content="#c96442" />
    <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="EmbyStream" />
    <script>
      (() => {
        try {
          const storedTheme = localStorage.getItem(
            "embystream_theme_preference",
          );
          const theme =
            storedTheme === "light" || storedTheme === "dark"
              ? storedTheme
              : window.matchMedia("(prefers-color-scheme: dark)").matches
                ? "dark"
                : "light";
          const themeColor = theme === "dark" ? "#1b1a18" : "#f5f4ed";
          const statusBarStyle =
            theme === "dark" ? "black-translucent" : "default";

          document.documentElement.dataset.theme = theme;
          document.documentElement.style.colorScheme = theme;
          document.documentElement.style.backgroundColor = themeColor;

          const themeMeta = document.querySelector('meta[name="theme-color"]');
          if (themeMeta) {
            themeMeta.setAttribute("content", themeColor);
          }

          const statusBarMeta = document.querySelector(
            'meta[name="apple-mobile-web-app-status-bar-style"]',
          );
          if (statusBarMeta) {
            statusBarMeta.setAttribute("content", statusBarStyle);
          }
        } catch {}
      })();
    </script>
    <title>EmbyStream</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>