Прод-/trade-in/* обслуживает tradein-mvp/frontend (basePath=/trade-in, standalone), а не главный frontend — v2 по ошибке попал в главный, где прод его не отдаёт. Markup-only порт (fixtures, без API): - компоненты v2 → tradein-mvp/frontend/src/components/trade-in/v2/ - роут src/app/v2/ (basePath даёт прод-URL /trade-in/v2) - public/trade-in-v2/building.png - HeroBar: <img> → next/image (плоский img не префиксит basePath → 404) - удалён мёртвый v2 из главного frontend next build (NEXT_PUBLIC_BASE_PATH=/trade-in) зелёный, роут /v2 prerendered.
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import type { Metadata } from "next";
|
||
import { IBM_Plex_Mono, Manrope } from "next/font/google";
|
||
|
||
import { pageBg } from "@/components/trade-in/v2/tokens";
|
||
|
||
// Manrope — primary sans typeface of the МЕРА HUD. next/font is bundled
|
||
// (no package.json change). Cyrillic + latin so RU labels render correctly.
|
||
const manrope = Manrope({
|
||
subsets: ["latin", "cyrillic"],
|
||
weight: ["200", "300", "400", "500", "600", "700"],
|
||
variable: "--font-manrope",
|
||
display: "swap",
|
||
});
|
||
|
||
// IBM Plex Mono — cockpit numerals / mono labels.
|
||
const plexMono = IBM_Plex_Mono({
|
||
subsets: ["latin", "cyrillic"],
|
||
weight: ["300", "400", "500"],
|
||
variable: "--font-plex-mono",
|
||
display: "swap",
|
||
});
|
||
|
||
export const metadata: Metadata = {
|
||
title: "МЕРА · Оценка v2",
|
||
};
|
||
|
||
export default function TradeInV2Layout({
|
||
children,
|
||
}: {
|
||
children: React.ReactNode;
|
||
}) {
|
||
return (
|
||
<div
|
||
className={`${manrope.variable} ${plexMono.variable}`}
|
||
style={{
|
||
minHeight: "100vh",
|
||
background: pageBg,
|
||
display: "flex",
|
||
justifyContent: "center",
|
||
alignItems: "flex-start",
|
||
}}
|
||
>
|
||
{children}
|
||
</div>
|
||
);
|
||
}
|