Summary
Toggle + configuration form for automatic credit reloading. When enabled, reveals threshold and reload amount inputs. Handles toggle state, form validation, and save with loading feedback. A common pattern in any prepaid credit system.
Proposed API
<AutoReload
enabled={settings.autoReloadEnabled}
thresholdCents={settings.thresholdCents}
reloadAmountCents={settings.reloadAmountCents}
currency="EUR"
onToggle={handleToggle}
onSave={handleSave}
isSaving={isSaving}
/>
// Disabled state (e.g., no wallet yet)
<AutoReload
disabled
disabledMessage="Subscribe to enable auto-reload settings."
/>
Requirements
Layout
┌──────────────────────────────────────────────────┐
│ Auto-reload [Toggle ◯] │
│ Automatically reload credits when balance low │
│ ─────────────────────────────────────────────── │
│ (when enabled:) │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Threshold (€) │ │ Reload amt (€)│ │
│ │ [ 10.00 ] │ │ [ 20.00 ] │ │
│ │ Reload when │ │ Amount to add │ │
│ │ below this │ │ when triggered│ │
│ └──────────────┘ └──────────────┘ │
│ │
│ [Save settings] │
└──────────────────────────────────────────────────┘
Use Cases
- SaaS credit wallet auto-reload settings
- API platform automatic top-up configuration
- Cloud platform spending auto-replenish
- Prepaid service balance maintenance
Composes
Switch, Input, Label, Button, Card
Origin
Extracted from AutoReloadSettings and AutoReloadForm in apps/web-ai-os/app/account/billing/billing-client.tsx in vllnt/vllnt monorepo.
Summary
Toggle + configuration form for automatic credit reloading. When enabled, reveals threshold and reload amount inputs. Handles toggle state, form validation, and save with loading feedback. A common pattern in any prepaid credit system.
Proposed API
Requirements
isSaving)onToggle(enabled: boolean)andonSave({ thresholdCents, reloadAmountCents })callbacksLayout
Use Cases
Composes
Switch,Input,Label,Button,CardOrigin
Extracted from
AutoReloadSettingsandAutoReloadForminapps/web-ai-os/app/account/billing/billing-client.tsxin vllnt/vllnt monorepo.