30 lines
1.4 KiB
TypeScript
30 lines
1.4 KiB
TypeScript
// Curated user-facing strings (P6 plain English; ADR-0007 Primary-Rule compliant).
|
|||
|
|
// The Primary-Rule lint test (src/__tests__/primary-rule-lint.test.ts) scans these and the
|
||
|
|
// panel/page source for imperative trade verbs (a stoplist of directives). Approved noun
|
||
|
|
// phrases such as the buy-zone estimate are allowed.
|
||
|
|
export const UI_STRINGS = {
|
||
|
|
appTitle: "Investor Flow",
|
||
|
|
appSubtitle: "Educational investment research terminal",
|
||
|
|
symbolPlaceholder: "Enter a symbol (e.g. NVDA)",
|
||
|
|
loadingSnapshot: "Loading cached snapshot…",
|
||
|
|
noData: "No cached data yet — the backend is fetching this in the background.",
|
||
|
|
priceLabel: "Last price",
|
||
|
|
dayChangeLabel: "Day change",
|
||
|
|
sectorLabel: "Sector",
|
||
|
|
industryLabel: "Industry",
|
||
|
|
tickerKindLabel: "Type",
|
||
|
|
sparklineCaption: "Recent daily close — context for where price has been, not a signal to act on.",
|
||
|
|
cryptoNotice: "Crypto — limited research module (SEC-derived ownership and filings do not apply).",
|
||
|
|
staleBadge: "cached — refreshing",
|
||
|
|
primaryRuleFooter:
|
||
|
|
"Educational analysis, not investment advice. Verify the underlying data; you are responsible for your own decisions.",
|
||
|
|
authEmailLabel: "Email",
|
||
|
|
authPasswordLabel: "Password",
|
||
|
|
signupButton: "Create account",
|
||
|
|
loginButton: "Sign in",
|
||
|
|
logoutButton: "Sign out",
|
||
|
|
signupPrompt: "Create an account to track symbols and keep your research in one place.",
|
||
|
|
} as const;
|
||
|
|
|
||
|
|
export const UI_STRING_LIST: string[] = Object.values(UI_STRINGS);
|