feat(library): who made a studyset, and whether it is public

Each card's foot now says who made the studyset: "By you", or for a copy
of a published studyset its author's handle. Beside the star, a lock or a
globe says whether it is out on Explore, and opens the Publish sheet.

The instance says which of the person's studysets are published and not
withdrawn (`PublishEndpoint.published`, additive: older apps don't call
it), and the app remembers that in the person's folder, so the library
shows it offline too; publishing, withdrawing and looking one up keep it
current.

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-10 05:17:10 +02:00
commit bc3e8d9ac3
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -108,7 +108,7 @@ void main() {
await tester.tap(find.text('Publish v1'));
await tester.pumpAndSettle();
expect(publishing.published.single, (
expect(publishing.publishes.single, (
studysetId: 'japanese',
slug: 'japanese',
notes: 'The first lessons.',
@ -331,7 +331,7 @@ void main() {
await tester.pumpAndSettle();
expect(find.byType(SheetScaffold), findsNothing);
expect(publishing.published, hasLength(1));
expect(publishing.publishes, hasLength(1));
});
testWidgets('on a phone it is an icon that says the studyset is private', (