feat(ui): общий футер на всех страницах, кроме комнаты
`AppFooter` — версия инстанса из публичного `/api/health` (не требует авторизации, поэтому работает и на экранах входа; поля `version` может не быть — тогда версия не показывается) плюс копирайт с ТЕКУЩИМ годом и ссылкой на профиль автора. Подключён во все раскладки: `page-shell` (календарь, админка, профиль, мои конференции), `AuthLayout` (вход, регистрация, подтверждение email), `join-shell` и `lobby-shell`. В комнате конференции футера нет — там полноэкранное видео. Прежний футер админки (`.admin-footer`) удалён вместе со стилем — дубля не осталось. В брендовой панели экранов auth строка «© 2026 VidConf · self-hosted» ужата до «self-hosted»: год там был захардкожен, а два копирайта на одном экране — дубль.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import type { ReactNode } from 'react'
|
||||
import { AppFooter } from '@/components/layout/AppFooter'
|
||||
import { LogoMark } from '@/components/ui/LogoMark'
|
||||
import { ThemeToggle } from '@/components/ui/ThemeToggle'
|
||||
import '@/styles/auth.css'
|
||||
@@ -41,11 +42,18 @@ export function AuthLayout({ children }: { children: ReactNode }) {
|
||||
</div>
|
||||
</div>
|
||||
<p className="hint-msg" style={{ position: 'relative', zIndex: 1 }}>
|
||||
© 2026 VidConf · self-hosted
|
||||
self-hosted
|
||||
</p>
|
||||
</aside>
|
||||
|
||||
<main className="form-panel">{children}</main>
|
||||
{/* Копирайт с годом и версией инстанса — общий `AppFooter` (он же на всех
|
||||
остальных страницах). Из брендовой панели строку «© 2026 VidConf ·
|
||||
self-hosted» при этом ужали до «self-hosted»: год там был
|
||||
захардкожен, а два копирайта на одном экране — дубль. */}
|
||||
<main className="form-panel">
|
||||
{children}
|
||||
<AppFooter />
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user