feat(board): sticky-note board with backlinks
All checks were successful
CI / Windows build (push) Successful in 20m32s
All checks were successful
CI / Windows build (push) Successful in 20m32s
Wire the F7 双链 + 无限便利贴 model (Board/LinkGraph) into a reachable screen. Previously the model existed but had no UI and no entry point. board_screen.dart: an infinite InteractiveViewer canvas of draggable, editable sticky cards. Card text renders [[links]] as tappable chips that pan to the target card (dangling links styled apart). A backlinks panel lists "linked from" via backlinksOf. "Add card" FAB drops a card at the viewport center. Persistence: a board_cards table (DB v7), one row per card, debounced 800ms like the ink editors, loaded on open — boards survive restart. Entry added to the home screen app bar (dashboard_customize icon). Ink-on-cards, multi-board management and link autocomplete are deferred (TODO board-ink / board-multi / board-link-autocomplete). analyze clean, 285 tests green.
This commit is contained in:
@@ -439,6 +439,72 @@ abstract class AppLocalizations {
|
||||
/// In en, this message translates to:
|
||||
/// **'{current} / {total}'**
|
||||
String pageOfPages(int current, int total);
|
||||
|
||||
/// No description provided for @board.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Board'**
|
||||
String get board;
|
||||
|
||||
/// No description provided for @boardTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sticky Board'**
|
||||
String get boardTitle;
|
||||
|
||||
/// No description provided for @boardOpen.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sticky note board'**
|
||||
String get boardOpen;
|
||||
|
||||
/// No description provided for @boardAddCard.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Add card'**
|
||||
String get boardAddCard;
|
||||
|
||||
/// No description provided for @boardNewCardText.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'New note'**
|
||||
String get boardNewCardText;
|
||||
|
||||
/// No description provided for @boardDeleteCard.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete card'**
|
||||
String get boardDeleteCard;
|
||||
|
||||
/// No description provided for @boardDeleteCardTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete this card?'**
|
||||
String get boardDeleteCardTitle;
|
||||
|
||||
/// No description provided for @boardBacklinks.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Linked from'**
|
||||
String get boardBacklinks;
|
||||
|
||||
/// No description provided for @boardNoBacklinks.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Nothing links here yet'**
|
||||
String get boardNoBacklinks;
|
||||
|
||||
/// No description provided for @boardDanglingLink.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No card named \"{target}\"'**
|
||||
String boardDanglingLink(String target);
|
||||
|
||||
/// No description provided for @close.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Close'**
|
||||
String get close;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
||||
Reference in New Issue
Block a user