fix(app): Reorder among older items, export and text import that hold up
- Reorder: rows from before an order existed all share one position, and one moved among them landed at their end; the run it goes into now gets positions of its own (placeAmong), for notes, files, paths, steps and sub-studysets. Rows whose deletion can still be undone count for nothing, as the list leaves them out, and a dropped row takes its place at once instead of snapping back until the order is read again. - Export: two studysets inside each other (moved so on two devices offline) no longer make it run forever; links to files whose names hold #, % or brackets work; PDFs, images and sounds go into the zip without being compressed again; any error says the export failed. - Text import: a real CSV reader (quoted fields over several lines, a back over several quoted fields, a stray quote spoiling only its own line), the separator guessed from the text (semicolons from German spreadsheets), and files in UTF-16 or Windows-1252 read as meant. - A tab whose notes, paths or files couldn't be read says so rather than "No … yet"; an Anki import from the Library that fails leaves no empty studyset behind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
d5e5945d93
commit
084af278b5
1 changed files with 727 additions and 138 deletions
|
|
@ -966,7 +966,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get cardTextImportDescription =>
|
||||
'One card per line: its front, a separator, then its back. Each line is split at its first separator; lines without one are left out.';
|
||||
'One card per line: its front, a separator, then its back. Each line is split at its first separator; lines without one are left out. A field in double quotes, as spreadsheets write them, may hold separators and line breaks.';
|
||||
|
||||
@override
|
||||
String get cardTextImportHint => 'Paste the cards here';
|
||||
|
|
@ -978,7 +978,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String get cardTextImportFileType => 'CSV or TSV files';
|
||||
|
||||
@override
|
||||
String get cardTextImportUnreadable => 'This file isn\'t text in UTF-8.';
|
||||
String get cardTextImportUnreadable => 'This file doesn\'t hold text.';
|
||||
|
||||
@override
|
||||
String get cardTextImportSeparator => 'Separator';
|
||||
|
|
@ -1542,6 +1542,15 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get tagsReadFailed => 'Couldn\'t read the tags.';
|
||||
|
||||
@override
|
||||
String get notesReadFailed => 'Couldn\'t read the notes.';
|
||||
|
||||
@override
|
||||
String get pathsReadFailed => 'Couldn\'t read the learning paths.';
|
||||
|
||||
@override
|
||||
String get filesReadFailed => 'Couldn\'t read the files.';
|
||||
|
||||
@override
|
||||
String get tagPickerTitle => 'Tags';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue