Enhance landing page design and improve StoryTimeline component#47
Conversation
- Updated README.md to provide a clearer overview of GitLore's purpose and features, emphasizing its role as a searchable Knowledge Graph for GitHub PR history. - Improved the layout and styling of the landing page, including adjustments to the hero section, call-to-action buttons, and overall responsiveness. - Enhanced accessibility and visual consistency across various components, including the comparison table and feature cards. - Refined CSS styles for better mobile behavior and user experience, ensuring a polished look and feel. - Added new sections to highlight key features and technology stack, improving the overall narrative of the landing page.
…mation - Replaced SVG-based timeline with a more responsive div-based layout for better flexibility and accessibility. - Updated animation logic to use a root reference instead of SVG reference, enhancing performance. - Adjusted text alignment and styling for timeline labels to improve readability and visual consistency. - Added comments to clarify the purpose of fixed pixel sizes in the timeline design.
GitLore PR IntelligenceRelated Open PRsThese open PRs touch some of the same files:
Past Decisions (Knowledge Graph)Related decisions from your team's PR history:
Automated by GitLore |
There was a problem hiding this comment.
Pull request overview
This PR refreshes GitLore’s public-facing landing experience and refactors a few UI components (notably the StoryTimeline) to improve responsiveness and visual consistency, alongside README + deployment metadata updates.
Changes:
- Reworks landing page sections/styles (hero, pillars, supporting features, comparison, CTA, footer) and introduces a new “Where GitLore fits” differentiator rail.
- Refactors
StoryTimelinefrom an SVG-based timeline to an HTML/CSS grid to avoid text scaling with split-pane resizing. - Updates README content/structure and adds a Vercel SPA deployment config for the frontend.
Reviewed changes
Copilot reviewed 29 out of 32 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Major rewrite/structure of project README (features, stack, quickstart, deployment). |
| Frontend/vercel.json | Adds Vercel config (Vite framework, SPA rewrite, pnpm commands). |
| Frontend/src/RootLayout.tsx | Ensures app chrome uses the GitLore background token. |
| Frontend/src/pages/RepoSelect.tsx | Changes “no date” placeholder formatting. |
| Frontend/src/pages/Patterns.tsx | Copy tweaks + placeholder formatting changes. |
| Frontend/src/pages/Overview.tsx | Copy tweaks + placeholder formatting changes. |
| Frontend/src/pages/Landing.tsx | Removes legacy landing backdrop wrapper classes; aligns with new theme tokens. |
| Frontend/src/pages/AppView.tsx | Refactors StoryTimeline to HTML/CSS grid + adjusts “no file selected” label. |
| Frontend/src/lib/gitloreApi.ts | Tweaks error message join punctuation for Voice TTS errors. |
| Frontend/src/index.css | Landing styling overhaul; removes global noise overlay; updates bento/glass styles. |
| Frontend/src/data/referencePatterns.ts | Renames pattern titles to use : formatting. |
| Frontend/src/components/StoryVoiceModal.tsx | Minor prompt/firstMessage punctuation adjustments. |
| Frontend/src/components/landing/WhyDifferentiatorFlow.tsx | New differentiator rail section (who/what/when/why positioning). |
| Frontend/src/components/landing/ThreePillars.tsx | Updates layout/styling; swaps mini SVG with KnowledgeGraphCanvas; includes differentiator section. |
| Frontend/src/components/landing/SupportingFeatures.tsx | Rebuilds supporting features into bento grid with revised copy. |
| Frontend/src/components/landing/StatsBar.tsx | Adds heading/copy + wraps stats in FadeIn. |
| Frontend/src/components/landing/PainStatement.tsx | Reworks “problem” section layout and content (adds axios example panel). |
| Frontend/src/components/landing/LandingNavbar.tsx | Navbar layout refactor (grid-based) and style adjustments. |
| Frontend/src/components/landing/LandingFooter.tsx | Footer style adjustments to match new landing theme. |
| Frontend/src/components/landing/KnowledgeGraph.tsx | Introduces reusable KnowledgeGraphCanvas + adjusts physics/rendering and caption options. |
| Frontend/src/components/landing/HowItWorks.tsx | Visual style simplification and minor copy tweak. |
| Frontend/src/components/landing/HeroSection.tsx | Replaces static code visual with “signal cards”; refines hero layout + copy. |
| Frontend/src/components/landing/FinalCTA.tsx | Simplifies final CTA section and styles. |
| Frontend/src/components/landing/Comparison.tsx | Renames section id + style simplification for comparison table. |
| Frontend/src/components/landing/BuiltWith.tsx | Restyles stack cards to match new bento styling. |
| Frontend/src/components/KnowledgeDecisionsGraph.tsx | Copy/punctuation tweaks for tooltip and help text. |
| Frontend/src/components/IngestButton.tsx | Toast message punctuation changes. |
| Frontend/src/components/EnforcementLog.tsx | Error/result string punctuation changes. |
| Frontend/src/components/ChatPanel.tsx | Minor copy/punctuation tweaks in synthesis/ArmorClaw note. |
| Frontend/public/landing-logos/gitlens-mark.svg | Adds GitLens mark asset for landing differentiator rail. |
| Frontend/public/landing-logos/githubcopilot.svg | Adds GitHub Copilot logo asset for landing differentiator rail. |
| Frontend/public/landing-logos/git.svg | Adds Git logo asset for landing differentiator rail. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## License | ||
|
|
||
| No license file is included in this repository; add one if you intend to open-source or distribute the project. | ||
| MIT |
There was a problem hiding this comment.
README now states the project is licensed under MIT, but there is no LICENSE file in the repository root. That creates an unclear/incorrect licensing situation for anyone consuming the repo. Either add an MIT LICENSE file (and keep this line), or revert the README license claim to match what’s actually present.
| "$schema": "https://openapi.vercel.sh/vercel.json", | ||
| "framework": "vite", | ||
| "buildCommand": "pnpm run build", | ||
| "outputDirectory": "dist", | ||
| "installCommand": "pnpm install", | ||
| "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] |
There was a problem hiding this comment.
Frontend/vercel.json hard-codes pnpm for install/build. This repo currently also contains other lockfiles (e.g., package-lock.json, bun.lock, pnpm-lock.yaml), so Vercel may install with a different dependency graph than local/dev unless the package manager is pinned. Consider either switching these commands to npm to match package-lock, or explicitly pin pnpm via package.json packageManager and removing/avoiding conflicting lockfiles.
| ctx.clearRect(0, 0, w, h); | ||
|
|
||
| ctx.strokeStyle = `rgba(255,255,255,${EDGE_OPACITY})`; | ||
| const light = typeof document !== "undefined" && document.documentElement.getAttribute("data-theme") === "light"; | ||
| ctx.strokeStyle = light ? `rgba(0,0,0,${EDGE_OPACITY * 0.9})` : `rgba(255,255,255,${EDGE_OPACITY})`; | ||
| ctx.lineWidth = 1; |
There was a problem hiding this comment.
renderGraph() reads document.documentElement.getAttribute("data-theme") every animation frame to decide edge color. Even though the sim only runs for a limited number of frames, this is still extra DOM access inside the hot loop. Consider computing the theme once per sim start (or passing it in via a ref/context subscription) and only updating when the theme actually changes.
No description provided.