Reviews – Frontend¶
Technical documentation for the Reviews frontend in Alan Home (eu-home-app). Intended for developers debugging or developing on the feature.
Routes and pages¶
| Route | Component | Purpose |
|---|---|---|
/reviews |
ReviewsHome |
List of pending actions (self, coachee, peer) and active reviews |
/reviews/:reviewId |
ViewReview |
View a single review (status, submissions, timeline) |
/reviews/:reviewId/select-reviewers |
PickReviewers |
Reviewee/coach: add reviewers to the review |
/reviews/:reviewId/validate-reviewers |
ValidateReviewers |
Coach: approve or reject reviewer submissions |
/reviews/:reviewId/:reviewSubmissionId |
WriteReview |
Reviewer: write or edit a submission (answers, publication) |
Data layer¶
Query options (OpenAPI)¶
searchReviewsQueryOptions(parameters)– list reviews (filters:reviewee_ids,reviewer_ids,statuses, etc.)searchReviewSubmissionsQueryOptions(parameters)– list submissions (filters:reviewer_ids,published,types)reviewQueryOptions(reviewId)– single reviewreviewSubmissionsQueryOptions(reviewId)– submissions for a reviewreviewSubmissionQueryOptions(reviewId, submissionId)– single submission- Policy checks use
openApiPolicyCheckOptionsfor ABAC-gated actions (e.g. view answers, approve, publish).
Mutations¶
Mutations in utils/reviews.tsx for creating submissions, updating answers, publishing, approving, rejecting, extending dates, releasing.
Types¶
Types come from @alaneu/openapi-codegen/src/generated/eu-tools (Schemas.Review, Schemas.ReviewSubmission, etc.). Status and submission-type labels are in REVIEW_STATUS_LABELS and REVIEW_SUBMISSION_STATUS_LABELS.
Flow (high level)¶
- Home: Load todos and active/coachee reviews via query options; render lists and links to
ViewReview,PickReviewers,ValidateReviewers, orWriteReview. - View review: Load review and submissions; show status, timeline, and actions (add reviewers, validate, write submission, extend dates, release) depending on policy.
- Select reviewers: Add submissions (reviewers) for the review; when enough are added, status moves to coach approval.
- Validate reviewers: Coach approves or rejects each submission; when enough are approved, status moves to self-review or submissions.
- Write review: Reviewer loads submission, edits answers, publishes. After all submissions are published, status becomes completed; coach can then release (PDF to Drive).
Permissions¶
Access is enforced by the backend via ABAC. The frontend uses openApiPolicyCheckOptions to show/hide or enable/disable actions (e.g. "Approve", "Publish", "View answers"). Policy IDs align with backend (e.g. reviewee, reviewer, reviewee-coach).