Marketing pages omitted create-flow nav copy, so Share rendered as a translation key; the case-study banner squeezed hero text to the thumbnail width; Copy link had no hover or copied state. Co-authored-by: Cursor <cursoragent@cursor.com>
111 lines
3.7 KiB
TypeScript
111 lines
3.7 KiB
TypeScript
/**
|
|
* Marketing-scoped message bundle: every namespace from `./index` EXCEPT the
|
|
* bulk of the `create.*` subtree. That subtree is ~41 KB gzipped — the
|
|
* largest single contributor to per-route HTML size — and wizard copy is
|
|
* only used inside `(app)/create/*`.
|
|
*
|
|
* Case-study completed-rule chrome reuses `CreateFlowTopNav`, so this bundle
|
|
* includes `create.topNav` only. Other `create.*` keys still fall back to the
|
|
* dotted path via `getTranslation` if a marketing surface reaches them.
|
|
*
|
|
* Keep this in sync with new entries added to `./index` (excluding wizard
|
|
* `create/` files other than `create/topNav.json`).
|
|
* See `docs/perf/next16-eval.md` for measurement context.
|
|
*/
|
|
import common from "./common.json";
|
|
import heroBanner from "./components/heroBanner.json";
|
|
import cardSteps from "./components/cardSteps.json";
|
|
import askOrganizer from "./components/askOrganizer.json";
|
|
import featureGrid from "./components/featureGrid.json";
|
|
import footer from "./components/footer.json";
|
|
import header from "./components/header.json";
|
|
import homeHeader from "./components/homeHeader.json";
|
|
import languageSwitcher from "./components/languageSwitcher.json";
|
|
import menu from "./components/menu.json";
|
|
import quoteBlock from "./components/quoteBlock.json";
|
|
import ruleCard from "./components/ruleCard.json";
|
|
import ruleStack from "./components/ruleStack.json";
|
|
import webVitalsDashboard from "./components/webVitalsDashboard.json";
|
|
import controlsChrome from "./components/controlsChrome.json";
|
|
import logoWall from "./components/logoWall.json";
|
|
import topNav from "./components/topNav.json";
|
|
import home from "./pages/home.json";
|
|
import templates from "./pages/templates.json";
|
|
import learn from "./pages/learn.json";
|
|
import about from "./pages/about.json";
|
|
import useCases from "./pages/useCases.json";
|
|
import useCasesDetail from "./pages/useCasesDetail.json";
|
|
import useCasesCompletedRules from "./pages/useCasesCompletedRules.json";
|
|
import useCasesCompletedRule from "./pages/useCasesCompletedRule.json";
|
|
import howItWorks from "./pages/howItWorks.json";
|
|
import privacy from "./pages/privacy.json";
|
|
import terms from "./pages/terms.json";
|
|
import cookies from "./pages/cookies.json";
|
|
import monitor from "./pages/monitor.json";
|
|
import login from "./pages/login.json";
|
|
import profile from "./pages/profile.json";
|
|
import notFoundPage from "./pages/notFoundPage.json";
|
|
import ruleDetail from "./pages/ruleDetail.json";
|
|
import navigation from "./navigation.json";
|
|
import metadata from "./metadata.json";
|
|
import modalsShare from "./modals/share.json";
|
|
import modalsPopoverExport from "./modals/popoverExport.json";
|
|
import modalsAskOrganizerInquiry from "./modals/askOrganizerInquiry.json";
|
|
import createTopNav from "./create/topNav.json";
|
|
import type messages from "./index";
|
|
|
|
const marketingMessages = {
|
|
common,
|
|
heroBanner,
|
|
cardSteps,
|
|
askOrganizer,
|
|
featureGrid,
|
|
footer,
|
|
header,
|
|
homeHeader,
|
|
languageSwitcher,
|
|
menu,
|
|
quoteBlock,
|
|
ruleCard,
|
|
ruleStack,
|
|
webVitalsDashboard,
|
|
controlsChrome,
|
|
logoWall,
|
|
topNav,
|
|
pages: {
|
|
home,
|
|
templates,
|
|
learn,
|
|
about,
|
|
useCases,
|
|
useCasesDetail,
|
|
useCasesCompletedRules,
|
|
useCasesCompletedRule,
|
|
howItWorks,
|
|
privacy,
|
|
terms,
|
|
cookies,
|
|
monitor,
|
|
login,
|
|
profile,
|
|
notFoundPage,
|
|
ruleDetail,
|
|
},
|
|
navigation,
|
|
metadata,
|
|
modals: {
|
|
share: modalsShare,
|
|
popoverExport: modalsPopoverExport,
|
|
askOrganizerInquiry: modalsAskOrganizerInquiry,
|
|
},
|
|
create: {
|
|
topNav: createTopNav,
|
|
},
|
|
};
|
|
|
|
// Cast to the full shape so it satisfies `typeof import("./index").default`
|
|
// at the MessagesProvider boundary. Reads of wizard `create.*` keys other
|
|
// than `create.topNav` still return the dotted key at runtime.
|
|
export default marketingMessages as typeof messages;
|
|
|