feat: добавить документацию NextJS Style Guide

- добавлен отдельный VitePress-сайт для NextJS Style Guide
- удалены дубли SLM-канонов из style-guide
- обновлены ссылки, сборочные скрипты, CI, Docker и README
- разблокирована карточка NextJS Style Guide на главной
This commit is contained in:
2026-05-13 17:12:18 +03:00
parent ab72c06fd5
commit 53aa01199d
26 changed files with 336 additions and 2266 deletions

View File

@@ -98,11 +98,11 @@ const applyTheme = (theme: ThemeMode) => {
function useTheme() {
const [theme, setTheme] = useState<ThemeMode>(getStoredTheme)
const [resolvedTheme, setResolvedTheme] = useState<ResolvedTheme>(() => resolveTheme(getStoredTheme()))
const [systemTheme, setSystemTheme] = useState<ResolvedTheme>(getSystemTheme)
const resolvedTheme = theme === 'auto' ? systemTheme : theme
useLayoutEffect(() => {
applyTheme(theme)
setResolvedTheme(resolveTheme(theme))
}, [theme])
useEffect(() => {
@@ -110,13 +110,14 @@ function useTheme() {
const mediaQuery = window.matchMedia(DARK_THEME_QUERY)
const handleSystemThemeChange = () => {
if (theme !== 'auto') return
const nextResolvedTheme = getSystemTheme()
const nextResolvedTheme = resolveTheme(theme)
setSystemTheme(nextResolvedTheme)
if (theme !== 'auto') return
document.documentElement.style.colorScheme = nextResolvedTheme
document.documentElement.classList.toggle('dark', nextResolvedTheme === 'dark')
setResolvedTheme(nextResolvedTheme)
}
mediaQuery.addEventListener('change', handleSystemThemeChange)

View File

@@ -30,10 +30,11 @@ export const docs: DocCard[] = [
},
{
title: 'NextJS Style Guide',
label: 'Стиль проекта',
label: 'Стайлгайд',
mark: 'NX',
description: 'Правила организации Next.js-приложений, роутинга, серверных границ и проектных соглашений.',
status: 'Скоро',
description: 'Практический стайлгайд для разработки frontend-приложений на Next.js и TypeScript.',
href: '/nextjs-style-guide/',
status: 'Доступно',
accent: 'blue',
links: [
{ label: 'llms.txt', href: '/nextjs-style-guide/llms.txt' },
@@ -42,7 +43,7 @@ export const docs: DocCard[] = [
},
{
title: 'React Style Guide',
label: 'Стиль кода',
label: 'Стайлгайд',
mark: 'RE',
description: 'Практики написания React-компонентов, хуков, состояния и клиентского UI-кода.',
status: 'Скоро',