Первоначальная версия VidConf
This commit is contained in:
32
frontend/index.html
Normal file
32
frontend/index.html
Normal file
@@ -0,0 +1,32 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>VidConf</title>
|
||||
<script>
|
||||
/*
|
||||
* Тема оболочки — применяется ДО первого рендера React, чтобы избежать
|
||||
* мигания светлой темой (FOUC) при явном выборе «тёмная» пользователем
|
||||
* (см. frontend/src/hooks/useTheme.ts — ключ localStorage там ДОЛЖЕН
|
||||
* совпадать с этим скриптом). Если явного выбора нет — атрибут не
|
||||
* проставляется, и работает системный автодетект из tokens.css
|
||||
* (@media prefers-color-scheme: dark), см. design/DESIGN_SYSTEM.md §0.1.
|
||||
*/
|
||||
try {
|
||||
var vidconfTheme = localStorage.getItem('vidconf-theme')
|
||||
if (vidconfTheme === 'light' || vidconfTheme === 'dark') {
|
||||
document.documentElement.setAttribute('data-theme', vidconfTheme)
|
||||
}
|
||||
} catch (e) {
|
||||
// localStorage недоступен (приватный режим/политики браузера) — тема
|
||||
// определится системным prefers-color-scheme, без сохранённого выбора.
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user