# Copy-trading preview

The smart-investment section starts with only its capital field and an expand button. Focusing the field opens the existing currency, balance, horizon, risk, asset selection and allocation controls. Collapsing or switching tabs preserves these values for the current page visit.

The second tab opens a short copy-trading introduction and links to `/copy-trading`. Its three profiles are explicitly illustrative strategy models, not people, verified traders or profitability rankings. Each has a shareable detail URL (`?trader=steady`, `balanced` or `dynamic`).

## Preview behavior

- A positive trial capital amount, selected limits and acknowledgement enable a trial connection.
- Connecting reveals the model's budget allocation and example plan rules. Disconnecting hides them and allows editing the settings.
- The connection exists only in component state and resets on reload. It does not read or write balances, create orders, grant account access or persist a follower relationship.
- The displayed 20% trader share is an example, not an active tariff or settlement calculation. No return or fee is accrued.
- Capital and allocation use exact integer rial arithmetic with Persian, English and Arabic display formatting. Rounding remainders remain in the last preview bucket.

## Needed for live service

Live trader onboarding, a verified performance feed, server-authorized strategy access, durable follower connections and an execution service are not configured. Before enabling actual copying, the service must define each trader's terms, loss-recovery and settlement rules, trading permissions, order limits and disconnect behavior. A live gated strategy must be fetched after server authorization; this client-only preview is not an access-control mechanism.

The existing market quotation integrations do not provide a trader directory or a copy-trading execution engine. Keep preview labels in place until actual data and execution are available.

## Checks

`npm run typecheck`

`node --test tests/copy-trading.test.mjs tests/localized-number-input.test.mjs tests/investment-amount.test.mjs tests/unified-investment.test.mjs`
