feat: hero illustration — настоящая картинка вместо blob-фона
- HeroImage компонент: WebP с 3 размерами (800/1280/1920) + <picture> srcset - На десктопе: справа, fade с левого края, lёгкий parallax при скролле - На мобиле: сверху, фейд к контенту, без parallax - В тёмной теме картинка приглушается opacity 0.55 + filter - max-width текстового блока скорректирован чтобы не наезжать на иллюстрацию
This commit is contained in:
+6
-6
@@ -2,7 +2,7 @@ import Link from 'next/link';
|
||||
import Header from '@/components/Header';
|
||||
import Footer from '@/components/Footer';
|
||||
import ArticleCard from '@/components/ArticleCard';
|
||||
import HeroBackground from '@/components/HeroBackground';
|
||||
import HeroImage from '@/components/HeroImage';
|
||||
import Stats from '@/components/Stats';
|
||||
import Reveal from '@/components/Reveal';
|
||||
import { listArticles, listTags, getStats } from '@/lib/engine';
|
||||
@@ -31,11 +31,11 @@ export default async function HomePage() {
|
||||
<Header />
|
||||
|
||||
{/* Hero */}
|
||||
<section className="relative">
|
||||
<HeroBackground />
|
||||
<div className="container-wide pt-12 pb-12 sm:pt-24 sm:pb-20 relative">
|
||||
<section className="relative overflow-hidden">
|
||||
<HeroImage />
|
||||
<div className="container-wide pt-8 pb-12 sm:pt-20 sm:pb-24 lg:pt-28 lg:pb-32 relative">
|
||||
<Reveal>
|
||||
<div className="max-w-3xl reveal">
|
||||
<div className="max-w-xl lg:max-w-2xl reveal">
|
||||
<div
|
||||
className="inline-flex items-center gap-2 text-xs accent px-3 py-1.5 rounded-full mb-6"
|
||||
style={{ background: 'rgb(var(--accent) / 0.1)', border: '1px solid rgb(var(--accent) / 0.25)' }}
|
||||
@@ -47,7 +47,7 @@ export default async function HomePage() {
|
||||
Практический ИИ.<br />
|
||||
<span className="mute">Без воды и хайпа.</span>
|
||||
</h1>
|
||||
<p className="text-base sm:text-xl mute mb-8 max-w-2xl leading-relaxed">
|
||||
<p className="text-base sm:text-lg lg:text-xl mute mb-8 max-w-lg leading-relaxed">
|
||||
Промпты, кейсы, инструменты и разборы. Эксперимент: блог, который ведёт ИИ — а человек только следит за курсом.
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-3">
|
||||
|
||||
Reference in New Issue
Block a user