From a01b0ac34fb5c733b2fc16ff80d7fc3f5077d54e Mon Sep 17 00:00:00 2001 From: root Date: Tue, 17 Feb 2026 23:46:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(prompt-enhancer):=20=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=E5=90=8E=E6=8C=89=E9=92=AE=E5=88=87=E6=8D=A2=E4=B8=BA=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E5=B9=B6=E7=BB=9F=E4=B8=80=E7=AB=AF=E4=BE=A7=E8=A1=8C?= =?UTF-8?q?=E4=B8=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/static/common/js/prompt-enhancer.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app/static/common/js/prompt-enhancer.js b/app/static/common/js/prompt-enhancer.js index 8ae3a69..b34449b 100644 --- a/app/static/common/js/prompt-enhancer.js +++ b/app/static/common/js/prompt-enhancer.js @@ -175,6 +175,18 @@ toggleBtn.classList.toggle('is-visible', Boolean(visible)); } + function setEnhanceButtonMode(enhanceBtn, mode) { + enhanceBtn.dataset.mode = mode; + enhanceBtn.textContent = mode === 'clear' ? '清空' : '增强提示词'; + } + + function resetEnhancerState(textarea, enhanceBtn, toggleBtn) { + enhanceStateMap.delete(textarea); + setToggleButtonVisible(toggleBtn, false); + updateToggleButtonText(toggleBtn, 'zh'); + setEnhanceButtonMode(enhanceBtn, 'enhance'); + } + function buildDesktopText(state, mode) { const middleLabel = mode === 'en' ? '最终提示词:' : '中文参考版:'; const middleText = mode === 'en' ? state.en : state.zh; @@ -207,6 +219,14 @@ } async function onEnhanceClick(textarea, enhanceBtn, toggleBtn) { + const currentMode = String(enhanceBtn.dataset.mode || 'enhance'); + if (currentMode === 'clear') { + applyPromptToTextarea(textarea, ''); + resetEnhancerState(textarea, enhanceBtn, toggleBtn); + toast('已清空提示词', 'success'); + return; + } + const raw = String(textarea.value || '').trim(); if (!raw) { toast('请先输入提示词', 'warning'); @@ -238,6 +258,7 @@ setToggleButtonVisible(toggleBtn, false); applyPromptToTextarea(textarea, parsed.raw); } + setEnhanceButtonMode(enhanceBtn, 'clear'); toast('提示词增强完成', 'success'); } catch (e) { const msg = String(e && e.message ? e.message : e); @@ -282,7 +303,7 @@ const button = document.createElement('button'); button.type = 'button'; button.className = 'geist-button-outline prompt-enhance-btn'; - button.textContent = '增强提示词'; + setEnhanceButtonMode(button, 'enhance'); button.addEventListener('click', () => onEnhanceClick(textarea, button, langBtn)); wrapper.appendChild(button);