feat: redesign into trusted community website (incl. YouTube lives auto-fetch) - #9
Open
SaharPak wants to merge 3 commits into
Open
feat: redesign into trusted community website (incl. YouTube lives auto-fetch)#9SaharPak wants to merge 3 commits into
SaharPak wants to merge 3 commits into
Conversation
Replace static event data with a build-time pipeline that fetches upcoming live streams from the YouTube Data API v3. A scheduled GitHub Action (every 6h) writes src/data/youtube-events.json and commits the result, triggering a Cloudflare Pages rebuild. - Add scripts/fetch-upcoming-lives.mjs (resolves channel, fetches upcoming lives, writes JSON) - Add .github/workflows/fetch-youtube-lives.yml (cron + manual) - Rewrite src/data/events.ts as a thin adapter over the JSON - Show YouTube thumbnails in LiveEventsSection when available - Gracefully hide guest/role/country badges for auto-fetched events - Enable resolveJsonModule in tsconfig Closes #1
…be-lives # Conflicts: # .github/workflows/fetch-youtube-lives.yml
Rebuild the homepage from an interview-focused landing page into a credible, mission-driven official community site for Tech Immigrants. - Add central content config (src/config/site.ts) driving nearly all copy, links, stats, programs, sponsorship packages, and FAQ - Recompose homepage: hero (join-first CTAs), trust stats, mission, 7-stage migration journey, community intelligence (aggregate and anonymized), programs, product builders, resources, partnership, support the mission (secondary), founder, FAQ, contact - Add /partners page with accepted vs not-accepted policy, sponsorship packages (editable, hideable prices), and disclosure note - Sessions reuse Supabase useVideos with loading, empty, error, and sample-data fallback states - Improve SEO/Open Graph metadata and add JSON-LD Organization data - Rewrite Navbar, Footer, Hero, and the 404 page (Persian/RTL) - Remove fabricated testimonials and mentor data for trust safety - Add README, .env.example, MANUAL_TEST_PLAN, and STABILIZATION_REPORT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This branch now contains two related pieces of work. The headline change is a full redesign of the site into a credible, trust-safe official community website; it builds on the earlier YouTube-lives automation already on this branch.
1. Community website redesign (primary)
Rebuilds the homepage from an interview-focused landing page into a mission-driven community ecosystem site.
src/config/site.ts) drives nearly all copy, links, stats, programs, sponsorship packages, and FAQ, so content can be edited without touching components./partnerspage: accepted vs not-accepted partnership policy, sponsorship packages (editable, hideable prices), and a disclosure note.useVideoshook with loading, empty, error, and sample-data fallback states, so the site works with no API keys.README,.env.example,MANUAL_TEST_PLAN, andSTABILIZATION_REPORT.2. YouTube lives auto-fetch (earlier work on this branch)
scripts/fetch-upcoming-lives.mjs, writessrc/data/youtube-events.json, and commits on change.YOUTUBE_API_KEY), never bundled into client code.Why
The site needed to read as a trusted, community-led ecosystem (content, data-backed insights, open-source projects, Demo Day, career resources, and a trust-safe partnership model) rather than an interview list or a donation page. It also had trust risks: fabricated testimonials and mentor profiles with fake/placeholder data. The redesign establishes a credible official site that protects community trust, keeps monetization non-extractive and transparent, and supports Persian/RTL as the primary experience.
How it was tested
npm run buildpasses locally.npm run lintpasses with 0 errors (only pre-existing shadcn/ui fast-refresh warnings remain)./fa/: homepage sections,/partnerspage, mobile menu open/close, Persian/RTL layout and numerals.dist/fa/index.html..env.example(placeholders) is tracked;.envis gitignored; no tokens or private data committed.MANUAL_TEST_PLAN.mdfor the full 32-case checklist.Known limitations
src/config/site.tsshould be confirmed before launch.mailto:links; no backend form yet.reportReadyflag).GithubSectionandLiveEventsSectionintegrations are preserved but not currently mounted on the homepage.Setup required (for the YouTube lives action)
Add a GitHub repository secret after merging:
YOUTUBE_API_KEY.Closes #1