Add Google Auth, cloud sync, 690 companies data, and better UI#4
Open
anshull-saxena wants to merge 33 commits intodarkflowio:masterfrom
Open
Add Google Auth, cloud sync, 690 companies data, and better UI#4anshull-saxena wants to merge 33 commits intodarkflowio:masterfrom
anshull-saxena wants to merge 33 commits intodarkflowio:masterfrom
Conversation
✅ Deploy Preview for company-wise-leetcode-farneet ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull request overview
Adds a significantly expanded LeetCode-company interview prep app experience, including a questions API, client-side progress tracking, and a large set of new UI primitives to support the redesigned interface.
Changes:
- Added Next.js + Tailwind/PostCSS setup and a server API route to serve/company-filter questions from a bundled JSON dataset.
- Introduced client hooks for completion tracking and toast notifications, plus many Radix-based UI components.
- Implemented a new main page UI with company selection, filtering, stats, and a question list table.
Reviewed changes
Copilot reviewed 76 out of 640 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| postcss.config.mjs | Adds PostCSS config for Tailwind plugin integration. |
| package.json | Defines Next/React app dependencies and tooling. |
| next.config.mjs | Configures Next.js build/typecheck and image behavior. |
| lib/utils.ts | Adds cn() helper for className merging. |
| lib/data.ts | Defines core Company/Question types. |
| lib/api.ts | Adds client fetch helpers for companies/questions. |
| legacy/preprocess.py | Updates preprocessing to emit combined companies+questions JSON. |
| hooks/use-toast.ts | Adds toast state management hook. |
| hooks/use-mobile.ts | Adds viewport breakpoint hook. |
| hooks/use-completion.ts | Adds localStorage-based completion tracking hook. |
| components/ui/use-toast.ts | Adds a second (duplicated) toast hook implementation. |
| components/ui/use-mobile.tsx | Adds a second (duplicated) mobile hook implementation. |
| components/ui/tooltip.tsx | Adds Radix tooltip wrapper component. |
| components/ui/toggle.tsx | Adds Radix toggle wrapper component. |
| components/ui/toggle-group.tsx | Adds Radix toggle-group wrapper component. |
| components/ui/toaster.tsx | Adds toast rendering component. |
| components/ui/toast.tsx | Adds Radix toast primitives + variants. |
| components/ui/textarea.tsx | Adds styled textarea component. |
| components/ui/tabs.tsx | Adds Radix tabs wrapper component. |
| components/ui/table.tsx | Adds table primitives/wrappers. |
| components/ui/switch.tsx | Adds Radix switch wrapper component. |
| components/ui/spinner.tsx | Adds loading spinner component. |
| components/ui/sonner.tsx | Adds Sonner toaster wrapper component. |
| components/ui/slider.tsx | Adds Radix slider wrapper component. |
| components/ui/skeleton.tsx | Adds skeleton loading component. |
| components/ui/sidebar.tsx | Adds a full sidebar system (desktop + mobile). |
| components/ui/sheet.tsx | Adds Radix sheet wrapper component. |
| components/ui/separator.tsx | Adds Radix separator wrapper component. |
| components/ui/select.tsx | Adds Radix select wrapper component. |
| components/ui/scroll-area.tsx | Adds Radix scroll-area wrapper component. |
| components/ui/resizable.tsx | Adds resizable panel primitives. |
| components/ui/radio-group.tsx | Adds Radix radio-group wrapper component. |
| components/ui/progress.tsx | Adds Radix progress wrapper component. |
| components/ui/popover.tsx | Adds Radix popover wrapper component. |
| components/ui/pagination.tsx | Adds pagination primitives. |
| components/ui/navigation-menu.tsx | Adds Radix navigation-menu wrapper component. |
| components/ui/menubar.tsx | Adds Radix menubar wrapper component. |
| components/ui/label.tsx | Adds Radix label wrapper component. |
| components/ui/kbd.tsx | Adds keyboard key hint components. |
| components/ui/item.tsx | Adds reusable “Item” layout primitives. |
| components/ui/input.tsx | Adds styled input component. |
| components/ui/input-otp.tsx | Adds OTP input components (input-otp). |
| components/ui/input-group.tsx | Adds input-group composite component primitives. |
| components/ui/hover-card.tsx | Adds Radix hover-card wrapper component. |
| components/ui/form.tsx | Adds react-hook-form helpers and field wrappers. |
| components/ui/field.tsx | Adds generic field/fieldset primitives. |
| components/ui/empty.tsx | Adds empty-state primitives. |
| components/ui/dropdown-menu.tsx | Adds Radix dropdown-menu wrapper component. |
| components/ui/drawer.tsx | Adds Vaul drawer wrapper component. |
| components/ui/dialog.tsx | Adds Radix dialog wrapper component. |
| components/ui/context-menu.tsx | Adds Radix context-menu wrapper component. |
| components/ui/command.tsx | Adds cmdk command palette primitives. |
| components/ui/collapsible.tsx | Adds Radix collapsible wrapper component. |
| components/ui/checkbox.tsx | Adds Radix checkbox wrapper component. |
| components/ui/chart.tsx | Adds Recharts chart container + tooltip/legend helpers. |
| components/ui/carousel.tsx | Adds Embla carousel primitives. |
| components/ui/card.tsx | Adds card primitives. |
| components/ui/calendar.tsx | Adds react-day-picker calendar wrapper. |
| components/ui/button.tsx | Adds button primitive + variants. |
| components/ui/button-group.tsx | Adds button-group layout primitives. |
| components/ui/breadcrumb.tsx | Adds breadcrumb primitives. |
| components/ui/badge.tsx | Adds badge primitive + variants. |
| components/ui/avatar.tsx | Adds Radix avatar wrapper component. |
| components/ui/aspect-ratio.tsx | Adds Radix aspect-ratio wrapper component. |
| components/ui/alert.tsx | Adds alert primitive + variants. |
| components/ui/alert-dialog.tsx | Adds Radix alert-dialog wrapper component. |
| components/ui/accordion.tsx | Adds Radix accordion wrapper component. |
| components/theme-provider.tsx | Adds next-themes ThemeProvider wrapper. |
| components/question-modal.tsx | Adds question details modal. |
| components/question-list.tsx | Adds questions table UI with sorting and completion toggles. |
| components/filter-bar.tsx | Adds UI for search + difficulty filtering. |
| components/company-selector.tsx | Adds company list selection UI with search. |
| app/page.tsx | Implements main app page UI and data loading. |
| app/layout.tsx | Adds global app layout + metadata + analytics. |
| app/globals.css | Adds Tailwind v4 theme variables and global styling. |
| app/api/questions/route.ts | Adds server route to filter questions from JSON data. |
Comments suppressed due to low confidence (2)
components/ui/use-toast.ts:1
- Same subscription bug as
hooks/use-toast.ts: the effect re-adds the listener on every state update due to[state], causing listener growth and repeated dispatch notifications. Use[]dependencies, and consider consolidating to a single toast hook implementation to prevent divergence.
components/ui/use-mobile.tsx:1 - There are two
useIsMobileimplementations in the repo (hooks/use-mobile.tsandcomponents/ui/use-mobile.tsx) with the same logic. This duplication increases maintenance risk (bugfixes applied to one copy but not the other). Prefer consolidating to a single exported hook and updating imports accordingly.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Shows "Created by Anshul Saxena" with profile image in the site footer. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
anshull-saxena
commented
Feb 20, 2026
Author
anshull-saxena
left a comment
There was a problem hiding this comment.
made the required changes. kindly review
|
how recent is this? can you please merge it @darkflowio @anshull-saxena |
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
via Firestore
interview data (deduplicated)
glow effects, SVG progress ring, and Cmd+K command palette
when signed out
Changes
(
lib/firebase.ts,components/auth-provider.tsx)leetcode_data.jsonwith 5 timeframe filters (30D, 3M, 6M, 1Y, All)skeletons, celebration effects on completion, glassmorphism cards with glow
borders
sync status indicator, staggered list animations