src/app.ts
Props
State and actions
State is{ status: "pending" | "approved" | "rejected", decidedBy? }, starting at pending.
Approve is the block’s primary button. Reject can’t take that slot because it’s destructive. When
you list
approvers, the recipe sets audience on its Actions, so only they see the two buttons.
A member who isn’t a listed approver gets a notice instead of a decision. The block is
insertable by default, so members can add it from the slash menu.
Labels
pending, approved, rejected, approve, reject, requestedBy, confirmTitle, confirmBody,
notAllowed.