Files
TeleWave/frontend/src/routes/index.tsx
T
Leonid PershinandClaude Opus 5 0606ea3e6e Add Prettier to the frontend and gate formatting in CI
Форматтера у фронтенда не было: стиль держался вручную и успел разъехаться в 50 файлах.
Ставим Prettier с настройками под уже сложившийся стиль (без точек с запятой, одинарные кавычки,
ширина 100 — подобрана замером: при 100 расходится меньше файлов, чем при 96 или 110) и
прогоняем его по коду. `src/routeTree.gen.ts` исключён — его переписывает плагин роутера.

Чтобы форматирование больше не расходилось незаметно, добавлены проверки в CI: `csharpier check`
для бэкенда (его отсутствие и позволило накопиться 79 неотформатированным файлам) и
`prettier --check` для фронтенда. Версии форматтеров прибиты точно, без кареток: минорка меняет
вывод и красит CI на файлах, которых никто не трогал.

`.editorconfig` задаёт редакторам те же отступы и LF ещё до форматтера; значения совпадают с
настройками csharpier и Prettier намеренно — оба его читают.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 01:38:12 +03:00

47 lines
1.5 KiB
TypeScript

import { createFileRoute, Link } from '@tanstack/react-router'
import { useTranslation } from 'react-i18next'
import { Tv } from 'lucide-react'
import { useAuthStore } from '@/features/auth/store'
import { Button } from '@/shared/ui/button'
export const Route = createFileRoute('/')({ component: HomePage })
function HomePage() {
const { t } = useTranslation()
const { user } = useAuthStore()
return (
<div className="flex flex-col items-center gap-8 py-16 text-center">
<div className="crt-panel flex h-40 w-full max-w-md items-center justify-center rounded-md">
<Tv className="crt-glow h-16 w-16" strokeWidth={1} />
</div>
<div className="flex flex-col gap-2">
<h1 className="crt-glow text-4xl font-bold tracking-[0.2em]">{t('home.title')}</h1>
<p className="text-sm uppercase tracking-[0.3em] text-muted-foreground">
{t('home.subtitle')}
</p>
</div>
<p className="max-w-md text-muted-foreground">{t('home.tagline')}</p>
<div className="flex gap-3">
{user ? (
<Button asChild size="lg">
<Link to="/dashboard">{t('home.cta')}</Link>
</Button>
) : (
<>
<Button asChild size="lg">
<Link to="/login">{t('home.cta')}</Link>
</Button>
<Button asChild size="lg" variant="outline">
<Link to="/register">{t('home.ctaRegister')}</Link>
</Button>
</>
)}
</div>
</div>
)
}