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