Add backup-related error messages and improve UI styles

- Updated English, Spanish, Russian, Simplified Chinese, and Traditional Chinese locale files to include new error messages related to backup and restore processes.
- Added prefix and suffix strings for the "cached empty" message to enhance clarity in user prompts.
- Enhanced the management CSS with new styles for the backup browser refresh prompt to improve layout and user experience.
This commit is contained in:
shuaiplus
2026-06-27 12:38:41 +08:00
parent 31dcc76ee2
commit 4cd9ad00d2
9 changed files with 483 additions and 3 deletions
+1 -2
View File
@@ -193,7 +193,7 @@ export default function BackupCenterPage(props: BackupCenterPageProps) {
const [downloadingRemotePercent, setDownloadingRemotePercent] = useState<number | null>(null);
const [restoringRemotePath, setRestoringRemotePath] = useState('');
const [deletingRemotePath, setDeletingRemotePath] = useState('');
const [localError, setLocalError] = useState('');
const [, setLocalError] = useState('');
const [restoreProgress, setRestoreProgress] = useState<BackupProgressState | null>(null);
const [restoreElapsedSeconds, setRestoreElapsedSeconds] = useState(0);
const [confirmLocalRestoreOpen, setConfirmLocalRestoreOpen] = useState(false);
@@ -974,7 +974,6 @@ export default function BackupCenterPage(props: BackupCenterPageProps) {
}}
/>
{localError ? <div className="local-error">{localError}</div> : null}
{restoreProgress && typeof document !== 'undefined' ? createPortal((
<div className="restore-progress-overlay" aria-live="polite">
<section className="restore-progress-card restore-progress-modal">
@@ -32,6 +32,18 @@ export function RemoteBackupBrowser(props: RemoteBackupBrowserProps) {
: t('txt_downloading_percent', { percent: props.downloadingRemotePercent });
};
const renderRefreshPrompt = () => (
<div className="backup-browser-empty">
<span className="backup-browser-refresh-prompt">
<span>{t('txt_backup_remote_cached_empty_prefix')}</span>
<button type="button" className="btn btn-secondary small" disabled={!props.canBrowse || props.loadingRemoteBrowser || props.disableWhileBusy} onClick={props.onRefresh}>
{t('txt_backup_remote_refresh')}
</button>
<span>{t('txt_backup_remote_cached_empty_suffix')}</span>
</span>
</div>
);
return (
<>
<div className="backup-divider" />
@@ -42,8 +54,10 @@ export function RemoteBackupBrowser(props: RemoteBackupBrowserProps) {
{!props.destinationIsSaved ? (
<div className="backup-browser-empty">{t('txt_backup_remote_save_first')}</div>
) : props.loadingRemoteBrowser && !props.remoteBrowser ? (
<div className="backup-browser-empty">{t('txt_backup_remote_loading')}</div>
) : !props.remoteBrowser ? (
<div className="backup-browser-empty">{t('txt_backup_remote_cached_empty')}</div>
renderRefreshPrompt()
) : (
<>
<div className="backup-browser-path">