diff --git a/lint.sh b/lint.sh
index d8059d9..d273b83 100755
--- a/lint.sh
+++ b/lint.sh
@@ -39,15 +39,16 @@ for f in "$dir"/*.yaml; do
fail=1
fi
- # "textarea" and "file" are the two values content.rs special-cases;
- # anything else is passed straight through as an HTML
- # attribute, so this is the real set of valid values, not a guess.
+ # "textarea", "file", and "prosekit" are the three values
+ # content.rs/app.rs special-case; anything else is passed straight
+ # through as an HTML attribute, so this is the real set
+ # of valid values, not a guess.
bad_types=$(jq -r '
[.alternatives[]?.features[]?.requirements[]?
| select(.type != null and (.type | IN(
- "text", "textarea", "file", "email", "tel", "url", "number",
- "password", "date", "datetime-local", "time", "month", "week",
- "color", "range", "checkbox", "radio", "hidden", "search"
+ "text", "textarea", "file", "prosekit", "email", "tel", "url",
+ "number", "password", "date", "datetime-local", "time", "month",
+ "week", "color", "range", "checkbox", "radio", "hidden", "search"
) | not))
| .type]
| unique | .[]
diff --git a/questions/index.yaml b/questions/index.yaml
index 00f561f..ff29489 100644
--- a/questions/index.yaml
+++ b/questions/index.yaml
@@ -9,6 +9,7 @@ alternatives:
reads the whole brief before answering.
action: /project
consequence: [Tell us what you're after]
+ record_as: portal_project_inquiries
encouragements:
- We read every word before breaking ground.
features:
@@ -31,6 +32,7 @@ alternatives:
there's something worth saying.
action: /subscribed
consequence: [Subscribe]
+ record_as: portal_subscribers
encouragements:
- Consider yourself posted.
features:
diff --git a/questions/review.yaml b/questions/review.yaml
index 3b4e24a..898c322 100644
--- a/questions/review.yaml
+++ b/questions/review.yaml
@@ -1,9 +1,9 @@
id: /review
route: ^/review
-name: Who's applied?
+name: The review desk
qualifies: owners
description: >
- Sign in as an organizational owner to see who's applied.
+ Sign in as an organizational owner to see what's come in.
alternatives:
- name: Applicants
description: ""
@@ -18,3 +18,39 @@ alternatives:
label: Invite
- to: declined
label: Decline
+
+ - name: Inquiries
+ description: ""
+ features:
+ - name: ""
+ description: ""
+ resource:
+ bucket: portal_project_inquiries
+ requires_group: owners
+ transitions:
+ - to: handled
+ label: Mark handled
+
+ - name: Subscribers
+ description: ""
+ features:
+ - name: ""
+ description: ""
+ resource:
+ bucket: portal_subscribers
+ requires_group: owners
+
+ - name: Compose newsletter
+ description: >
+ Sends to everyone in Subscribers - picked up by an automation
+ watching this question, not portal itself.
+ consequence: [Send]
+ features:
+ - name: ""
+ description: ""
+ requirements:
+ - name: subject
+ label: Subject
+ - name: body
+ label: Body
+ type: prosekit