64 lines
3.6 KiB
JavaScript
64 lines
3.6 KiB
JavaScript
// Generated, do not edit. sha256:26b76ae49e193597112630c3ad94ab2a26c04d90427102a41f017d09ef2fec9a
|
|||
|
|
import { sharedText } from './i18n/index.js';
|
||
|
|
|
||
|
|
const TOKEN = /\{([A-Z][A-Z0-9_]*)\}|\{icon:([a-z][a-z0-9-]*)\}/g;
|
||
|
|
|
||
|
|
export const GUIDE_ICONS = Object.freeze(['adjust']);
|
||
|
|
|
||
|
|
export const GUIDE_FIGURES = Object.freeze(['stand-period', 'account-example', 'result-sum']);
|
||
|
|
|
||
|
|
export function splitPlaceTokens(text) {
|
||
|
|
const parts = [];
|
||
|
|
let last = 0;
|
||
|
|
for (const m of String(text).matchAll(TOKEN)) {
|
||
|
|
if (m.index > last) parts.push(text.slice(last, m.index));
|
||
|
|
parts.push(m[1] ? { place: m[1] } : { icon: m[2] });
|
||
|
|
last = m.index + m[0].length;
|
||
|
|
}
|
||
|
|
if (last < text.length) parts.push(text.slice(last));
|
||
|
|
return parts;
|
||
|
|
}
|
||
|
|
|
||
|
|
const section = (s) => Object.freeze({ place: null, related: [], ...s });
|
||
|
|
|
||
|
|
export const GUIDE_GROUPS = Object.freeze([
|
||
|
|
Object.freeze({ id: 'concepts',
|
||
|
|
sections: ['overview', 'bookings', 'anchors', 'free-value', 'returns', 'account-returns',
|
||
|
|
'two-balances'] }),
|
||
|
|
Object.freeze({ id: 'pages',
|
||
|
|
sections: ['actions', 'wealth', 'taxes', 'tracking', 'interest', 'price-history', 'charts',
|
||
|
|
'conversion'] }),
|
||
|
|
Object.freeze({ id: 'setup',
|
||
|
|
sections: ['dashboard', 'accounts', 'assets', 'price-sources', 'connections', 'lnd', 'ai', 'health', 'license',
|
||
|
|
'portfolios'] }),
|
||
|
|
]);
|
||
|
|
|
||
|
|
export const GUIDE_SECTIONS = Object.freeze([
|
||
|
|
section({ id: 'overview', related: ['bookings', 'two-balances', 'price-sources'] }),
|
||
|
|
section({ id: 'bookings', place: 'EVENT_ACCOUNTS', related: ['anchors', 'free-value', 'two-balances'] }),
|
||
|
|
section({ id: 'anchors', place: 'VALUATIONS', related: ['bookings', 'actions'] }),
|
||
|
|
section({ id: 'free-value', related: ['bookings', 'wealth'] }),
|
||
|
|
section({ id: 'returns', place: 'WEALTH', related: ['wealth', 'account-returns', 'free-value', 'taxes'] }),
|
||
|
|
section({ id: 'account-returns', place: 'WEALTH', related: ['returns', 'wealth', 'accounts'] }),
|
||
|
|
section({ id: 'two-balances', place: 'TRACKING', related: ['overview', 'tracking'] }),
|
||
|
|
section({ id: 'wealth', place: 'WEALTH', related: ['returns', 'account-returns', 'free-value', 'taxes'] }),
|
||
|
|
section({ id: 'taxes', place: 'TAXES', related: ['anchors', 'wealth'] }),
|
||
|
|
section({ id: 'actions', place: 'ACTIONS', related: ['anchors', 'two-balances'] }),
|
||
|
|
section({ id: 'price-sources', place: 'SOURCE_PROPOSALS', related: ['overview', 'price-history'] }),
|
||
|
|
section({ id: 'tracking', place: 'TRACKING', related: ['two-balances', 'connections', 'actions'] }),
|
||
|
|
section({ id: 'connections', place: 'CONNECTIONS', related: ['tracking', 'lnd', 'overview'] }),
|
||
|
|
section({ id: 'lnd', place: 'CONNECTIONS', related: ['connections'] }),
|
||
|
|
section({ id: 'ai', place: 'AI_ACTIVITY', related: ['actions'] }),
|
||
|
|
section({ id: 'interest', place: 'INTEREST', related: ['bookings', 'free-value', 'actions'] }),
|
||
|
|
section({ id: 'health', place: 'HEALTH', related: ['anchors', 'price-sources'] }),
|
||
|
|
section({ id: 'dashboard', place: 'HOME', related: ['overview'] }),
|
||
|
|
section({ id: 'price-history', place: 'PRICE_HISTORY', related: ['price-sources', 'health'] }),
|
||
|
|
section({ id: 'charts', place: 'CHARTS', related: ['price-history'] }),
|
||
|
|
section({ id: 'conversion', place: 'CONVERSION', related: ['charts'] }),
|
||
|
|
section({ id: 'assets', place: 'ASSETS', related: ['overview', 'price-sources'] }),
|
||
|
|
section({ id: 'accounts', place: 'ACCOUNTS', related: ['bookings', 'tracking', 'wealth', 'account-returns'] }),
|
||
|
|
section({ id: 'license', place: 'LICENSE', related: ['overview'] }),
|
||
|
|
section({ id: 'portfolios', place: 'PORTFOLIOS', related: ['overview'] }),
|
||
|
|
]);
|
||
|
|
|
||
|
|
export const guideText = (code) => sharedText(code).guide;
|