index.html 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <!doctype html>
  2. <html lang="en" style="background-color: var(--background-base)">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1" />
  6. <title>OpenCode</title>
  7. <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" />
  8. <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
  9. <link rel="shortcut icon" href="/favicon.ico" />
  10. <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
  11. <link rel="manifest" href="/site.webmanifest" />
  12. <meta name="theme-color" content="#F8F7F7" />
  13. <meta name="theme-color" content="#131010" media="(prefers-color-scheme: dark)" />
  14. <meta property="og:image" content="/social-share.png" />
  15. <meta property="twitter:image" content="/social-share.png" />
  16. <!-- Theme preload script - applies cached theme to avoid FOUC -->
  17. <script id="oc-theme-preload-script">
  18. ;(function () {
  19. var themeId = localStorage.getItem("opencode-theme-id")
  20. if (!themeId) return
  21. var scheme = localStorage.getItem("opencode-color-scheme") || "system"
  22. var isDark = scheme === "dark" || (scheme === "system" && matchMedia("(prefers-color-scheme: dark)").matches)
  23. var mode = isDark ? "dark" : "light"
  24. document.documentElement.dataset.theme = themeId
  25. document.documentElement.dataset.colorScheme = mode
  26. if (themeId === "oc-1") return
  27. var css = localStorage.getItem("opencode-theme-css-" + themeId + "-" + mode)
  28. if (css) {
  29. var style = document.createElement("style")
  30. style.id = "oc-theme-preload"
  31. style.textContent =
  32. ":root{color-scheme:" +
  33. mode +
  34. ";--text-mix-blend-mode:" +
  35. (isDark ? "plus-lighter" : "multiply") +
  36. ";" +
  37. css +
  38. "}"
  39. document.head.appendChild(style)
  40. }
  41. })()
  42. </script>
  43. </head>
  44. <body class="antialiased overscroll-none text-12-regular overflow-hidden">
  45. <noscript>You need to enable JavaScript to run this app.</noscript>
  46. <div id="root" class="flex flex-col h-screen"></div>
  47. <script src="/src/entry.tsx" type="module"></script>
  48. </body>
  49. </html>