fix(wiki): cache-buster #27
@ -8,7 +8,7 @@ import RublocsLogo from '../components/RublocsLogo/RublocsLogo';
|
||||
import useDeviceType from '../hooks/useDeviceType';
|
||||
import KubikonDesktopOnlyStub from './KubikonDesktopOnlyStub';
|
||||
import Icon from '../editor/Icon';
|
||||
import { DOCS } from './docsData';
|
||||
import { DOCS, wikiUrl } from './docsData';
|
||||
import { GAMES, GAME_GROUPS } from './docsGames';
|
||||
import { LESSONS, hasLesson } from './docsLessons';
|
||||
import { buildGameProject } from './docsGamesBuilders';
|
||||
@ -233,7 +233,7 @@ const GamesGrid = ({ onOpenLesson }) => (
|
||||
</div>
|
||||
<img
|
||||
className="gameCard__img"
|
||||
src={`/wiki/${g.previewShot || `lesson${g.num}-result.png`}`}
|
||||
src={wikiUrl(g.previewShot || `lesson${g.num}-result.png`)}
|
||||
alt={g.title}
|
||||
loading="lazy"
|
||||
onError={(e) => { e.currentTarget.style.display = 'none'; }}
|
||||
|
||||
@ -82,11 +82,20 @@ export const Try = ({ children }) => (
|
||||
);
|
||||
|
||||
// ── Скриншот интерфейса с подписью ────────────────────────────────
|
||||
// Версия вики-ассетов (cache-buster). Бампать при добавлении/замене картинок
|
||||
// в public/wiki/ — иначе у юзеров, открывавших статью ДО заливки файла,
|
||||
// браузер кэширует битый SPA-fallback (HTML вместо PNG) и Ctrl+Shift+R не
|
||||
// помогает (инцидент 2026-06-03 с guide-taxisim). Новый ?v=N = новый URL.
|
||||
export const WIKI_ASSET_V = 4;
|
||||
|
||||
/** URL вики-картинки с версией для обхода кэша. */
|
||||
export const wikiUrl = (name) => `/wiki/${name}?v=${WIKI_ASSET_V}`;
|
||||
|
||||
// src — имя файла из public/wiki/, caption — подпись под картинкой.
|
||||
// wide — для широких скринов (обзор, лента): растянуть на всю ширину.
|
||||
export const Shot = ({ src, caption, wide }) => (
|
||||
<figure className={'docShot' + (wide ? ' docShot--wide' : '')}>
|
||||
<img src={`/wiki/${src}`} alt={caption || ''} loading="lazy" />
|
||||
<img src={wikiUrl(src)} alt={caption || ''} loading="lazy" />
|
||||
{caption && <figcaption>{caption}</figcaption>}
|
||||
</figure>
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user