Panel de filtros y ocultación de problemas de LeetCode

Añade filtros avanzados para LeetCode incluyendo dificultad (Fácil/Medio/Difícil), ocultar problemas bloqueados/completados/diarios y una tarjeta de progreso en la barra lateral.

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

You will need to install an extension such as Tampermonkey to install this script.

Tendrás que instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Tendrás que instalar una extensión como Tampermonkey antes de poder instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

Autor
hi4444
Instalaciones diarias
1
Instalaciones totales
1
Calificaciones
0 0 0
Versión
1.4
Creado
14/4/2026
Actualizado
15/4/2026
Tamaño
22,8 KB
Licencia
Desconocida
Funciona en

Additional Info — LeetCode Pro Filter Suite (Stable Fix)

This userscript enhances the LeetCode Problemset page by adding a lightweight, client-side filtering system and a live progress dashboard. It is designed to run automatically after installation via Greasy Fork or any userscript manager (Tampermonkey / Violentmonkey).


🧩 What This Script Does

Once installed, the script automatically activates when you open:

https://leetcode.com/problemset/

It then:

  • Injects a custom control panel into the sidebar
  • Scans the problem table in real time
  • Applies user-defined filters instantly
  • Tracks your progress from the visible LeetCode UI
  • Saves all preferences locally in your browser

No setup, configuration, or login is required.


⚙️ Core Functionality (In Detail)

🔍 1. Problem Filtering Engine

The script continuously scans DOM rows representing problems and filters them based on:

  • Difficulty level (Easy / Medium / Hard)
  • Locked problems (premium content)
  • Completed problems (already solved)
  • Daily challenges (optional exclusion)

Filtering happens instantly when:

  • The page loads
  • New problems are dynamically inserted
  • You toggle any filter button

🚫 2. Visibility Control System

Each filter works by applying a hidden CSS class:

  • Problems are NOT deleted
  • They are only hidden using display: none !important
  • This ensures zero interference with LeetCode logic

This makes the system:

  • Safe
  • Reversible
  • Non-destructive

📊 3. Live Progress Dashboard

A circular progress indicator is injected into the sidebar.

It:

  • Reads your solved/total count from the LeetCode UI
  • Parses text dynamically (e.g. 123 / 345)
  • Updates automatically every few seconds
  • Animates a circular SVG progress ring

The progress ring:

  • Fills proportionally to completion percentage
  • Updates without refreshing the page
  • Reflects real-time changes in your account progress

💾 4. Persistent Settings (Local Storage)

All toggles are stored in:

localStorage → lc_pro_suite_settings_v6

This includes:

  • Hidden locked problems setting
  • Hidden completed problems setting
  • Difficulty filters
  • Panel collapse state

Your settings remain saved even after:

  • Refreshing the page
  • Closing the browser
  • Restarting your device

🚀 Performance Design

The script is optimized for speed:

  • Uses a MutationObserver instead of polling
  • Batch-scans DOM updates
  • Avoids unnecessary re-renders
  • Minimizes layout thrashing
  • Prevents duplicate processing of rows

This ensures:

  • Low CPU usage
  • Smooth scrolling
  • No UI lag on large problem lists

🔐 Safety & Privacy

This script:

  • Does NOT send any data externally
  • Does NOT track user activity
  • Does NOT modify LeetCode backend requests
  • Runs entirely in your browser
  • Uses only localStorage for preferences

It is fully offline-safe and privacy-respecting.


🌐 Browser Compatibility

Works with:

  • Desktop Chrome
  • Microsoft Edge
  • Firefox
  • Opera GX (fully supported via Tampermonkey)

Note: On Opera GX, install a userscript manager extension first (such as Tampermonkey) to enable script execution. Unsure about Violentmonkey extension


📌 Summary

This script enhances LeetCode by adding:

  • Smart filtering system
  • Live progress visualization
  • Persistent UI customization
  • Lightweight DOM optimization

All without changing LeetCode’s core functionality.