feat(import): one Import-file entry + vault notebooks
All checks were successful
CI / Windows build (push) Successful in 14m14s
All checks were successful
CI / Windows build (push) Successful in 14m14s
Phase 3. Import becomes a single top-level action beside "Create notebook" and the library is vault-backed. - VaultService.createNotebook copies a picked file into a fresh (de-duplicated) notebook folder under the vault; its sidecar lives beside it, so annotations travel with the file. - Home screen: one "Import file" action with a multi-extension picker (pdf / docx / pptx); routes to the editor by extension. - The document list is now a vault scan (folders with a source file), not the SQLite documents table — no cache, always correct. - PPTX soffice detection fix; DOCX convert-on-import is best-effort and fails gracefully when LibreOffice is unavailable. analyze clean, tests green.
This commit is contained in:
@@ -128,6 +128,48 @@ abstract class AppLocalizations {
|
||||
/// **'Import PPT'**
|
||||
String get importPpt;
|
||||
|
||||
/// No description provided for @importFile.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Import file'**
|
||||
String get importFile;
|
||||
|
||||
/// No description provided for @createNotebook.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Create notebook'**
|
||||
String get createNotebook;
|
||||
|
||||
/// No description provided for @noDocumentsYet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No documents yet — tap Import file'**
|
||||
String get noDocumentsYet;
|
||||
|
||||
/// No description provided for @processingImport.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Importing…'**
|
||||
String get processingImport;
|
||||
|
||||
/// No description provided for @importFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Couldn\'t import that file: {error}'**
|
||||
String importFailed(String error);
|
||||
|
||||
/// No description provided for @convertNeedsLibreOffice.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Importing Word documents needs LibreOffice installed. Convert to PDF first, or install LibreOffice.'**
|
||||
String get convertNeedsLibreOffice;
|
||||
|
||||
/// No description provided for @unsupportedFileType.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Unsupported file type: {ext}'**
|
||||
String unsupportedFileType(String ext);
|
||||
|
||||
/// No description provided for @penCanvasBeta.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
Reference in New Issue
Block a user