Skip to content

feat(frontend):reject projects - #256

Merged
sabinem merged 3 commits into
mainfrom
feat/reject-projects
Aug 27, 2026
Merged

feat(frontend):reject projects#256
sabinem merged 3 commits into
mainfrom
feat/reject-projects

Conversation

@sabinem

@sabinem sabinem commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

As an owner, I turn down a proposal and write why. As the participant who proposed it, I open my project and read one thing: who rejected it, when, and what they said.

Before, the participant read it twice — the backend writes a "Project rejected" comment next to every reason, and both rendered as notes with the same byline and timestamp, the first saying nothing the Rejected badge hadn't.

  • The marker comment becomes the Rejected by … · date line; reasons stack under it with no repeated bylines.
  • A rejection with no reason still names who decided, and says "No reason was given."
  • Where a project was rejected, reconsidered and rejected again, the latest marker gives the attribution and every reason is kept.

Left out: per-reason bylines. If two owners each wrote a reason across separate rejections, only the latest is named — the alternative reintroduces the duplication this fixes.

The organiser could approve a proposal or revoke an approval, but not
turn one down. #252 added ProjectService.Reject with an optional reason;
this is the frontend half.

Rejecting lives on a project's own page under Manage Projects, not on
the queue: it is the one decision that takes prose, and a reason is
written after reading the proposal. Approve, Revoke approval and
Reconsider stay one click each on the queue, so every action still has
exactly one place it can be taken from.

The reason reaches its author as a review note on their project. That
needed two fixes on the participant side: a rejected proposal used to
vanish from its author's view entirely, and — once REJECTED existed —
would have been readable by every member of the hackathon.
Reject writes a "Project rejected" comment alongside the reason, so the
proposer saw the same name and date on two lines. The marker now becomes
the section's attribution line, with reasons beneath it.
rejectReason on projectSpec left every other literal incomplete, which
exhaustruct rejects. go.sum picked up entries from a `go build` run
without GOWORK=off; a tidy removes them again.
@sabinem
sabinem merged commit 0932052 into main Aug 27, 2026
2 checks passed
@sabinem
sabinem deleted the feat/reject-projects branch August 27, 2026 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant