diff --git a/css/style.css b/css/style.css index 12926cc..1439260 100644 --- a/css/style.css +++ b/css/style.css @@ -1,13 +1,13 @@ :root { - --bg: #0a0e17; --bg2: #131a24; --text: #e1e8f0; --text2: #8899aa; + --bg: #0d1117; --bg2: #161b22; --text: #e6edf3; --text2: #8b949e; --accent: #3b82f6; --danger: #ef4444; --success: #22c55e; --warning: #f59e0b; - --border: rgba(255,255,255,0.06); --card: rgba(18,25,35,0.85); - --input: #10161f; --vault-bg: rgba(255,255,255,0.03); + --border: rgba(255,255,255,0.08); --card: rgba(28,37,51,0.9); + --input: #0d1117; --vault-bg: rgba(255,255,255,0.035); } .light { - --bg: #f4f6f9; --bg2: #e9ecf1; --text: #1a1f2e; --text2: #5a6475; - --card: rgba(255,255,255,0.9); --input: #ffffff; - --border: rgba(0,0,0,0.08); --vault-bg: rgba(255,255,255,0.5); + --bg: #f0f2f5; --bg2: #e4e7ec; --text: #1a1f2e; --text2: #5a6475; + --card: #ffffff; --input: #ffffff; + --border: rgba(0,0,0,0.1); --vault-bg: rgba(255,255,255,0.6); } * { margin:0; padding:0; box-sizing:border-box; } @@ -146,7 +146,7 @@ input:focus, select:focus { border-color:var(--accent); } .entry-row.selected, .entry-compact.selected { border-color:var(--accent)!important; box-shadow:0 0 0 2px var(--accent),0 0 18px rgba(59,130,246,0.35); background:rgba(59,130,246,0.14); border-left:3px solid var(--accent); } .table-row-drag.selected td { background:rgba(59,130,246,0.14)!important; box-shadow:inset 0 0 0 1px var(--accent); border-bottom:1px solid var(--accent); } .entry-card { background:var(--card); border:1px solid var(--border); border-radius:0.8rem; padding:0.9rem 2.8rem 0.9rem 0.9rem; transition:0.2s; position:relative; word-break:break-word; } -.entry-card:hover { border-color:rgba(255,255,255,0.15); transform:translateY(-2px); } +.entry-card:hover { border-color:var(--accent); transform:translateY(-2px); } .card-site { font-weight:700; font-size:0.9rem; color:var(--text); margin-bottom:0.2rem; } .card-user { color:var(--text2); font-size:0.75rem; margin-bottom:0.3rem; } .card-folder { font-size:0.65rem; color:var(--accent); margin-bottom:0.3rem; background:rgba(59,130,246,0.15); display:inline-block; padding:0.1rem 0.5rem; border-radius:1rem; } diff --git a/js/app.js b/js/app.js index 9fdbc80..9bf985b 100644 --- a/js/app.js +++ b/js/app.js @@ -721,7 +721,7 @@ function render() { } else if (view === 'grouped') { c.innerHTML = groupedC(getFilteredEntries(true)); } else if (view === 'detail') { - c.innerHTML = detailC(getFilteredEntries(true)); + c.innerHTML = detailC(getFilteredEntries()); } else { c.innerHTML = filtered.map(e => { if (view === 'grid' || view === 'card') return gridC(e); @@ -881,7 +881,7 @@ function detailC(list) { } function goDetail(dir) { - const list = getFilteredEntries(true); + const list = getFilteredEntries(); detailIndex += dir; if (detailIndex < 0) detailIndex = list.length - 1; if (detailIndex >= list.length) detailIndex = 0; @@ -1392,7 +1392,7 @@ document.addEventListener('mouseup', function(e) { } } }); -document.addEventListener('keydown', e => { if (e.key === 'Enter' && !e.ctrlKey && !e.altKey && !e.metaKey) { const a = document.activeElement; if (!a || a.tagName === 'BUTTON') return; e.preventDefault(); if (document.getElementById('editModal').classList.contains('show') && a.closest('.edit-box')) saveEdit(); else if (document.getElementById('addModal').classList.contains('show') && a.closest('.modal-box')) addEntry(); else if (!document.getElementById('authSection').classList.contains('hidden')) { if (a.id === 'loginUsername' || a.id === 'loginPassword') login(); else if (a.id === 'regPassword') register(); } } }); +document.addEventListener('keydown', e => { if (e.key === 'Enter' && !e.ctrlKey && !e.altKey && !e.metaKey) { const a = document.activeElement; if (!a || a.tagName === 'BUTTON') return; e.preventDefault(); if (document.getElementById('editModal').classList.contains('show') && a.closest('#editModal')) saveEdit(); else if (document.getElementById('addModal').classList.contains('show') && a.closest('#addModal')) addEntry(); else if (!document.getElementById('authSection').classList.contains('hidden')) { if (a.id === 'loginUsername' || a.id === 'loginPassword') login(); else if (a.id === 'regPassword') register(); } } }); document.getElementById('genModal').addEventListener('click', e => { if (e.target === e.currentTarget) closeGen(); }); document.getElementById('editModal').addEventListener('click', e => { if (e.target === e.currentTarget) closeEdit(); }); // ==================== KEYBOARD SHORTCUTS ==================== @@ -1424,7 +1424,7 @@ document.addEventListener('keydown', function(e) { } // Arrow keys — navigate entries in vault - if ((e.key === 'ArrowUp' || e.key === 'ArrowDown' || e.key === 'ArrowLeft' || e.key === 'ArrowRight') && !isInput && document.getElementById('authSection').classList.contains('hidden') && view !== 'detail') { + if ((e.key === 'ArrowUp' || e.key === 'ArrowDown' || e.key === 'ArrowLeft' || e.key === 'ArrowRight') && !isInput && document.getElementById('authSection').classList.contains('hidden') && view !== 'detail' && !document.querySelector('.edit-modal.show,.modal-overlay.show')) { e.preventDefault(); const filtered = getFilteredEntries(); if (!filtered.length) return; @@ -1505,7 +1505,7 @@ document.addEventListener('keydown', function(e) { if (e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey && (e.key === 'a' || e.key === 'A') && !isInput && document.getElementById('authSection').classList.contains('hidden')) { e.preventDefault(); - getFilteredEntries(view === 'grouped' || view === 'detail').forEach(e => selectedIds.add(e.id)); + getFilteredEntries(view === 'grouped').forEach(e => selectedIds.add(e.id)); updateBatchBar(); render(); playSound('click');