6eb04a

feat: notes-only filter toggle in vault sort bar (v1.4.52)

time
2026-04-23 07:24 UTC · 6 months ago
machine
koh2
parent
76a8b7
5 files manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/popup/styles/popup.css+3 −0src/popup/views/Vault.tsx+13 −0
manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach",4-  "version": "1.4.51",4+  "version": "1.4.52",55   "description": "Zero-knowledge password manager",66   "browser_specific_settings": {77     "gecko": {

view file

manifest.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach",4-  "version": "1.4.51",4+  "version": "1.4.52",55   "description": "Zero-knowledge password manager",66   "action": {77     "default_popup": "src/popup/index.html",

view file

package.json+1 −1
@@ -1,6 +1,6 @@11 {22   "name": "peach",3-  "version": "1.4.51",3+  "version": "1.4.52",44   "description": "Zero-knowledge password manager",55   "type": "module",66   "scripts": {

view file

src/popup/styles/popup.css+3 −0
@@ -4115,3 +4115,6 @@41154115   color: var(--peach-t1);41164116   background: var(--peach-t3);41174117 }4118+.peach-sort-trash-btn.is-active {4119+  color: var(--peach-accent);4120+}

view file

src/popup/views/Vault.tsx+13 −0
@@ -55,6 +55,7 @@5555 export function VaultView(props: VaultProps) {5656   const [search, setSearch] = createSignal("");5757   const [selectedTags, setSelectedTags] = createSignal<Set<string>>(new Set());58+  const [notesOnly, setNotesOnly] = createSignal(false);5859   const [selecting, setSelecting] = createSignal(false);5960   const [selectedIds, setSelectedIds] = createSignal<Set<string>>(new Set());6061   const [deleting, setDeleting] = createSignal(false);@@ -139,6 +140,10 @@139140   const filteredEntries = createMemo(() => {140141     let result = props.entries;141142 143+    if (notesOnly()) {144+      result = result.filter(entry => entry.type === "note");145+    }146+142147     if (selectedTags().size > 0) {143148       result = result.filter(entry =>144149         Array.from(selectedTags()).every(tag => entry.tags?.includes(tag))@@ -309,6 +314,14 @@309314                 )}310315               </For>311316               <span style="flex:1" />317+              <button318+                class={`peach-sort-trash-btn${notesOnly() ? " is-active" : ""}`}319+                onClick={() => setNotesOnly(v => !v)}320+                aria-label="Notes only"321+                title="Show notes only"322+              >323+                {NOTE_ICON}324+              </button>312325               <Show when={props.onOpenTrash}>313326                 <button314327                   class="peach-sort-trash-btn"

view file