feat(vault): pick a notebook vault folder on first run
Some checks failed
CI / Windows build (push) Has been cancelled
Some checks failed
CI / Windows build (push) Has been cancelled
Phase 0 of the file-based storage plan (docs/plans/ 2026-06-24-file-based-storage.md). Foundation only — no editor or DB change yet. - VaultService (SharedPreferences): stores the vault root path, vaultRootValid() = path set AND directory exists. - VaultSetupScreen: first-run folder picker (file_picker, Windows). - main.dart gates HomeScreen behind a valid vault, re-prompting if the saved folder is gone. - Settings: a Vault section to change the folder. Editors still use SQLite; later phases move annotations into per-file sidecars under the vault. analyze clean, tests green.
This commit is contained in:
@@ -256,4 +256,46 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get close => '关闭';
|
||||
|
||||
@override
|
||||
String get vaultSetupTitle => '选择笔记库';
|
||||
|
||||
@override
|
||||
String get vaultSetupHeadline => '为你的笔记本选择一个文件夹';
|
||||
|
||||
@override
|
||||
String get vaultSetupBody =>
|
||||
'BadNote 会把你的笔记本都存放在你选择的一个文件夹里——就像 Obsidian 的库(vault)。请选择一个你能掌控的文件夹(例如同步盘),这样你的笔记会跟着文件一起走。';
|
||||
|
||||
@override
|
||||
String get vaultChooseFolder => '选择文件夹';
|
||||
|
||||
@override
|
||||
String get vaultMissingTitle => '笔记库文件夹不见了';
|
||||
|
||||
@override
|
||||
String get vaultMissingBody => '找不到你选择的文件夹(可能被移动、删除,或所在磁盘已拔出)。请重新定位或另选一个。';
|
||||
|
||||
@override
|
||||
String vaultPickFailed(String error) {
|
||||
return '无法打开文件夹选择器:$error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get vaultNotWritable => '该文件夹不可写,请另选一个。';
|
||||
|
||||
@override
|
||||
String get vaultSection => '笔记库';
|
||||
|
||||
@override
|
||||
String get vaultFolderLabel => '笔记库文件夹';
|
||||
|
||||
@override
|
||||
String get vaultNoneSelected => '尚未选择文件夹';
|
||||
|
||||
@override
|
||||
String get vaultChangeFolder => '更改笔记库文件夹';
|
||||
|
||||
@override
|
||||
String get vaultUpdated => '笔记库文件夹已更新';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user