mirror of
https://github.com/luxfi/financial.git
synced 2026-10-30 16:55:56 +00:00
- @luxbank/brand: add productName, urls, contactEmails, copyright surfaces to BrandConfig; resolve tenant overrides from LUX_BRAND_INLINE (JSON string, optionally base64) and LUX_BRAND_OVERRIDE (path to JSON file); domain-driven URL/email derivation when only `domains.primary` is set. - next.config.js: resolve LUX_BRAND_OVERRIDE at Node config time and pass through as LUX_BRAND_INLINE so the same JSON is visible to both server and client bundles (no fs in the browser). - layout.tsx: metadata reads from LUX_BRAND.name + urls.site. - Footer/Menu/NavDropdown/CommandPalette/ChatWidget/UserSteps: all brand-bearing URLs, emails, copyright, attribution, and product-name strings sourced from LUX_BRAND. - ~40 product/technology/solutions/contact/press/security pages: hardcoded docs.lux.financial / app.lux.financial / status.lux.financial / cal.com/luxfi / mailto:*@lux.financial swapped for LUX_BRAND.urls.* and LUX_BRAND.contactEmails.*. - examples/tenant-bank.example.json + tenant-psp.example.json: working fictitious tenant overrides demonstrating the full surface (name, legalName, productName, domains, urls, contactEmails, copyright, colors, social). Build the same code as a fully-rebranded site with LUX_BRAND_OVERRIDE=./examples/tenant-<x>.example.json pnpm build. - pkg/brand 1.0.2 -> 1.0.3; root 0.1.2 -> 0.1.3.
45 lines
1.5 KiB
JSON
45 lines
1.5 KiB
JSON
{
|
|
"$comment": "Fictitious tenant override for a bank white-labeling the site. Apply with: LUX_BRAND_OVERRIDE=./examples/tenant-bank.example.json pnpm build",
|
|
"name": "Example Bank",
|
|
"legalName": "Example Bank, N.A.",
|
|
"productName": "Example",
|
|
"tagline": "Modern banking infrastructure for your clients.",
|
|
"description": "Example Bank provides chartered banking, payments, and custody to fintechs and treasurers worldwide.",
|
|
"domains": {
|
|
"primary": "examplebank.com",
|
|
"app": "app.examplebank.com",
|
|
"docs": "docs.examplebank.com",
|
|
"status": "status.examplebank.com",
|
|
"api": "api.examplebank.com"
|
|
},
|
|
"contactEmails": {
|
|
"general": "[email protected]",
|
|
"support": "[email protected]",
|
|
"sales": "[email protected]",
|
|
"press": "[email protected]",
|
|
"security": "[email protected]",
|
|
"compliance": "[email protected]",
|
|
"legal": "[email protected]",
|
|
"careers": "[email protected]"
|
|
},
|
|
"urls": {
|
|
"schedule": "https://cal.com/example-bank",
|
|
"parent": "https://examplebank.com"
|
|
},
|
|
"copyright": {
|
|
"holder": "Example Bank, N.A.",
|
|
"attributionText": "An Example Financial Holdings company",
|
|
"startYear": 1998
|
|
},
|
|
"colors": {
|
|
"primary": "#0B5FFF",
|
|
"primaryForeground": "#FFFFFF",
|
|
"ring": "#0B5FFF"
|
|
},
|
|
"social": {
|
|
"twitter": "https://twitter.com/examplebank",
|
|
"linkedin": "https://linkedin.com/company/examplebank",
|
|
"github": ""
|
|
}
|
|
}
|