$# This file is part of Vervis. $# $# Written in 2016, 2019, 2022, 2023, 2024 $# by fr33domlover . $# $# ♡ Copying is an act of love. Please copy, reuse and share. $# $# The author(s) have dedicated all copyright and related and neighboring $# rights to this software to the public domain worldwide. This software is $# distributed without any warranty. $# $# You should have received a copy of the CC0 Public Domain Dedication along $# with this software. If not, see $# . ^{projectNavW (Entity projectID project) actor}

Components
Role Component Since $if haveAdmin Remove $forall (comp, role, since, compID) <- comps
#{show role} ^{componentLinkFedW comp} #{showDate since} $if haveAdmin ^{buttonW POST "Remove" (ProjectRemoveComponentR projectHash compID)} $if haveAdmin

Invite a component:

^{widgetIC}

Component requests in progress
Inviter Via Invited component Component accepted? Role Time $if haveAdmin Approve $forall (inviter, us, component, accept, time, role, componentID) <- drafts
^{actorLinkFedW inviter} $if us Us $else Them ^{componentLinkFedW component} $if accept [x] $else [_] #{show role} #{showDate time} $if haveAdmin && (accept && not us) ^{buttonW POST "Approve" (ProjectApproveComponentR projectHash componentID)}