fix(app): the dictionary adds each word once, says when it can't, and Look up tags hold

- A word tapped twice, or added while a level is being added, makes one
  card: adds run one at a time, and the word counts as in the studyset
  at once. The adder reads the studyset's cards once rather than for
  every word.
- Adding that fails says so, and a level shows "Making the cards…" once
  its words have come.
- Finding a studyset's dictionary tells finding, none and unreachable
  apart: the dictionary screen says there is none or offers Retry, and
  an instance unreachable at start is asked again once a sync goes
  through (Look up and From the dictionary appear then).
- Look up's tags wait on the card by name and are made when it is saved:
  leaving the card at once no longer saves it untagged, a word replaced
  leaves no tag behind, and a new word replaces any level or word class
  on the card, pinned ones too. Look up marks words already made into
  cards of the studyset.
- The tag picker's Create keeps the case typed.

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:
Tizian 「ティツィアーン」 2026-10-09 12:45:18 +02:00
commit 49e10895f4
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -2986,6 +2986,24 @@ abstract class AppLocalizations {
/// **'Retry'**
String get dictionaryRetry;
/// No description provided for @dictionaryAddFailed.
///
/// In en, this message translates to:
/// **'Couldn\'t add the words. Try again.'**
String get dictionaryAddFailed;
/// No description provided for @dictionaryMakingCards.
///
/// In en, this message translates to:
/// **'Making the cards…'**
String get dictionaryMakingCards;
/// No description provided for @dictionaryNone.
///
/// In en, this message translates to:
/// **'This studyset\'s language has no dictionary on this instance.'**
String get dictionaryNone;
/// No description provided for @dictionaryAdd.
///
/// In en, this message translates to: