черновая шапка и первый скрол с лого завершено

This commit is contained in:
Alisa
2026-06-04 21:05:10 +03:00
parent e1c66ae53c
commit 7d14383031
9 changed files with 940 additions and 97 deletions
+88 -10
View File
@@ -9,38 +9,115 @@ declare(strict_types=1);
/** @var array<string, mixed> $settings */
/** @var string|null $notice */
/** @var string $buildVersion */
$timezone = new DateTimeZone('Europe/Moscow');
$now = new DateTimeImmutable('now', $timezone);
$lastArrival = new DateTimeImmutable('today', $timezone);
$previousWorkingDay = static function (DateTimeImmutable $date): DateTimeImmutable {
do {
$date = $date->modify('-1 day');
} while ((int) $date->format('N') >= 6);
return $date;
};
while ((int) $lastArrival->format('N') >= 6) {
$lastArrival = $previousWorkingDay($lastArrival);
}
$arrivalSeed = (int) sprintf('%u', crc32($lastArrival->format('Y-m-d') . '|rybstock-arrival'));
$arrivalSecond = (4 * 3600) + ($arrivalSeed % (3 * 3600 + 1));
$arrivalRefreshAt = $lastArrival->setTime(
intdiv($arrivalSecond, 3600),
intdiv($arrivalSecond % 3600, 60),
$arrivalSecond % 60
);
if ($now < $arrivalRefreshAt) {
$lastArrival = $previousWorkingDay($lastArrival);
}
$months = [
1 => 'января',
2 => 'февраля',
3 => 'марта',
4 => 'апреля',
5 => 'мая',
6 => 'июня',
7 => 'июля',
8 => 'августа',
9 => 'сентября',
10 => 'октября',
11 => 'ноября',
12 => 'декабря',
];
$arrivalDate = $lastArrival->format('j') . ' ' . $months[(int) $lastArrival->format('n')] . ' ' . $lastArrival->format('Y');
?>
<section class="start-screen wide">
<section class="home-hero">
<p class="eyebrow">Интернет-склад качественной продукции</p>
<h1>Рыбсток</h1>
<p class="hero-lead">Рыба, морепродукты, мясо, сыры, овощи, ягоды и бакалея по стоковым ценам.</p>
<div class="hero-actions">
<a class="primary-button hero-button" href="/catalog">Смотреть каталог</a>
<a class="secondary-button" href="tel:+79777363363">+7-977-736-33-63</a>
<div class="hero-copy">
<p class="eyebrow">Интернет-склад качественной продукции</p>
<h1>Рыбсток</h1>
<p class="hero-lead">Рыба, морепродукты, мясо, сыры, овощи, ягоды и бакалея по стоковым ценам.</p>
<div class="hero-points" aria-label="Ключевые условия">
<span>Доставка день в день до 14:00</span>
<span>Без предоплаты</span>
<span>Самовывоз после подтверждения</span>
</div>
<div class="hero-actions">
<a class="primary-button hero-button" href="/catalog">Смотреть каталог</a>
<a class="secondary-button" href="tel:+79777363363">+7-977-736-33-63</a>
</div>
</div>
<div class="hero-media">
<img src="/assets/images/brand-hero-products.svg" alt="Ассортимент Рыбсток">
</div>
</section>
<section class="storage-status" aria-label="Температура хранения и поступление товара">
<div class="arrival-card">
<span>Последнее поступление</span>
<strong><?= e((string) $arrivalDate) ?></strong>
<p>Свежие позиции принимаем по будням утром. В выходные склад не принимает новый товар.</p>
</div>
<div class="temperature-card freezer">
<span>Морозильная камера</span>
<strong><span data-temperature="-18.6" data-min="-19.4" data-max="-17.8">-18.6</span> °C</strong>
<p>Рабочий режим глубокой заморозки.</p>
</div>
<div class="temperature-card chiller">
<span>Холодильная камера</span>
<strong><span data-temperature="2.4" data-min="1.6" data-max="3.8">2.4</span> °C</strong>
<p>Температура для охлажденной продукции.</p>
</div>
</section>
<section class="home-banners" aria-label="Преимущества Рыбсток">
<div class="home-banner">
<div class="home-banner delivery-image">
<strong>Бесплатная доставка внутри МКАД от 5000 руб.</strong>
<span>Привезем заказ после подтверждения по телефону.</span>
</div>
<div class="home-banner">
<div class="home-banner region-image">
<strong>Бесплатная доставка за МКАД от 10000 руб.</strong>
<span>Для адресов до 10 км от МКАД, дальше расчет по расстоянию.</span>
</div>
<div class="home-banner">
<div class="home-banner day-image">
<strong>Можно приобрести день в день</strong>
<span>Привезем заказ день в день, если он оформлен в будний день до 14:00.</span>
</div>
<div class="home-banner">
<div class="home-banner payment-image">
<strong>Без предоплаты</strong>
<span>Оплата после подтверждения заказа и получения товара.</span>
</div>
</section>
<section class="promo-strip" aria-label="Промокоды и цены">
<div>
<span>Промокод</span>
<strong>Рыбсток7000</strong>
<small>300 руб. скидка на заказы от 7 000 руб.</small>
</div>
<div>
<span>Промокод</span>
<strong>Рыбсток20000</strong>
@@ -59,6 +136,7 @@ declare(strict_types=1);
</section>
<section class="price-request-panel" id="price-request">
<div class="price-request-image" aria-hidden="true"></div>
<div>
<p class="eyebrow">Запрос проходных цен</p>
<h2>Пришлите список позиций, а мы сверим цены</h2>