diff --git a/Changelog.md b/Changelog.md index d98978f0f..94a6c215d 100644 --- a/Changelog.md +++ b/Changelog.md @@ -27,6 +27,7 @@ - 避免脏订阅地址无法 Scheme 导入订阅 - macOS TUN 覆盖 DNS 时使用 114.114.114.114 - 连通性测试替换为更快的 https://1.1.1.1 +- 连接、规则、日志等页面的过滤搜索组件新增了清空输入框按钮 - 链式代理增加明显的入口出口与数据流向标识 diff --git a/src/components/base/base-search-box.tsx b/src/components/base/base-search-box.tsx index 97367454d..1fbb311e5 100644 --- a/src/components/base/base-search-box.tsx +++ b/src/components/base/base-search-box.tsx @@ -1,4 +1,5 @@ -import { Box, SvgIcon, TextField, styled } from "@mui/material"; +import { ClearRounded } from "@mui/icons-material"; +import { Box, SvgIcon, TextField, styled, IconButton } from "@mui/material"; import Tooltip from "@mui/material/Tooltip"; import { ChangeEvent, @@ -168,6 +169,11 @@ export const BaseSearchBox = ({ }); }; + const handleClearInput = () => { + setText(""); + emitSearch({ text: "", matchCase, matchWholeWord, useRegularExpression }); + }; + const handleToggleMatchCase = () => { const next = !matchCase; setMatchCase(next); @@ -200,35 +206,40 @@ export const BaseSearchBox = ({ sx: { pr: 1 }, endAdornment: ( - -
- + -
+ onClick={handleClearInput} + > + + +
+ )} + + -
- -
+
-
- -
+
), diff --git a/src/locales/ar/shared.json b/src/locales/ar/shared.json index 5ef8d4f1f..a12f77995 100644 --- a/src/locales/ar/shared.json +++ b/src/locales/ar/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "مربع إدخال واضح", "filter": "شروط التصفية", "matchCase": "مطابقة الحالة", "matchWholeWord": "مطابقة الكلمة بأكملها", diff --git a/src/locales/de/shared.json b/src/locales/de/shared.json index 69faa3a6e..fa62dbb55 100644 --- a/src/locales/de/shared.json +++ b/src/locales/de/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "Eingabefeld leeren", "filter": "Filterbedingungen", "matchCase": "Groß-/Kleinschreibung beachten", "matchWholeWord": "Ganzes Wort übereinstimmen", diff --git a/src/locales/en/shared.json b/src/locales/en/shared.json index e27052384..2ac1743b6 100644 --- a/src/locales/en/shared.json +++ b/src/locales/en/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "Clear Input", "filter": "Filter conditions", "matchCase": "Match Case", "matchWholeWord": "Match Whole Word", diff --git a/src/locales/es/shared.json b/src/locales/es/shared.json index 7babab4ef..bdea93304 100644 --- a/src/locales/es/shared.json +++ b/src/locales/es/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "Borrar el cuadro de entrada", "filter": "Condiciones de filtrado", "matchCase": "Distinguir mayúsculas y minúsculas", "matchWholeWord": "Coincidencia exacta de palabras", diff --git a/src/locales/fa/shared.json b/src/locales/fa/shared.json index 458405075..409c4a69b 100644 --- a/src/locales/fa/shared.json +++ b/src/locales/fa/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "پاک کردن فیلد ورودی", "filter": "شرایط فیلتر", "matchCase": "تطبیق حروف کوچک و بزرگ", "matchWholeWord": "تطبیق کل کلمه", diff --git a/src/locales/id/shared.json b/src/locales/id/shared.json index 0effab311..d6763964d 100644 --- a/src/locales/id/shared.json +++ b/src/locales/id/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "Bersihkan kolom input", "filter": "Kondisi Filter", "matchCase": "Cocokkan Kasus", "matchWholeWord": "Cocokkan Kata Utuh", diff --git a/src/locales/jp/shared.json b/src/locales/jp/shared.json index 20a88547c..06cb62e22 100644 --- a/src/locales/jp/shared.json +++ b/src/locales/jp/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "入力フィールドをクリア", "filter": "フィルタリング条件", "matchCase": "大文字小文字を区別する", "matchWholeWord": "完全一致", diff --git a/src/locales/ko/shared.json b/src/locales/ko/shared.json index 13877c0e1..b386c234c 100644 --- a/src/locales/ko/shared.json +++ b/src/locales/ko/shared.json @@ -55,6 +55,7 @@ "files": "파일" }, "placeholders": { + "resetInput": "입력 필드 지우기", "filter": "필터 조건", "matchCase": "대/소문자 구분", "matchWholeWord": "단어 전체 일치", diff --git a/src/locales/ru/shared.json b/src/locales/ru/shared.json index 573de6d2f..1c26598ce 100644 --- a/src/locales/ru/shared.json +++ b/src/locales/ru/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "Очистить поле ввода", "filter": "Условия фильтрации", "matchCase": "Учитывать регистр", "matchWholeWord": "Полное совпадение слова", diff --git a/src/locales/tr/shared.json b/src/locales/tr/shared.json index eeac37355..225d24e3c 100644 --- a/src/locales/tr/shared.json +++ b/src/locales/tr/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "Giriş alanını temizle", "filter": "Filtre koşulları", "matchCase": "Büyük/Küçük Harf Eşleştir", "matchWholeWord": "Tam Kelime Eşleştir", diff --git a/src/locales/tt/shared.json b/src/locales/tt/shared.json index eb6316b33..38f9939fb 100644 --- a/src/locales/tt/shared.json +++ b/src/locales/tt/shared.json @@ -55,6 +55,7 @@ "files": "Files" }, "placeholders": { + "resetInput": "кертү кырын чистарту", "filter": "Фильтр шартлары", "matchCase": "Регистрны исәпкә алу", "matchWholeWord": "Сүзнең тулы туры килүе", diff --git a/src/locales/zh/shared.json b/src/locales/zh/shared.json index 047ce8186..9648bb316 100644 --- a/src/locales/zh/shared.json +++ b/src/locales/zh/shared.json @@ -55,6 +55,7 @@ "files": "文件" }, "placeholders": { + "resetInput": "清空输入框", "filter": "过滤条件", "matchCase": "区分大小写", "matchWholeWord": "全字匹配", diff --git a/src/locales/zhtw/shared.json b/src/locales/zhtw/shared.json index 089591055..49ad200c2 100644 --- a/src/locales/zhtw/shared.json +++ b/src/locales/zhtw/shared.json @@ -55,6 +55,7 @@ "files": "檔案" }, "placeholders": { + "resetInput": "清空輸入框", "filter": "篩選條件", "matchCase": "區分大小寫", "matchWholeWord": "完整字詞配對", diff --git a/src/types/generated/i18n-keys.ts b/src/types/generated/i18n-keys.ts index b99c94aae..a84c5d618 100644 --- a/src/types/generated/i18n-keys.ts +++ b/src/types/generated/i18n-keys.ts @@ -730,6 +730,7 @@ export const translationKeys = [ "shared.units.hours", "shared.units.kilobytes", "shared.units.files", + "shared.placeholders.resetInput", "shared.placeholders.filter", "shared.placeholders.matchCase", "shared.placeholders.matchWholeWord", diff --git a/src/types/generated/i18n-resources.ts b/src/types/generated/i18n-resources.ts index 4e0e11d16..d0397cf80 100644 --- a/src/types/generated/i18n-resources.ts +++ b/src/types/generated/i18n-resources.ts @@ -1318,6 +1318,7 @@ export interface TranslationResources { usedTotal: string; }; placeholders: { + resetInput: string; filter: string; matchCase: string; matchWholeWord: string;