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.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
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) / hijo檢視完整 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)