fix: export/import — отмена пользователем не показывает error toast
Bug: при отмене save-dialog или open-dialog DataCard показывал тост
«Не удалось сохранить» / «Файл не подошёл». Но cancel — это не ошибка.
Расширил IPC возврат: { ok, canceled, path?, error? }. UI теперь
различает: ok → success toast, !ok && canceled → молча, !ok && !canceled
→ error toast.
+9 тестов на validateSettingsPatch для voicePromptsEnabled,
meetingAutoPause, lastSeenVersion (semver-regex / null-сброс /
malformed). Итого 159 → 168 тестов.
Settings → About теперь показывает текущую версию приложения
(раньше была только кнопка «Что нового»). Загружается через
IPC.getAppVersion при mount.
This commit is contained in:
@@ -261,7 +261,8 @@ function DataCard(): JSX.Element {
|
||||
const r = await window.api.exportState()
|
||||
if (r.ok && r.path) {
|
||||
setToast(t('settings.data.export.ok', { path: r.path }))
|
||||
} else if (!r.ok) {
|
||||
} else if (!r.ok && !r.canceled) {
|
||||
// canceled — пользователь сам передумал, тост не нужен.
|
||||
setToast(t('settings.data.export.err'))
|
||||
}
|
||||
} finally {
|
||||
@@ -275,7 +276,8 @@ function DataCard(): JSX.Element {
|
||||
try {
|
||||
const r = await window.api.importState()
|
||||
if (r.ok) setToast(t('settings.data.import.ok'))
|
||||
else if ('error' in r && r.error !== undefined) {
|
||||
else if (!r.canceled) {
|
||||
// canceled — пользователь не выбрал файл, не показываем error.
|
||||
setToast(t('settings.data.import.err'))
|
||||
}
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user