Applied systematic spacing optimizations across admin manager components (40px savings): DatabaseManager.tsx: - Input field padding: py-3 → py-2 (3 inputs: retention_count, schedule_hour, schedule_freq_days) - Form field spacing: space-y-2 → space-y-1.5 (Max Backups field group) - Grid gaps: gap-4 → gap-3 (storage policy fields) - Item list spacing: space-y-2 → space-y-1.5 (backup list) - Modal form spacing: space-y-4 → space-y-3 (recovery points section) - Backup metadata text: text-[11px] → text-xs (created_at + filesize display) LdapManager.tsx: - Input field padding: py-2.5 → py-2 (4 inputs: server_uri, base_dn, user_template, groups_dn) - Form field spacing: space-y-1.5 → space-y-1 (all label+input groups) - Button padding: py-2.5 → py-2 (test connection), py-3 → py-2.5 (save policy) IdentityManager.tsx: - Input field padding: py-3 → py-2 (username, password, role in edit modal) - Form field spacing: space-y-4 → space-y-3 (edit modal form) - Form field labels: space-y-1.5 → space-y-1 (all 3 fields) - User list spacing: space-y-2 → space-y-1.5 (user items) AiManager.tsx: - Grid gaps: gap-4 → gap-3 (provider options grid) - Input field padding: py-3 → py-2 (Gemini/Claude API key inputs) - Form field spacing: space-y-2 → space-y-1.5 (API key field groups) - Modal spacing: space-y-6 → space-y-3 (provider access keys section) - Prompt section spacing: space-y-4 → space-y-3 (system prompt area) CategoryManager.tsx: - Grid gaps: gap-3 → gap-2.5 (category items grid) - Input field padding: py-3.5 → py-2.5, py-4 → py-2.5 (name + description inputs) - Form field spacing: space-y-6 → space-y-3, space-y-1.5 → space-y-1 (edit modal) Test Results: - Frontend (Vitest): 291/291 tests passing ✓ - Backend (Pytest): 41/41 tests passing ✓ - Total: 332 tests validated, zero regressions All changes maintain visual hierarchy and premium density standards without sacrificing usability.
80 lines
3.5 KiB
JSON
80 lines
3.5 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"mcp__plugin_context-mode_context-mode__ctx_batch_execute",
|
|
"mcp__plugin_context-mode_context-mode__ctx_search",
|
|
"Bash(git add:*)",
|
|
"Bash(git commit -m ':*)",
|
|
"mcp__plugin_context-mode_context-mode__ctx_execute",
|
|
"Bash(git commit -m 'docs: update SESSION_STATE cu status [C-01] JWT auth COMPLET:*)",
|
|
"Bash(git commit -m 'docs: final SESSION_STATE — ALL TASKS COMPLETE v1.3.5:*)",
|
|
"Bash(git rebase:*)",
|
|
"Bash(git filter-branch:*)",
|
|
"Bash(git reset:*)",
|
|
"Bash(git commit -m 'feat: implement JWT Bearer authentication on all routers [C-01]:*)",
|
|
"Bash(git commit:*)",
|
|
"Bash(git branch:*)",
|
|
"Bash(pip install:*)",
|
|
"Bash(sqlite3 data/inventory.db \"SELECT username, role, origin, hashed_password FROM users;\")",
|
|
"Bash(sqlite3 data/inventory.db \".schema users\")",
|
|
"Bash(sqlite3 data/inventory.db \"SELECT * FROM users;\")",
|
|
"Bash(git restore:*)",
|
|
"Bash(pkill -f \"uvicorn\")",
|
|
"Bash(docker-compose build:*)",
|
|
"Bash(docker version:*)",
|
|
"Bash(docker compose version:*)",
|
|
"Bash(docker compose:*)",
|
|
"Bash(open -a Docker)",
|
|
"Bash(dockerd)",
|
|
"Bash(brew services:*)",
|
|
"Bash(colima start:*)",
|
|
"Bash(colima status:*)",
|
|
"Bash(colima stop:*)",
|
|
"Bash(bash *)",
|
|
"Bash(npm run *)",
|
|
"Bash(npm test *)",
|
|
"Bash(python3 *)",
|
|
"Bash(ls -lh aInventory-PROD-v*.zip)",
|
|
"Bash(npm install *)",
|
|
"Bash(/Library/Developer/CommandLineTools/usr/bin/git commit *)",
|
|
"Bash(/Library/Developer/CommandLineTools/usr/bin/git add *)",
|
|
"Bash(command -v npx)",
|
|
"Bash(cat)",
|
|
"Read(//tmp/**)",
|
|
"Bash(save-version --help)",
|
|
"Bash(git --version)",
|
|
"mcp__plugin_context-mode_context-mode__ctx_stats",
|
|
"mcp__plugin_context-mode_context-mode__ctx_execute_file",
|
|
"Bash(git checkout *)",
|
|
"Bash(git stash *)",
|
|
"Bash(python -m pytest backend/tests/ -v --tb=short)",
|
|
"Bash(sed -i 's|\"/api/users|\"/users|g' backend/tests/test_users.py)",
|
|
"Bash(sed -i 's|\"/api/items|\"/items|g' backend/tests/test_items.py)",
|
|
"Bash(sed -i 's|\"/api/categories|\"/categories|g' backend/tests/test_categories.py)",
|
|
"Bash(sed -i 's|\"/api/operations|\"/operations|g' backend/tests/test_operations.py)",
|
|
"Bash(sed -i 's|\"/api/operations|\"/operations|g' backend/tests/test_offline_sync.py)",
|
|
"Bash(curl -sf http://localhost:8906/)",
|
|
"Bash(curl -sf http://localhost:3000/)",
|
|
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://localhost:3000/)",
|
|
"Bash(NEXT_PUBLIC_API_URL=http://localhost:8906 npm run dev -- --port 3000)",
|
|
"Bash(echo \"Frontend PID: $!\")",
|
|
"Bash(curl -sf http://localhost:3000)",
|
|
"Bash(curl -s http://localhost:3000/login)",
|
|
"Bash(curl -s http://localhost:8906/users)",
|
|
"Bash(curl -v http://localhost:8906/users)",
|
|
"Bash(NEXT_PUBLIC_API_URL=http://localhost:8916 npm run dev -- --port 8917)",
|
|
"Bash(curl -sf http://localhost:8917)",
|
|
"Bash(xargs sed *)",
|
|
"Bash(sed -i -e 's/\\\\btext-slate-100\\\\b/text-secondary/g' -e s/placeholder:text-slate-700/placeholder:text-muted/g -e s/hover:text-slate-300/hover:text-secondary/g app/page.tsx)",
|
|
"Bash(sed -i 's/\\\\btext-slate-300\\\\b/text-secondary/g' app/page.tsx)",
|
|
"Bash(npx tsc *)",
|
|
"Bash(python -m pytest backend/tests/ -q)",
|
|
"Bash(git pull *)",
|
|
"Bash(git rm *)",
|
|
"Bash(git merge *)",
|
|
"Bash(git tag *)",
|
|
"mcp__gemini-cli__ask-gemini"
|
|
]
|
|
}
|
|
}
|