Improve migration status detection for new databases

- Add intelligent migration requirement detection that checks for actual unencrypted data
- New databases without sensitive data no longer show false migration warnings
- Frontend now displays three states: completed, required, or not needed
- Fix TypeScript compilation errors in migration status checks
- Prevent unnecessary migration prompts for clean installations
This commit is contained in:
ZacharyZcR
2025-09-16 10:38:11 +08:00
parent a501df8dde
commit 0839cb4134
2 changed files with 77 additions and 6 deletions

View File

@@ -876,8 +876,10 @@ export function AdminSettings({
<div className="mt-1">
{encryptionStatus.migration?.migrationCompleted ? (
<span className="text-green-600"> {t("admin.migrationCompleted")}</span>
) : (
) : encryptionStatus.migration?.migrationRequired ? (
<span className="text-yellow-600"> {t("admin.migrationRequired")}</span>
) : (
<span className="text-gray-600"> No migration needed</span>
)}
</div>
</div>
@@ -913,7 +915,7 @@ export function AdminSettings({
</div>
) : (
<div className="space-y-4">
{!encryptionStatus.migration?.migrationCompleted && (
{encryptionStatus.migration?.migrationRequired && (
<div className="space-y-3">
<h4 className="font-medium">{t("admin.migrateExistingData")}</h4>
<p className="text-sm text-muted-foreground">