fix: BankSyncAdminCard toggle no longer gated on encryption key

- Removed disable logic and key warning banner from BankSyncAdminCard
- Toggle works freely regardless of TOKEN_ENCRYPTION_KEY status
- encryptionKeyReady and encryption_key_set left as informational only
This commit is contained in:
null 2026-05-28 22:18:20 -05:00
parent f84d1967f2
commit 858f65b66b
2 changed files with 1 additions and 19 deletions

View File

@ -45,7 +45,6 @@ export default function BankSyncAdminCard() {
); );
} }
const keySet = config?.encryption_key_set;
const changed = enabled !== !!config?.enabled; const changed = enabled !== !!config?.enabled;
return ( return (
@ -60,17 +59,6 @@ export default function BankSyncAdminCard() {
</CardHeader> </CardHeader>
<CardContent className="space-y-5"> <CardContent className="space-y-5">
{/* Encryption key status */}
<div className={`rounded-lg border px-4 py-3 text-sm ${
keySet
? 'border-emerald-500/25 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400'
: 'border-amber-500/25 bg-amber-500/10 text-amber-700 dark:text-amber-400'
}`}>
{keySet
? 'TOKEN_ENCRYPTION_KEY is configured. Bank sync can be enabled.'
: 'TOKEN_ENCRYPTION_KEY is not set. Add a 32+ character key to your environment before enabling bank sync.'}
</div>
{/* Enable toggle */} {/* Enable toggle */}
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<div> <div>
@ -82,13 +70,12 @@ export default function BankSyncAdminCard() {
<Toggle <Toggle
checked={enabled} checked={enabled}
onChange={v => setEnabled(v)} onChange={v => setEnabled(v)}
disabled={!keySet}
label="Enable bank sync" label="Enable bank sync"
/> />
</div> </div>
<div className="flex justify-end pt-2"> <div className="flex justify-end pt-2">
<Button onClick={handleSave} disabled={saving || !changed || (!enabled ? false : !keySet)}> <Button onClick={handleSave} disabled={saving || !changed}>
{saving ? 'Saving…' : 'Save'} {saving ? 'Saving…' : 'Save'}
</Button> </Button>
</div> </div>

View File

@ -38,11 +38,6 @@ function getBankSyncConfig() {
} }
function setBankSyncEnabled(enabled) { function setBankSyncEnabled(enabled) {
if (enabled && !encryptionKeyReady()) {
const err = new Error('TOKEN_ENCRYPTION_KEY must be set (32+ chars) before enabling bank sync');
err.status = 400;
throw err;
}
setSetting('bank_sync_enabled', enabled ? 'true' : 'false'); setSetting('bank_sync_enabled', enabled ? 'true' : 'false');
return getBankSyncConfig(); return getBankSyncConfig();
} }