$# 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 $# . ^{loomNavW (Entity loomID loom) actor}

Projects
Role Project Since $if haveAdmin Remove $forall (project, role, since, stemID) <- stems
#{show role} ^{projectLinkFedW project} #{showDate since} $# $if haveAdmin $# ^{buttonW POST "Remove" (LoomRemoveProjectR loomHash stemID)} $#$if haveAdmin $#

Add loom to a project: $#

$# ^{widgetAP} $#

Invites
Inviter Via Invited project I accepted? Role Time $if haveAdmin Approve $forall (inviter, us, project, accept, time, role, stemID) <- drafts
^{actorLinkFedW inviter} $if us Us $else Them ^{projectLinkFedW project} $if accept [x] $else [_] #{show role} #{showDate time} $# $if haveAdmin && (not accept && not us) $# ^{buttonW POST "Approve" (LoomApproveProjectR loomHash stemID)}