A plan may ask for a place

`type: location` on a field is portal 0.4.0's map pin, stored as
lat/lon/zoom. The reference tells the model it needs `optional: true`,
since a map needs a browser that can draw one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-24 21:35:45 +02:00
co-authored by Claude Opus 5
parent 242a1e0ad6
commit 443ddcca68
2 changed files with 4 additions and 2 deletions
+1 -1
View File
@@ -288,7 +288,7 @@ fn text() -> String {
"text".to_string()
}
const FIELD_TYPES: &[&str] = &["text", "email", "tel", "textarea", "date", "select"];
const FIELD_TYPES: &[&str] = &["text", "email", "tel", "textarea", "date", "select", "location"];
fn is_id(s: &str) -> bool {
!s.is_empty() && s.chars().all(|c| c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '-')
+3 -1
View File
@@ -102,7 +102,9 @@ needs:
# the intake says about them: someone on a phone with gloves
# on gets 3, a first enquiry 4 to 6, a firm's paperwork 5 to 6
collects: # the form; name is snake_case ASCII, type one of
# text (default), email, tel, textarea, date, select
# text (default), email, tel, textarea, date, select, location
# (a pin on a map, stored as lat/lon/zoom; optional: true,
# since a map needs a browser that can draw one)
- { name: name }
- { name: phone, type: tel }
- { name: problem, type: textarea }