TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Tu semana familiar organizada ✨
Translation pending
ProductivityTypeScript · PLpgSQLGitHub @Gianmac26OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Tracker semanal de responsabilidades para Carlita. Login con Google. Dos roles: padre (admin) y hijo. En Vercel estas variables se configuran en Settings → Environment Variables. • Next.js 16 (App Router) · TypeScript · React • Supabase (Auth + Postgres + RLS) • Login con Google OAuth • Roles: padre (puede crear tareas, invitar, ver Mi Mundo) / hijoRead the full README ↗
Tracker semanal de responsabilidades para Carlita. Login con Google. Dos roles: padre (admin) y hijo.
npm install
npm run dev
Crea .env.local con:
NEXT_PUBLIC_SUPABASE_URL=https://xxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
SUPABASE_SERVICE_ROLE_KEY=eyJ...
En Vercel estas variables se configuran en Settings → Environment Variables.
padre (puede crear tareas, invitar, ver Mi Mundo) / hijohttp://localhost:3000/auth/callback a los Redirect URLs permitidossupabase/migrations/001_initial_schema.sql en el SQL Editorpadre y crea la familiaLa app soporta 8 paletas definidas en lib/themes.ts. El sistema funciona con atributos CSS en <html>:
data-palette="vibrante" (u otra) → selecciona la paletadata-mode="light|dark" (ausente = auto) → fuerza modo claro/oscuroLos CSS custom properties se definen en app/globals.css usando selectores de atributo:
:root[data-palette="vibrante"] { --accent: #D4380D; ... }
:root[data-palette="vibrante"][data-mode="dark"] { --accent: #FF7043; ... }
lib/themes.ts: añadir la paleta al array PALETTES con id, name, emoji, light y dark (todos los tokens de PaletteTokens).app/globals.css: añadir dos bloques — light y dark — siguiendo el patrón existente.PaletteId en lib/themes.ts para incluir el nuevo id.ROLE_DEFAULT_PALETTE en lib/themes.ts y el trigger create_user_preferences() en la migración SQL.Nota: --pink y --pink-soft son alias backwards-compat que siguen a --accent y --accent-soft automáticamente vía :root { --pink: var(--accent); }.
Los avatares son emojis preset definidos en components/AvatarPicker.tsx (PRESET_AVATARS). Cada uno tiene un color de fondo fijo (no depende de la paleta activa — un zorro naranja sigue naranja en cualquier paleta).
El emoji seleccionado se guarda como avatar_url en user_preferences (campo texto, no una URL real). El avatar_type es siempre 'preset' en esta fase.
Para agregar avatares: añadir entradas a PRESET_AVATARS en AvatarPicker.tsx con { emoji, bg }.
Porcentajes históricos en Progreso: La pantalla "Últimas semanas" calcula el porcentaje de cumplimiento usando la lista de tareas activa hoy, no las que existían en esa semana. Si el padre agrega o elimina tareas, los porcentajes históricos cambian retroactivamente. Es el comportamiento esperado dado que las tareas son editables; no es un bug. Si en el futuro se requiere precisión histórica, hay que guardar un snapshot de qué tareas estaban activas por semana (columna activated_at / deactivated_at en la tabla tasks).
Migración previa bloquea el primer login como padre: Si corriste el script de migración (migrate-jsonbin-to-supabase.ts) antes de que ningún usuario real se registrara, la tabla families ya tiene una fila pero profiles está vacía. En versiones anteriores /api/onboard contaba families para detectar al primer usuario — como la family ya existía, nadie podía registrarse como padre. Fix aplicado (2026-09-19): el check ahora cuenta profiles === 0, no families === 0, y reutiliza la family existente en vez de crear una nueva. Si quedás bloqueado en la pantalla de código después de una migración, corre el script de desbloqueo: scripts/create-first-padre.ts.
Ver scripts/migrate-jsonbin-to-supabase.ts. Requiere:
JSONBIN_API_KEY, JSONBIN_BIN_ID (credenciales del bin original)FAMILY_ID, PADRE_USER_ID (UUIDs del proyecto Supabase, después del primer login)