Page: Frequently Asked Questions
Code: FAQP Route:
/faq Access: Public Priority: P1 Test Script: scripts/page-tests/test-FAQP.sh Components: src/components/marketing/index.ts Purpose
Answer common questions about Peerloop, reducing support load and addressing potential objections that might prevent conversion.
Connections
Incoming (users arrive from)
| Source | Trigger | Notes |
|---|---|---|
| HOME | Footer link | General questions |
| PRIC | "More questions?" link | Pricing questions |
| HOWI | "FAQ" link | Process questions |
| BCMT | "More Questions" link | Teacher questions |
Outgoing (users navigate to)
| Target | Trigger | Notes |
|---|---|---|
| CONT | "Contact Us" CTA | Fallback for unanswered questions |
Data Requirements
| Entity | Fields Used | Purpose |
|---|---|---|
| faq_entries | question, answer, category, display_order | FAQ content (25 entries across 6 categories) |
Sections
Hero
- • Headline: "Frequently Asked Questions"
- • Search bar to find specific questions
Category Tabs
- • All (default)
- • General (3 questions)
- • For Students (5 questions)
- • For Teachers (5 questions)
- • For Creators (4 questions)
- • Payments (4 questions)
- • Technical (4 questions)
FAQ Accordion
- • Grouped by category when "All" selected
- • Flat list when specific category selected
- • Each question expands to show answer
No Results State
- • "No matching questions found"
- • "Clear filters" button
Contact CTA
- • "Still Have Questions?"
- • "Contact Us" button → /contact
User Stories Fulfilled
- • US-G010
- • US-S015
- • US-T010
States & Variations
| State | Description |
|---|---|
| Default | All categories visible, grouped by category |
| Filtered | Single category selected, flat list |
| Search Results | Matching questions filtered |
| No Results | Empty state with clear filters |
Mobile Considerations
- • Accordion style for questions
- • Category tabs scroll horizontally
- • Search bar sticky at top
Error Handling
| Error | Display |
|---|---|
| Search returns no results | "No matching questions found. Clear filters." |
Analytics Events
| Event | Trigger | Data |
|---|---|---|
page_view | Page load | source, referrer |
faq_search | Search performed | query, results_count |
faq_expand | Question expanded | question_id, category |
contact_click | Contact CTA clicked | from_section |
Planned API Calls
| Endpoint | When | Purpose |
|---|---|---|
GET /api/faq | Page load | Fetch FAQ entries (25 entries) |
Notes
- • Category tabs sticky at top on scroll
- • Category tabs scroll horizontally on mobile
- • Search filters both questions and answers
- • FAQ data loaded from D1 via /api/faq
- • Has dev mode toggle (PageSpecView + real content)
- • SEO: Each question could be a rich snippet opportunity
Features
Search & Filter
- ✓ Hero with headline and subheadline [US-G010]
- ✓ Search bar with clear button [US-G010]
- ✓ Category filter tabs (7: All, General, Students, Teachers, Creators, Payments, Technical) [US-G010]
FAQ Display
- ✓ FAQ accordion (expandable Q&A items) [US-G010]
- ✓ Grouped by category view (when "All" selected) [US-G010]
- ✓ Single category flat view (when category selected) [US-G010]
- ✓ No results state with clear filters button [US-G010]
CTA
- ✓ Contact CTA section [US-G010]
Interactive Elements
Buttons: 32/32 active
Links: 1/1 active
Buttons
| Element | Component | Action | Status |
|---|---|---|---|
| Clear search (✕) | FaqPage | Clears search query | active |
| Category tab (All) | CategoryTab | Sets filter to 'all' | active |
| Category tabs (6) | CategoryTab | Sets filter to category | active |
| Clear filters | FaqPage | Resets search + category | active |
| Accordion toggle | FaqAccordion | Expands/collapses answer | active |
Links
CTA Section
| Element | Target | Status |
|---|---|---|
| "Contact Us" button | /contact | active |
Target Pages Status
| Target | Page Code | Status |
|---|---|---|
/contact | CONT | Implemented |
Verification Notes
Verified: 2026-01-08 Consolidated: 2026-01-08
Verified Components
- ✓
src/components/marketing/FaqPage.tsx
Screenshots
- 📷
FAQP-2026-01-08-02-15-00.png- Full page with all categories
Notes
- • All interactive elements are functional
- • Search works on both questions and answers
- • Category filtering works correctly
- • No broken links or missing targets
- • Analytics planned for Block 9
Test Coverage
Component ✓
Page ○
SSR ✓
API 0/0
✓ Ready
Script:
scripts/page-tests/test-FAQP.sh Page Test:
tests/pages/faq.test.tsx ○ Component Test:
tests/components/marketing/FaqPage.test.tsx ✓ SSR Loader Test:
tests/ssr/static.test.ts → fetchFaqData() ✓ Discrepancies (Spec vs Implementation)
As of 2026-01-08
Planned but Not Implemented
| Feature | Original Spec | Status | Priority |
|---|---|---|---|
| Analytics events | 4 events (page_view, faq_search, faq_expand, contact_click) | Not implemented | Low |
Implemented Differently
| Feature | Original Spec | Reality | Note |
|---|---|---|---|
| Category "For Student-Teachers" | For Student-Teachers | Shows as "For Teachers" | Simpler naming |
Frequently Asked Questions
Find answers to common questions about Peerloop
ℹ️General
📚For Students
🎓For Teachers
✏️For Creators
💳Payments
⚙️Technical
Still Have Questions?
Our support team is here to help. Send us a message and we'll get back to you within 24 hours.
Contact Us→