feat: vault-aligned server v1 + UX polish
All checks were successful
CI / Windows build (push) Successful in 7m47s
All checks were successful
CI / Windows build (push) Successful in 7m47s
Redesign the optional FastAPI companion around vault files (manifest / PUT/GET/DELETE + OCR jobs) instead of legacy strokes_json notes. Wire a client Server settings panel for health/login. Polish shell UX: l10n for settings/home/board, sticky-board empty state, and a narrow-screen diagnostics FAB. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import 'diagnostic_export.dart';
|
||||
import '../editor/canvas/input_diagnostics.dart';
|
||||
import '../editor/input/diagnostic_logger.dart';
|
||||
import '../editor/input/pen_input_service.dart';
|
||||
import '../l10n/app_localizations.dart';
|
||||
|
||||
/// Shared diagnostics chrome: overlay readout + export action.
|
||||
/// Mount on any document surface (note / PDF / PPT / board).
|
||||
@@ -54,7 +55,7 @@ class DiagnosticChromeState extends State<DiagnosticChrome> {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(
|
||||
'诊断包已导出 (${result.bytes} bytes)\n路径已复制到剪贴板',
|
||||
AppLocalizations.of(context).diagExported(result.bytes),
|
||||
),
|
||||
duration: const Duration(seconds: 5),
|
||||
),
|
||||
@@ -65,7 +66,9 @@ class DiagnosticChromeState extends State<DiagnosticChrome> {
|
||||
});
|
||||
if (!mounted) return;
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('导出失败: $e')),
|
||||
SnackBar(
|
||||
content: Text(AppLocalizations.of(context).diagExportFail('$e')),
|
||||
),
|
||||
);
|
||||
} finally {
|
||||
if (mounted) setState(() => _exporting = false);
|
||||
|
||||
Reference in New Issue
Block a user