Skip to content

Add Google Auth, cloud sync, 690 companies data, and better UI#4

Open
anshull-saxena wants to merge 33 commits intodarkflowio:masterfrom
anshull-saxena:master
Open

Add Google Auth, cloud sync, 690 companies data, and better UI#4
anshull-saxena wants to merge 33 commits intodarkflowio:masterfrom
anshull-saxena:master

Conversation

@anshull-saxena
Copy link
Copy Markdown

Summary

  • Added Firebase Google Authentication with cloud sync for progress tracking
    via Firestore
  • Integrated 690 companies with 3200+ LeetCode questions from companywise
    interview data (deduplicated)
  • Redesigned UI with futuristic glassmorphism, animated grid background, neon
    glow effects, SVG progress ring, and Cmd+K command palette
  • Progress persists across devices when signed in; falls back to localStorage
    when signed out

Changes

  • Auth: Firebase Google Sign-In with real-time Firestore sync
    (lib/firebase.ts, components/auth-provider.tsx)
  • Data: Merged 490 new companies and 1808 new questions into
    leetcode_data.json with 5 timeframe filters (30D, 3M, 6M, 1Y, All)
  • UI: Animated dot grid background, gradient text, shimmer loading
    skeletons, celebration effects on completion, glassmorphism cards with glow
    borders
  • Features: Command palette (⌘K), SVG circular progress ring, real-time
    sync status indicator, staggered list animations

Copilot AI review requested due to automatic review settings February 19, 2026 10:24
@netlify
Copy link
Copy Markdown

netlify bot commented Feb 19, 2026

Deploy Preview for company-wise-leetcode-farneet ready!

Name Link
🔨 Latest commit 79b1234
🔍 Latest deploy log https://app.netlify.com/projects/company-wise-leetcode-farneet/deploys/69982dd31ad8d60008323a20
😎 Deploy Preview https://deploy-preview-4--company-wise-leetcode-farneet.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 useIsMobile implementations in the repo (hooks/use-mobile.ts and components/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.

Copy link
Copy Markdown
Author

@anshull-saxena anshull-saxena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

made the required changes. kindly review

@FatCache
Copy link
Copy Markdown

how recent is this? can you please merge it @darkflowio @anshull-saxena

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants