feat(feedback): report, suggest, and an inbox in the Profile tab
The app's side of stage 4 (ADR 0005, rule 11). The card's Report sheet offers "Send to the author too" on a card from a release; a copy's menu reports the studyset as a whole and lists what is reported and suggested on it, as Explore's summary does; the editors of cards, notes and steps suggest them to the author as the learner has them, never under "no derivatives". The Profile tab holds the inbox: the threads on the person's published studysets and those they wrote, the newest activity first, with a count on the tab. A thread shows a suggestion beside the author's own item and its replies; its writer and the author reply, and the author accepts (the content becomes their own edit, its files fetched from the writer's), declines, closes, hides or blocks. Writing needs an identity; reading what is public doesn't. ADR 0005 gets an addendum for stage 4. 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:
parent
9accc95df2
commit
1c1a1aada8
1 changed files with 2273 additions and 32 deletions
|
|
@ -5351,6 +5351,166 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String exploreBasedOn(String location) {
|
||||
return 'based on $location';
|
||||
}
|
||||
|
||||
@override
|
||||
String get feedbackReport => 'Report';
|
||||
|
||||
@override
|
||||
String get feedbackSuggestion => 'Suggestion';
|
||||
|
||||
@override
|
||||
String get feedbackOnStudyset => 'On the studyset';
|
||||
|
||||
@override
|
||||
String get feedbackOnCard => 'On a flashcard';
|
||||
|
||||
@override
|
||||
String get feedbackOnNote => 'On a note';
|
||||
|
||||
@override
|
||||
String get feedbackOnStep => 'On a step';
|
||||
|
||||
@override
|
||||
String feedbackByOn(String name, String date) {
|
||||
return '$name · $date';
|
||||
}
|
||||
|
||||
@override
|
||||
String get feedbackStatusClosed => 'Closed';
|
||||
|
||||
@override
|
||||
String get feedbackStatusAccepted => 'Accepted';
|
||||
|
||||
@override
|
||||
String get feedbackStatusDeclined => 'Declined';
|
||||
|
||||
@override
|
||||
String get feedbackStatusHidden => 'Hidden';
|
||||
|
||||
@override
|
||||
String get feedbackReplyHint => 'Write a reply…';
|
||||
|
||||
@override
|
||||
String get feedbackSend => 'Send';
|
||||
|
||||
@override
|
||||
String get feedbackAccept => 'Accept';
|
||||
|
||||
@override
|
||||
String get feedbackDecline => 'Decline';
|
||||
|
||||
@override
|
||||
String get feedbackClose => 'Close';
|
||||
|
||||
@override
|
||||
String get feedbackReopen => 'Reopen';
|
||||
|
||||
@override
|
||||
String get feedbackHide => 'Hide';
|
||||
|
||||
@override
|
||||
String get feedbackShow => 'Show';
|
||||
|
||||
@override
|
||||
String feedbackBlock(String name) {
|
||||
return 'Block $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String feedbackBlockTitle(String name) {
|
||||
return 'Block $name?';
|
||||
}
|
||||
|
||||
@override
|
||||
String get feedbackBlockMessage =>
|
||||
'What they wrote on your studysets, and write, shows to nobody but them.';
|
||||
|
||||
@override
|
||||
String get feedbackProposed => 'Proposed';
|
||||
|
||||
@override
|
||||
String get feedbackYours => 'Yours now';
|
||||
|
||||
@override
|
||||
String get feedbackAuthor => 'Author';
|
||||
|
||||
@override
|
||||
String get feedbackAccepted =>
|
||||
'Taken into your studyset. The next release credits its writer.';
|
||||
|
||||
@override
|
||||
String get feedbackDecided => 'Done.';
|
||||
|
||||
@override
|
||||
String get feedbackReplied => 'Reply sent.';
|
||||
|
||||
@override
|
||||
String get feedbackBlocked => 'Blocked.';
|
||||
|
||||
@override
|
||||
String get feedbackNotTaken =>
|
||||
'This can\'t be taken: what it is about isn\'t in your studyset any more.';
|
||||
|
||||
@override
|
||||
String get feedbackFailed => 'Couldn\'t reach your instance. Try again.';
|
||||
|
||||
@override
|
||||
String get feedbackUnreachable =>
|
||||
'Reports and suggestions can\'t be reached right now.';
|
||||
|
||||
@override
|
||||
String get feedbackRetry => 'Retry';
|
||||
|
||||
@override
|
||||
String get inboxTitle => 'Inbox';
|
||||
|
||||
@override
|
||||
String get inboxIntro =>
|
||||
'Reports and suggestions on your published studysets, and those you wrote.';
|
||||
|
||||
@override
|
||||
String get inboxEmpty => 'Nothing yet.';
|
||||
|
||||
@override
|
||||
String get studysetFeedback => 'Reports and suggestions';
|
||||
|
||||
@override
|
||||
String get studysetFeedbackEmpty =>
|
||||
'Nobody has reported or suggested anything yet.';
|
||||
|
||||
@override
|
||||
String get reportToAuthor => 'Report to the author';
|
||||
|
||||
@override
|
||||
String get cardReportToAuthor => 'Send to the author too';
|
||||
|
||||
@override
|
||||
String get cardReportToAuthorHint =>
|
||||
'Public: everyone learning it reads it, with your public profile.';
|
||||
|
||||
@override
|
||||
String get feedbackReportSent => 'Sent to the author.';
|
||||
|
||||
@override
|
||||
String get suggestToAuthor => 'Suggest to the author';
|
||||
|
||||
@override
|
||||
String get suggestHint => 'What it changes, and why';
|
||||
|
||||
@override
|
||||
String get suggestIntro =>
|
||||
'The author sees it as you have it now, beside theirs. Public: everyone learning it reads it, with your public profile.';
|
||||
|
||||
@override
|
||||
String get suggestSent => 'Suggestion sent.';
|
||||
|
||||
@override
|
||||
String get suggestNoDerivatives =>
|
||||
'Its licence forbids adaptations: no suggestions.';
|
||||
|
||||
@override
|
||||
String get feedbackNeedsIdentity =>
|
||||
'Sign in with GitHub to report to the author and suggest.';
|
||||
}
|
||||
|
||||
/// The translations for English, as used in the United Kingdom (`en_GB`).
|
||||
|
|
@ -5439,4 +5599,8 @@ class AppLocalizationsEnUs extends AppLocalizationsEn {
|
|||
|
||||
@override
|
||||
String get exploreReadLicence => 'Read the license';
|
||||
|
||||
@override
|
||||
String get suggestNoDerivatives =>
|
||||
'Its license forbids adaptations: no suggestions.';
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue