Skip to content

feat: React frontend with landing page, browse page, and API integration#4

Merged
LavishSphere merged 4 commits into
mainfrom
frontend-ui
Jun 14, 2026
Merged

feat: React frontend with landing page, browse page, and API integration#4
LavishSphere merged 4 commits into
mainfrom
frontend-ui

Conversation

@cheangie

Copy link
Copy Markdown
Collaborator

Summary

Implements the complete frontend for StreamCompass using React, Vite, and React Router.

  • Adds a landing page (/) with a centered search bar, debounced autocomplete against GET /search, and keyboard navigation
  • Adds a browse/results page (/browse) that reads the ?q= URL param and calls POST /recommend with all active filters
  • Clicking a result card fetches GET /title/{title} for full metadata (description, cast, director) displayed in a slide-up drawer
  • Adds client-side routing via React Router (BrowserRouter) with a catch-all redirect to /
  • Fixes browser default margin causing white border around the app via global CSS reset in index.html

Pages

Route Component Description
/ LandingPage.jsx Search entry point with autocomplete dropdown
/browse App.jsx Results page with scrollable rows and filter bar
* Redirects to /

Filters wired to /recommend

Filter Mapped to UI element
query query Search bar (nav + landing)
platforms platforms[] Multi-select platform chips
content_type content_type Type toggle (All / Movies / TV Shows)
min_imdb min_imdb Min IMDb toggle (Any / 6+ / 7+ / 8+ / 9+)
top_k top_k: 40 Fixed, not exposed in UI
lambda_div lambda_div: 0.3 Fixed, not exposed in UI

Files changed

File Description
frontend/src/App.jsx Browse page — API calls, filter state, result rows, detail drawer
frontend/src/LandingPage.jsx Landing page — debounced autocomplete, search submit
frontend/src/main.jsx React entry point — BrowserRouter and routes
frontend/index.html CSS reset and black background
frontend/package.json Added react-router-dom dependency
frontend/.gitignore Added node_modules and dist

@LavishSphere LavishSphere left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks amazing otherwise.

Comment thread frontend/src/LandingPage.jsx
@LavishSphere LavishSphere merged commit f496fa9 into main Jun 14, 2026
4 checks passed
@LavishSphere LavishSphere deleted the frontend-ui branch June 14, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants