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:
parent
f84d1967f2
commit
858f65b66b
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue