From 21a6430f0d1c36d39a27d035e49e00278849054c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E9=9C=96=E9=93=83?= Date: Fri, 29 May 2026 20:10:45 +0800 Subject: [PATCH] refactor(content): simplify content script structure - Remove messageHandler.ts (6-line pass-through facade) - Import contextMenuHandler directly from content.ts - Replace local getI18nText() with shared getMessage() from utils/chromeI18n Reduces content script files from 3 to 2 and eliminates i18n logic duplication. Co-Authored-By: Claude Opus 4.8 --- src/entrypoints/content.ts | 4 ++-- src/entrypoints/content/contextMenuHandler.ts | 10 ++-------- src/entrypoints/content/messageHandler.ts | 5 ----- 3 files changed, 4 insertions(+), 15 deletions(-) delete mode 100644 src/entrypoints/content/messageHandler.ts diff --git a/src/entrypoints/content.ts b/src/entrypoints/content.ts index de742e7..4cfbc44 100644 --- a/src/entrypoints/content.ts +++ b/src/entrypoints/content.ts @@ -1,10 +1,10 @@ import '../../.wxt/types/imports.d.ts'; -import { initMessageHandler } from './content/messageHandler'; +import { initContextMenuHandler } from './content/contextMenuHandler'; export default defineContentScript({ matches: [''], runAt: 'document_end', main() { - initMessageHandler(); + initContextMenuHandler(); }, }); diff --git a/src/entrypoints/content/contextMenuHandler.ts b/src/entrypoints/content/contextMenuHandler.ts index 651d0c0..cc9b940 100644 --- a/src/entrypoints/content/contextMenuHandler.ts +++ b/src/entrypoints/content/contextMenuHandler.ts @@ -1,17 +1,11 @@ import type { ContextMenuClickedPayload } from '@/utils/messages'; import { MessageAction, onMessage } from '@/utils/messages'; import { getTextStats } from '@/utils/textStatistics'; +import { getMessage } from '@/utils/chromeI18n'; import { hidePopover, showTextStatsResult, showTimestampResult } from './uiPopover'; -function getI18nText(key: string, fallback: string): string { - if (typeof chrome !== 'undefined' && chrome.i18n) { - return chrome.i18n.getMessage(key) || fallback; - } - return fallback; -} - function convertTimestamp(input: string): string { - const invalidText = getI18nText('invalidTimestamp', 'Invalid Timestamp'); + const invalidText = getMessage('invalidTimestamp') || 'Invalid Timestamp'; const num = Number(input.trim()); if (isNaN(num)) { diff --git a/src/entrypoints/content/messageHandler.ts b/src/entrypoints/content/messageHandler.ts deleted file mode 100644 index 26b3743..0000000 --- a/src/entrypoints/content/messageHandler.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { initContextMenuHandler } from './contextMenuHandler'; - -export function initMessageHandler(): void { - initContextMenuHandler(); -}