feat(flutter): empty-state copy mirrors web design-system voice

Five terse "No X." strings replaced with the longer actionable forms
the web SPA uses on equivalent surfaces:

- Library Artists/Albums tabs: "No artists yet — scan a library folder
  via the server's config." (mirrors web /library/artists, /albums)
- Library Liked tab: "No liked artists, albums, or tracks yet."
  (consolidates web's per-section copy since Flutter shows all three
  in one tab)
- Search no-results: "No matches for that query." (web has per-section
  copy that doesn't fit Flutter's combined view)
- Discover no-results: "Nothing to add for that search yet." (mirrors
  web /discover)

Hidden tab keeps its current actionable hint (web's "Nothing hidden
yet." is terser but lacks the "use a track's menu to flag" guidance).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-09 16:06:58 -04:00
parent 231f1ddf9a
commit ccebd98735
2 changed files with 6 additions and 5 deletions
@@ -162,8 +162,9 @@ class _DiscoverScreenState extends ConsumerState<DiscoverScreen> {
final rows = snap.data ?? const [];
if (rows.isEmpty) {
return Center(
child: Text('No matches.',
style: TextStyle(color: fs.ash)),
child: Text('Nothing to add for that search yet.',
style: TextStyle(color: fs.ash),
textAlign: TextAlign.center),
);
}
return ListView.separated(