Community suggestions land in a merged review queue at /admin/platforms/suggestions. The admin platform index carries a "Suggestions" button with a pending-count badge.
Three actions per card
- Approve as-is — confirm dialog, applies the suggester's version immediately. Cache-busts, audit-logs, notifies the suggester with reward summary.
- Edit & approve — inline form pre-filled with the suggester's text. Tweak whatever, submit, your edits land on the hub. The suggester is still credited; their notification mentions an admin made edits.
- Reject — disclosure with a required reason textarea. The suggester sees your reason verbatim in their notification.
What's in the queue
- Editorial section: each suggestion shows current-vs-proposed side-by-side
- FAQs section: edit suggestions show current-vs-proposed diff; new-FAQ suggestions show just the proposal
- Both carry the suggester's optional rationale, the platform name, and timestamps
Reward handling
Approvals automatically:
- Pay the suggester 250 credits via
UserCredit::earn(role-aware) - Grant milestone achievements (faq_promoted / faq_promoted_5 / editorial_promoted / editorial_promoted_5) at the 1st and 5th approved suggestion of each type
- Drop a notification in the suggester's bell with a reward summary
Credits and achievements happen whether you approved as-is or edited first. The suggester contributed either way.
Audit trail
platform.faqSuggestion.approve/approveWithEdits/rejectplatform.editorialSuggestion.approve/approveWithEdits/reject
The approveWithEdits variant distinguishes "applied exactly as submitted" from "admin tweaked before publishing" in the log.
Roles: approve/reject require role >= 4 (Administrator). Reading the queue requires role >= 3.