-
-
Notifications
You must be signed in to change notification settings - Fork 64
Issue 269 #272
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
Issue 269 #272
Conversation
|
@Ayaanshaikh12243 is attempting to deploy a commit to the Darshan Rajput's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@Darshan3690 done sir i have also added the direct link for leetcode for the users it will help them at the same time it will attrct them i thought please check and merge thank you sir |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Implements Issue #269 by adding a new “Coding Practice Hub” page and wiring it into the primary navigation.
Changes:
- Added
/practice-hubpage with daily challenge, curated problems list, filters, and basic progress stats UI. - Added “Practice Hub” entry to the global navbar.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| app/practice-hub/page.tsx | Introduces the new Practice Hub page UI, data, filtering, and stats rendering. |
| app/components/Navbar.tsx | Adds navigation link to the new Practice Hub route. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <h2 className="text-2xl font-bold">Today's Coding Challenge</h2> | ||
| </div> | ||
| <div className="bg-white/10 backdrop-blur rounded-xl p-6"> | ||
| <h3 className="text-xl font-semibold mb-2">{dailyChallenges[0].problem.title}</h3> | ||
| <p className="text-white/90 mb-4">{dailyChallenges[0].problem.description}</p> | ||
| <div className="flex flex-wrap gap-3 items-center"> |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section is labeled "Today’s Coding Challenge" but always renders dailyChallenges[0]. That will show the wrong challenge once the list changes or the date advances. Select the entry based on the current date (with a sensible fallback when none matches).
| import React, { useState, useMemo } from "react"; | ||
| import Link from "next/link"; | ||
| import { motion } from "framer-motion"; | ||
| import { useUser } from "@clerk/nextjs"; |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both the default React import and Link are unused in this file, which will fail the current Next/TypeScript ESLint config (no-unused-vars). Remove the unused imports (e.g., import only the hooks from react) or switch relevant internal navigation to use Link.
| import React, { useState, useMemo } from "react"; | |
| import Link from "next/link"; | |
| import { motion } from "framer-motion"; | |
| import { useUser } from "@clerk/nextjs"; | |
| import { useState, useMemo } from "react"; | |
| import { motion } from "framer-motion"; |
| export default function PracticeHubPage() { | ||
| const { user } = useUser(); | ||
| const [selectedDifficulty, setSelectedDifficulty] = useState<"all" | "easy" | "medium" | "hard">("all"); |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
const { user } = useUser(); declares user but it isn't used anywhere, which will fail lint/build under the current ESLint rules. Either remove the hook or use the user data (e.g., to load per-user progress).
| onClick={() => setSelectedDifficulty(level as "all" | "easy" | "medium" | "hard")} | ||
| className={`px-4 py-2 rounded-lg font-semibold transition-all ${ | ||
| selectedDifficulty === level | ||
| ? `${difficultyColors[level as keyof typeof difficultyColors]} scale-105` |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The difficulty button styling indexes difficultyColors[level], but level can be "all". At runtime this yields undefined classes, so the selected "All" state won’t be styled correctly. Handle the "all" case explicitly (e.g., separate styles or a dedicated entry in the map).
| ? `${difficultyColors[level as keyof typeof difficultyColors]} scale-105` | |
| ? `${level === "all" ? "bg-blue-500 text-white" : difficultyColors[level as keyof typeof difficultyColors]} scale-105` |
| <div className="relative"> | ||
| <input | ||
| type="text" | ||
| placeholder="Search problems by title or topic..." |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The search placeholder says "Search problems by title or topic...", but the filter only checks title and description (not topics). Either update the placeholder text or include problem.topics in the search match.
| placeholder="Search problems by title or topic..." | |
| placeholder="Search problems by title or description..." |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
resolve the conflicts |
|
@Darshan3690 please check sir |
#269





