feat(phase7): pattern search, health check, keyboard shortcuts

- KeyList: pattern input for Redis MATCH, local filter, Go button
- ConnectionStore: health check interval (5s ping), healthOk state
- StatusBar: health indicator (unstable = yellow pulse)
- RedisService: ping, isConnected methods
- Sidebar: Delete key (Del), deselect (Esc), refresh (F5)
- useKeyboard: expanded shortcut map
This commit is contained in:
2026-07-04 19:39:22 +08:00
parent 0ac0436cfd
commit 7c0cce3e64
9 changed files with 147 additions and 17 deletions
+2
View File
@@ -94,6 +94,8 @@ export interface ElectronAPI {
streamDel: (id: string, key: string, ids: string[]) => Promise<number>
renameKey: (id: string, oldKey: string, newKey: string) => Promise<void>
existsKey: (id: string, key: string) => Promise<boolean>
ping: (id: string) => Promise<string>
isConnected: (id: string) => Promise<boolean>
}
}
+4
View File
@@ -110,6 +110,10 @@ const electronAPI = {
ipcRenderer.invoke('redis:renameKey', id, oldKey, newKey),
existsKey: (id: string, key: string): Promise<boolean> =>
ipcRenderer.invoke('redis:existsKey', id, key),
ping: (id: string): Promise<string> =>
ipcRenderer.invoke('redis:ping', id),
isConnected: (id: string): Promise<boolean> =>
ipcRenderer.invoke('redis:isConnected', id),
},
}