Public Landing Pages
Terra provides two public-facing page types for applicants:| Route | Purpose |
|---|---|
/p/[slug] | Program Landing Page - Overview, description, and “Start Application” CTA |
/f/[slug] | Form Page - The actual application form |
Program Landing Page (/p/[slug])
The landing page provides context before applicants start an application.
Features
- Hero Section: Cover image with gradient overlay
- Brand Bar: Logo, program title, and status badge (Open/Closed)
- About Section: Markdown-rendered program description
- Action Box (sticky):
- Deadline display (color-coded by urgency)
- User context (logged in vs guest)
- “Start Application” button
- Login Context: Shows submission count for logged-in users
URL Structure
Example
Status States
| Status | Badge | Button |
|---|---|---|
published | 🟢 Open | ”Start Application” |
draft | 🟡 Draft | ”Preview Application” + warning |
closed | ⚫ Closed | Disabled “Applications Closed” |
User Context Box
Guest (not logged in):Deadline Display
The deadline box changes color based on urgency:| Condition | Color | Icon |
|---|---|---|
| > 7 days away | 🟢 Green | Calendar |
| < 7 days away | 🟡 Amber | Calendar |
| Past deadline | ⚫ Gray | Calendar |
Form Page (/f/[slug])
The actual application form with all fields.
Layout
Preview Mode
When admins preview draft forms:- Yellow banner at top
- “Preview” badge instead of “Open”
- Submit creates fake submission (no database write)
Alert Banner
Admins can add custom alerts to forms:- Type: Info (blue), Warning (amber), Error (red)
- Content: Message text
- Dismissible: User can close
Linking Between Pages
From Landing Page to Form
From Dashboard to Landing Page
With Custom Domains
If a workspace has a custom domain:| Standard URL | Custom Domain URL |
|---|---|
/p/seattle-rent | https://apply.seattle.gov/p/seattle-rent |
/f/seattle-rent | https://apply.seattle.gov/f/seattle-rent |
Customization
Cover Image
Set via Form Settings → Branding:- Recommended: 1600x400px
- Falls back to default gradient if not set
- Graceful error handling for broken images
Program Description
Supports basic Markdown:**bold**for emphasis- bulletsfor lists[text](url)for links- Paragraph breaks with double newlines
Deadline
Set via Form Settings → General:- Stored as ISO 8601 timestamp
- Displayed in user’s locale
- Timezone shown
Implementation Details
File Structure
Data Flow
Next: Form Organization
Learn how to organize forms into workspaces.