Admin help & docs
Click ⓘ next to a label in live admin. The panel shows a short
answer and Read full guide →, which opens
https://admin.finmatch.io/docs/ in a new tab. Left nav
Documentation is the same site. Training tables live in docs, not
in the popup. Do not start from admin/js/admin-help-panels.js.
The model
- Click ⓘ → a small in-page panel (same feel as today).
- The panel always has:
- a short answer (1–3 sentences), and
- Read full guide → — opens the matching admin docs page in a new tab, ideally scrolled to a stable
#section.
- Training-length content (tables, examples, consequences) lives in admin docs only, not in the JS panel registry.
Why
| Problem with encyclopedia popups | What this fixes |
|---|---|
| Unsearchable / not shareable for onboarding | Docs have URLs and a sidebar |
| Drift between UI tips and written runbooks | One topic → one docs page (or one H2) |
Huge admin-help-panels.js | Registry becomes an index, not a second docs site |
Docs landscape (keep separate)
| Audience | Host | Repo |
|---|---|---|
| Operators / FinMatch staff | https://admin.finmatch.io/docs | admin-docs/ |
| Partners (public) | https://docs.finmatch.io | developer-docs/ |
Cross-link when needed (e.g. FCA status → Partner API non-regulated section). Do not merge admin and partner docs into one site.
Panel registry shape
Preferred entry in admin/js/admin-help-panels.js:
FCA_STATUS: {
title: 'Merchant FCA status',
summary: 'Optional record of whether the merchant is authorised by the <strong>FCA</strong>. …',
docsPath: '/docs/merchants/fca-status',
docsAnchor: 'not-authorised' // optional → #not-authorised
}
Rules:
summary— short HTML tip only. No long tables.docsPath— path under admin docs (/docs/...). Required for new panels.docsAnchor— optional stable heading id on the docs page (omit when linking to the top of the page is enough).- Do not add
sectionsarrays.npm run check-help-docsfails if any panel still has encyclopediasections: [. Keepsummary+docsPathonly.
Stable anchors
Docs headings are the contract when you need a deep-link. Prefer explicit ids:
### Not authorised \{#not-authorised}
Use docsAnchor only when the popup should land on a specific section — otherwise docsPath alone is fine.
Migration policy
- Do not add new encyclopedia
sectionstables. Write the guide first, then a shortsummary+docsPath. - Existing panels are
summary+docsPath(48/48). Keep it that way.
Migrated so far
| Panel key | Docs page |
|---|---|
FCA_STATUS | Merchant FCA status |
FOS_TEMPLATE_MODE | Finance offer summary template mode |
ECOMMERCE_PLATFORM | Ecommerce platform |
SNIPPET_STATUS / SNIPPET_DETAILS | Snippet status |
FA_API_KEY | Merchant users & FA keys |
LENDERS_SNAPSHOT | Lenders overview |
DIRECT_APPLY_URL / FA_SETTINGS_SNAP / FA_SETTINGS_HUMM / FA_SETTINGS_PROPENSIO / FA_SETTINGS_PRODUCT_DESCRIPTION | Lender Apply start |
FA_SETTINGS_ZOPA | Bon Voyage and Zopa Start |
MERCHANT_STATUS | Merchant Page Editing |
ENV_INTEGRITY / APP_ENVIRONMENT / HEADER_SNIPPET / DETECTED_SNIPPET / FA_PROXY_URL / FEATURES_MATRIX / EMBED_PAGES | Merchant Page Editing |
SANDBOX_PREVIEW / CART_PERMALINK | Sandbox preview |
FOS_BADGE_MODE / QUICK_START_OVERVIEW / FOS_TEMPLATE_BADGE / QUICK_START_BADGE_TYPES / QUICK_START_DEFAULTS / MERCHANT_QUICK_START_TILE | Quick-Start badge |
QUOTE_COMPARISON_COLUMNS | Quote comparison |
STYLES_* / PM_RELOAD / DYNAMIC_PRICE_DETECTION | Pay monthly styling |
MERCHANT_CALC_EDITOR / MERCHANT_BUILDER_OVERRIDE_STATUS / EMBED_PRICE_SOURCE | Calculator editor |
Every panel has a docsPath. All 48 are summary + guide link (no encyclopedia sections left in the registry).