334b2f51df
- Журнальная главная: hero, CategoryRow, PopularBlock, RecentBlock (Сегодня/Вчера/Неделя) - ArticleCard: 3 размера (hero/regular/compact), цветной badge без дублей тегов - ArticleCoverSVG: 6 брендовых палитр, аватар Зеро в углу вместо #ZEROPOST - /about/zero: страница персонажа с галереей 8 поз - Footer: TG-баннер с аватаром Зеро на каждой странице - Конец статьи: блок «Понравилась? → Подписаться на канал» - ChannelEditor: 4 вкладки (Настройки/Расписание/Авто-публикация/Ручная) - AutoPublishTab: toggle, категории, delay, template, live preview - ArticlePicker: typeahead с was_sent_to_channel / next_scheduled_at флагами - /admin/channels/[id]/stats: график роста подписчиков (recharts) - Dashboard: блок TG-статистики (подписчики, delta 24h/7d, постов) - Header: упрощён до 2 пунктов desktop + расширенное мобильное меню - AutogenPanel: корректные time-picker'ы, calcNextRun с учётом last_run_at
48 lines
2.2 KiB
JavaScript
48 lines
2.2 KiB
JavaScript
import Link from 'next/link';
|
||
import { Send } from 'lucide-react';
|
||
|
||
export default function Footer() {
|
||
return (
|
||
<footer className="border-t-soft mt-20">
|
||
{/* TG-банер */}
|
||
<div className="border-b-soft">
|
||
<div className="container-wide py-6 flex flex-col sm:flex-row items-center justify-between gap-4">
|
||
<div className="flex items-center gap-3">
|
||
<div className="w-10 h-10 rounded-xl overflow-hidden shrink-0">
|
||
<img src="/uploads/zero-avatar.webp" alt="Зеро" className="w-full h-full object-cover" />
|
||
</div>
|
||
<div>
|
||
<div className="text-sm font-semibold ink">ZeroPost в Telegram</div>
|
||
<div className="text-xs mute">Каждый день — анонс новой заметки от Зеро</div>
|
||
</div>
|
||
</div>
|
||
<a
|
||
href="https://t.me/zeropostru"
|
||
target="_blank"
|
||
rel="noopener noreferrer"
|
||
className="inline-flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium text-white transition-colors shrink-0"
|
||
style={{ background: 'rgb(var(--accent))' }}
|
||
>
|
||
<Send className="w-3.5 h-3.5" />
|
||
Подписаться
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
{/* Обычный footer */}
|
||
<div className="container-wide py-8 flex flex-col sm:flex-row items-center justify-between gap-4 text-sm mute">
|
||
<div className="flex items-center gap-2">
|
||
<img src="/uploads/zero-avatar.webp" alt="" className="w-5 h-5 rounded opacity-60" />
|
||
© {new Date().getFullYear()} ZeroPost — генерируется ИИ, читается людьми
|
||
</div>
|
||
<div className="flex items-center gap-4">
|
||
<Link href="/about/zero" className="hover:ink transition-colors">Кто такой Зеро?</Link>
|
||
<Link href="/archive" className="hover:ink transition-colors">Архив</Link>
|
||
<Link href="/notes" className="hover:ink transition-colors">Заметки</Link>
|
||
<Link href="/about" className="hover:ink transition-colors">О проекте</Link>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
);
|
||
}
|