diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index fd72882e..266daf59 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -17,6 +17,7 @@ Content is sourced from the pre-1980s Vedabase, extracted and indexed into Mongo - **vaul** for mobile drawer navigation - **Go BFF API** — all data fetched via `lib/bff.ts` HTTP client calling the Go BFF server (no direct database access) - **framer-motion** for audio player animations (spring enter/exit, minimize/expand transitions, audio wave bars) +- **Typesense** (via BFF) — typo-tolerant full-text search across all content - **Python 3** with BeautifulSoup4 + `indic-transliteration` for HTML extraction scripts --- @@ -69,9 +70,13 @@ knowledgebase/ │ │ ├── place/[place]/page.tsx → Place listing │ │ ├── type/[type]/page.tsx → Type listing (lecture/conversation), year sidebar │ │ └── [slug]/page.tsx → Individual transcription reading page +│ ├── search/ → Search page (server + client components) +│ │ ├── page.tsx → Server component (URL-driven state) +│ │ └── search-content.tsx → Client component (input, filters, results) │ └── api/ │ ├── og/route.tsx → Dynamic OG image generator (Noto Sans, Prabhupāda image) │ ├── books/ → Book/verse API routes +│ ├── search/route.ts → BFF search proxy (Typesense via /api/v1/search) │ └── glossary/route.ts → Glossary API ├── components/ │ ├── ui/ → shadcn components (button, card, badge, tooltip, input, drawer) @@ -86,6 +91,7 @@ knowledgebase/ │ ├── page-header.tsx → Shared header with ReadingSettings (max-w-5xl) │ ├── reading-settings.tsx → Theme/font/size/justify accessibility panel │ ├── mobile-nav.tsx → Left-slide drawer for mobile sidebar navigation +│ ├── header-search.tsx → Header search button with framer-motion expand animation │ ├── site-footer.tsx → Global footer (About + Home links) │ ├── audio-player/ → Site-wide floating audio player │ │ ├── audio-context.tsx → React context + provider, manages