[Report & Block] Render report reason and description fields
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
Research direction
Create lib/widgets/report_form.dart, keeping the stored reason strings aligned with the agreed list in supabase/functions/_shared/moderation/messages.ts. Read docs/guides/testing.md and the Flutter widget-test cookbook before writing test/widgets/report_form_dp_r02_test.dart; the form takes an onSubmit callback and validates the explanation. Done means the eight reasons render with readable labels, the Other/blank, Spam/blank and 1001-character cases behave as described, and flutter test test/widgets/report_form_dp_r02_test.dart plus flutter analyze pass.
Written by the indexing model from the issue text.
Description
What to build
Build the report form using the eight agreed reasons and an optional explanation. Require an explanation for “Other” and enforce the maximum length before sending anything.
Files
lib/widgets/report_form.dart(new file)- Starting example: supabase/functions/_shared/moderation/messages.ts
Steps
- Offer harassment, hate_speech, spam, sexual_content, violence, impersonation, off_topic and other, with readable dropdown labels. Keep the stored reason strings unchanged.
- Add the explanation field. For other, require nonblank text after trimming; every explanation must be at most 1000 characters.
- Pass the checked reason/explanation to onSubmit. Check Other with blank text, Spam without text and an explanation of 1001 characters.
Example
Other+blank blocks;Spam+blank valid;1001 characters blocks.
Check it works
In test/widgets/report_form_dp_r02_test.dart, check the example above and the failure or limit described in the steps. Run flutter test test/widgets/report_form_dp_r02_test.dart and flutter analyze.
Before starting
- #112 — Map report response/error outcomes
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- Dominant language
- PLpgSQL
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DevDogsUGA/DogPack
-
polish
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DevDogsUGA/DogPack#131 ·
-
polish
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
DevDogsUGA/DogPack#130 ·
-
moderation
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
DevDogsUGA/DogPack#119 ·
-
discover
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
DevDogsUGA/DogPack#106 ·
-
discover
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
DevDogsUGA/DogPack#99 ·
All issues in DevDogsUGA/DogPack
Similar issues
-
Contrib indemnité de départ à la retraite : faire le pont avec le simulateur sur la page génériqueOpenP1
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
SocialGouv/code-du-travail-numerique#7561 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
schmayterling/hibi#245 ·
Maintainers usually reply within 1 day
-
After a failed save, the red error banner stays on every page until the app is reloadedPossibly taken A pull request linked to this issue is open or already merged. Openai-driven-qa bug claude Minor
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
linagora/twake-contacts-frontend#241 ·
Maintainers usually reply within 1 day
-
[Bug] System alert time picker no longer applies start-only or end-only filtersPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
apache/rocketmq-dashboard#6636 ·
Maintainers usually reply within 3 days