-
Notifications
You must be signed in to change notification settings - Fork 137
chore(site): changes to format and design #3548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
3 Skipped Deployments
|
How to use the Graphite Merge QueueAdd the label merge-queue to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR Review: Design & Format ChangesThanks for the PR! I've reviewed the changes and have the following feedback organized by category: ✅ Strengths
🔍 Code Quality Issues1. Missing TypeScript Types (High Priority)The new game-servers page has several untyped props: // website/src/app/(v2)/(marketing)/solutions/game-servers/page.tsx:43
const Badge = ({ text, color = "red" }) => {
// Should be: ({ text, color = "red" }: { text: string; color?: "red" | "orange" | "blue" | "purple" | "emerald" })// Line 74
const CodeBlock = ({ code, fileName = "match.ts" }) => {
// Should include: { code: string; fileName?: string }// Line 243
const SolutionCard = ({ title, description, icon: Icon, color = "red" }) => {
// Should include proper types for all propsRecommendation: Add explicit TypeScript interfaces for all component props to maintain type safety. 2. Array Index Keys (Medium Priority)// Line 89-90
{code.split("\n").map((line, i) => (
<div key={i} className="table-row">Using array indices as keys is an anti-pattern in React and can cause rendering issues. While this might be acceptable for static content that never changes, consider generating stable IDs or using the line content hash. 3. Large Component File (Medium Priority)The game-servers page is 816 lines in a single file. Consider splitting into:
This improves maintainability and enables better code reuse. 4. Inconsistent Font Classes- className="font-heading text-5xl md:text-6xl lg:text-7xl font-bold tracking-tighter"
+ className="text-5xl font-medium leading-[1.1] tracking-tighter md:text-7xl"The removal of Recommendation: Document font usage patterns in a design system guide. 🐛 Potential Bugs1. Visibility Logic May Break Layout// website/src/app/(v2)/(marketing)/(index)/sections/SolutionsSection.tsx:76
-<section id='solutions' className='relative border-t border-white/10 bg-black py-32'>
+<section id='solutions' className='hidden md:block relative border-t border-white/10 bg-black py-32'>Hiding the entire Solutions section on mobile could:
Recommendation: Consider a mobile-optimized version instead of hiding completely. 2. Missing Error BoundariesThe game-servers page includes animations and complex rendering logic but lacks error boundaries. If the ⚡ Performance Considerations1. Client-Side Animation Overhead// Line 365-370
useEffect(() => {
const interval = setInterval(() => {
setTick((t) => t + 1);
}, 500);
return () => clearInterval(interval);
}, []);This creates a 2Hz animation loop. While not expensive, consider:
2. Custom Syntax HighlighterThe inline tokenizer (lines 95-200) is complex and runs on every render. Consider:
const tokens = useMemo(() => tokenizeLine(line), [line]);3. Image Optimization MissingThe updated
4. Framer Motion Bundle SizeImporting entire
🔒 Security ConcernsNo significant security issues found. The changes are primarily presentational. However:
🧪 Test CoverageCritical Issue: No tests found for the new pages/components. # I searched for test files
$ find website -name "*.test.*"
# No resultsRecommendations:
📝 Minor Issues
✨ Suggestions for Improvement
📊 Summary
Overall: This PR introduces nice design improvements, but needs TypeScript types, test coverage, and some refactoring before merge. The game-servers landing page is impressive visually but should be split into smaller components. Blocking Issues:
Non-Blocking Improvements:
Let me know if you'd like help addressing any of these issues! |
More templates
@rivetkit/cloudflare-workers
@rivetkit/db
@rivetkit/framework-base
@rivetkit/next-js
@rivetkit/react
rivetkit
@rivetkit/sql-loader
@rivetkit/engine-runner
@rivetkit/engine-runner-protocol
commit: |
0376e1f to
f48fbfb
Compare
Pull Request ReviewOverviewThis PR makes design and formatting changes to the website, including adding a new game servers solution page, refactoring documentation layout components, and updating styling across multiple pages. 🔴 Critical Issues1. Major Architectural Concern - Route RefactoringThe changes to the documentation routing structure appear incomplete or potentially breaking:
Recommendation:
2. New Game Servers Page - Production Readiness ConcernsFile: Issues:
Recommendations:
🟡 Medium Priority Issues3. Inconsistent Typography ChangesMultiple files changed from semantic heading styles to utility classes: // Before
<h1 className="font-heading text-5xl md:text-6xl lg:text-7xl font-bold tracking-tighter">
// After
<h1 className="text-5xl font-medium leading-[1.1] tracking-tighter md:text-7xl">Issues:
Recommendation: Ensure this is intentional and doesn't break the design system. Consider documenting typography standards. 4. Button Styling InconsistencyChanged button classes in className="inline-flex items-center justify-center px-3.5 py-2 text-base font-medium rounded-xl..."to: className="font-v2 inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md border border-white/10 bg-white px-4 py-2 text-sm..."Issues:
Recommendation: Standardize button components across the site. 5. CSS Mask Changes Could Affect VisibilityIn // Before
maskImage: 'radial-gradient(ellipse 300% 100% at 50% 90%, transparent 0%, black 25%)'
// After
maskImage: 'radial-gradient(ellipse 300% 100% at 50% 90%, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.6) 15%, rgba(0,0,0,0.9) 25%, black 35%, black 50%)'The new gradient has more stops and starts with 30% opacity instead of full transparency. This makes the fade-out effect more gradual but also makes more of the bottom visible. Recommendation: Verify this visual change was intentional and test across browsers (WebKit mask support varies). 🟢 Positive Changes
🔍 Code Quality & Best PracticesStyle Concerns:
TypeScript Issues:The new
📊 Performance Considerations
🔒 Security ConcernsNo significant security issues found. External links properly use ✅ Test CoverageMissing:
Recommendation: Add:
📋 SummaryThis PR contains significant changes but has some concerns that should be addressed: Must Fix Before Merge:
Should Fix:
Nice to Have:
🎯 RecommendationRequest Changes - The PR needs work before merging, particularly around:
Please address the critical issues and consider the other recommendations to improve code quality and performance. |
Merge activity
|

No description provided.