Reviewing Pending Submissions
Pending tools are fetched using thegetPendingTools query in convex/tools.ts:139-147:
Tool Information Available
Each pending submission displays:- Basic Details: Name, description, category, pricing
- Visual Assets: Logo or generated initial avatar
- Tags: All associated tags for searchability
- Metadata: Submitter ID, submission date, website URL
- Extended Details: Long description, features, pros/cons, use cases
- Social Links: Twitter, GitHub, Discord (if provided)
Approval Process
Click Approve Button
From either the dashboard list or detailed tool view, click the green Approve Tool button.
Confirm Approval
A confirmation dialog appears asking you to confirm. This prevents accidental approvals.The dialog displays:
- Green checkmark icon
- “Confirm Approval” heading
- Warning that tool will be immediately visible
- Cancel and Confirm buttons
Tool is Approved
The This updates the tool’s
approveTool mutation is called with sendEmail: true:approved field to true in the database.Email Sent
The submitter automatically receives an approval email notification (see Email Notifications).
Approval Mutation
The approval is handled byconvex/tools.ts:207-217:
Rejection Process
Provide Rejection Reason
A dialog opens with:
- Red alert shield icon
- “Reject Submission” heading
- Required textarea for rejection reason
- Placeholder text with example reasons
- Broken website link
- Low quality description
- Duplicate submission
- Inappropriate content
- Incomplete information
Confirm Rejection
Click Send Rejection to confirm. The reason field is required - you cannot submit without providing feedback.
Rejection Mutation
The rejection is handled byconvex/tools.ts:219-232:
Review Actions Component
The UI for approve/reject actions is implemented incomponents/tools/AdminReviewActions.tsx:29-151:
- Disabled states during processing
- Loading spinners with
Loader2icon - Confirmation dialogs using shadcn/ui Dialog component
- Required rejection reason with validation
- Visual feedback with scale animations on hover/click
Detailed Tool View
When viewing a tool at/admin/tools/[id], admins see the full AdminToolDetailView component which displays:
Header Section
Large logo, name, approval status badge, full description
Metadata Grid
Category, pricing, website, submission date and submitter
Content Sections
Long description, key features list, pros and cons
Social Links
Twitter, GitHub, and Discord links if provided