Skip to content

Commit 49d987e

Browse files
committed
Превью скриншота в стиле «окна браузера» для кейса СибАНАНДА
Длинный скриншот лендинга заменён на компактное прокручиваемое превью 4:3 с панелью-светофором сверху (разный цвет в светлой и тёмной теме) и тонким scrollbar. Включается флагом screenshotFramed в данных статьи — только для sibananda-retrit, остальные кейсы без изменений.
1 parent 83a0ece commit 49d987e

4 files changed

Lines changed: 87 additions & 1 deletion

File tree

src/components/SimpleArticle.astro

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,18 @@ const articleJsonLd = {
8888
)}
8989

9090
{article.screenshotUrl && article.siteUrl && (
91-
<a href={article.siteUrl} rel="nofollow noopener noreferrer" target="_blank"><img src={article.screenshotUrl} alt={localized.screenshotAlt} loading="lazy"></a>
91+
article.screenshotFramed ? (
92+
<figure class="screenshot-browser">
93+
<div class="screenshot-browser__bar" aria-hidden="true">
94+
<span></span><span></span><span></span>
95+
</div>
96+
<a class="screenshot-browser__scroll" href={article.siteUrl} rel="nofollow noopener noreferrer" target="_blank">
97+
<img src={article.screenshotUrl} alt={localized.screenshotAlt} loading="lazy">
98+
</a>
99+
</figure>
100+
) : (
101+
<a href={article.siteUrl} rel="nofollow noopener noreferrer" target="_blank"><img src={article.screenshotUrl} alt={localized.screenshotAlt} loading="lazy"></a>
102+
)
92103
)}
93104
</div>
94105
</Article>

src/data/articles/_types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export interface Article {
2424
siteUrl?: string;
2525
siteDisplay?: string;
2626
screenshotUrl?: string;
27+
screenshotFramed?: boolean; // показывать скриншот в прокручиваемом «окне браузера»
2728
ru: ArticleI18n;
2829
en: ArticleI18n;
2930
}

src/data/articles/sibananda-retrit.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const sibanandaRetrit: Article = {
1313
siteUrl: 'https://retrit.sibananda.ru',
1414
siteDisplay: 'retrit.sibananda.ru',
1515
screenshotUrl: '/images/articles/sibananda-retrit/screenshot.jpg',
16+
screenshotFramed: true,
1617
ru: {
1718
title: 'СибАНАНДА — лендинг ретрита по Крия-йоге под Томском — Роман Пуртов',
1819
ogTitle: 'СибАНАНДА — лендинг ретрита по Крия-йоге под Томском',

src/styles/input.css

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1362,6 +1362,79 @@ html.lenis {
13621362
margin: var(--article-spacing-lg) 0;
13631363
}
13641364

1365+
/* Превью длинного скриншота в стиле «окна браузера» (article.screenshotFramed) */
1366+
.article-body .screenshot-browser {
1367+
margin: var(--article-spacing-lg) 0;
1368+
border: 1px solid rgba(0, 0, 0, 0.12);
1369+
border-radius: var(--radius);
1370+
overflow: hidden;
1371+
background: var(--card-bg);
1372+
}
1373+
1374+
.dark .article-body .screenshot-browser {
1375+
border-color: rgba(255, 255, 255, 0.12);
1376+
background: var(--card-bg-dark);
1377+
}
1378+
1379+
.article-body .screenshot-browser__bar {
1380+
display: flex;
1381+
align-items: center;
1382+
gap: 8px;
1383+
height: 36px;
1384+
padding: 0 14px;
1385+
background: #e8eaed;
1386+
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
1387+
}
1388+
1389+
.dark .article-body .screenshot-browser__bar {
1390+
background: #2a2a2e;
1391+
border-bottom-color: rgba(255, 255, 255, 0.08);
1392+
}
1393+
1394+
.article-body .screenshot-browser__bar span {
1395+
width: 12px;
1396+
height: 12px;
1397+
border-radius: 50%;
1398+
}
1399+
1400+
.article-body .screenshot-browser__bar span:nth-child(1) { background: #ff5f57; }
1401+
.article-body .screenshot-browser__bar span:nth-child(2) { background: #febc2e; }
1402+
.article-body .screenshot-browser__bar span:nth-child(3) { background: #28c840; }
1403+
1404+
.article-body .screenshot-browser__scroll {
1405+
display: block;
1406+
aspect-ratio: 4 / 3;
1407+
overflow-y: auto;
1408+
overflow-x: hidden;
1409+
scrollbar-width: thin;
1410+
scrollbar-color: rgba(120, 120, 128, 0.55) transparent;
1411+
}
1412+
1413+
.article-body .screenshot-browser__scroll::-webkit-scrollbar {
1414+
width: 8px;
1415+
}
1416+
1417+
.article-body .screenshot-browser__scroll::-webkit-scrollbar-track {
1418+
background: transparent;
1419+
margin: 4px 0;
1420+
}
1421+
1422+
.article-body .screenshot-browser__scroll::-webkit-scrollbar-thumb {
1423+
background: rgba(120, 120, 128, 0.55);
1424+
border-radius: 999px;
1425+
}
1426+
1427+
.article-body .screenshot-browser__scroll::-webkit-scrollbar-thumb:hover {
1428+
background: rgba(120, 120, 128, 0.8);
1429+
}
1430+
1431+
.article-body .screenshot-browser__scroll img {
1432+
width: 100%;
1433+
display: block;
1434+
margin: 0;
1435+
border-radius: 0;
1436+
}
1437+
13651438
.article-body .img-caption {
13661439
font-size: 0.875rem;
13671440
color: var(--color-text-muted);

0 commit comments

Comments
 (0)