feat(explore): cards as the library's, in its colour, with a description of their own

Explore lists its studysets in a grid as the library does: each card in
the studyset's colour along the top, its title under its secondary
title, the start of its description and what it holds, then, quieter,
its author's handle, the release and the licence, and a compact Add.
A tap opens the summary, which shows the colour too.

The Publish sheet has a Description on Explore, starting from the
latest release's, else the studyset's own, and sent with the release:
a studyset may introduce itself to strangers while its own description
stays empty in the library.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-14 17:47:29 +02:00
commit 21b71a4413
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -9363,6 +9363,24 @@ abstract class AppLocalizations {
/// **'New in this release…'**
String get publishNotesHint;
/// No description provided for @publishDescription.
///
/// In en, this message translates to:
/// **'Description on Explore'**
String get publishDescription;
/// No description provided for @publishDescriptionAdd.
///
/// In en, this message translates to:
/// **'Add a description'**
String get publishDescriptionAdd;
/// No description provided for @publishDescriptionHelp.
///
/// In en, this message translates to:
/// **'What people see on Explore before adding it. It starts as the studyset’s own; the studyset keeps its own as it is.'**
String get publishDescriptionHelp;
/// No description provided for @publishReleases.
///
/// In en, this message translates to:
@ -9597,6 +9615,18 @@ abstract class AppLocalizations {
/// **'Add to library'**
String get exploreAddToLibrary;
/// No description provided for @exploreAdd.
///
/// In en, this message translates to:
/// **'Add'**
String get exploreAdd;
/// No description provided for @exploreInLibraryShort.
///
/// In en, this message translates to:
/// **'In library'**
String get exploreInLibraryShort;
/// No description provided for @exploreInLibrary.
///
/// In en, this message translates to: