mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-11-13 14:22:08 +08:00
perf(logs): skip unnecessary filtering work
This commit is contained in:
+8
-11
@@ -39,21 +39,18 @@ const LogPage = () => {
|
||||
return []
|
||||
}
|
||||
|
||||
// Server-side filtering handles level filtering via query parameters
|
||||
// We only need to apply search filtering here
|
||||
const hasSearch = searchState.text.length > 0
|
||||
if (!hasSearch && logState === 'all') return logData
|
||||
|
||||
return logData.filter((data) => {
|
||||
// 构建完整的搜索文本,包含时间、类型和内容
|
||||
if (logState !== 'all' && !data.type.includes(logState)) return false
|
||||
if (!hasSearch) return true
|
||||
|
||||
const searchText =
|
||||
`${data.time || ''} ${data.type} ${data.payload}`.toLowerCase()
|
||||
|
||||
const matchesSearch = match(searchText)
|
||||
|
||||
return (
|
||||
(logState == 'all' ? true : data.type.includes(logState)) &&
|
||||
matchesSearch
|
||||
)
|
||||
return match(searchText)
|
||||
})
|
||||
}, [logData, logState, match])
|
||||
}, [logData, logState, match, searchState.text])
|
||||
|
||||
const filteredLogs = useMemo(
|
||||
() => (isDescending ? [...filterLogs].reverse() : filterLogs),
|
||||
|
||||
Reference in New Issue
Block a user