From cca82c7885ed9eb97e7138e9b8c05db65e8124cb Mon Sep 17 00:00:00 2001 From: Roe-xin Date: Mon, 5 Jan 2026 18:30:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=B0=86todo=E7=9A=84=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=8B=BE=E9=80=89=E6=A1=86=20-=20=E4=B8=BA?= =?UTF-8?q?=E5=90=8E=E7=BB=AD=E7=9A=84todo=E5=AE=8C=E6=88=90=E6=89=93?= =?UTF-8?q?=E5=8B=BE=E5=81=9A=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/planCard.ts | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/views/planCard.ts b/src/views/planCard.ts index 6f2213a..c7fd3d1 100644 --- a/src/views/planCard.ts +++ b/src/views/planCard.ts @@ -61,10 +61,30 @@ export function getPlanCardStyles(): string { .plan-step:last-child { margin-bottom: 0; } - .step-num { - color: var(--vscode-textLink-foreground); - font-weight: 500; - margin-right: 6px; + .step-checkbox { + display: inline-flex; + align-items: center; + justify-content: center; + width: 16px; + height: 16px; + margin-right: 8px; + border: 2px solid var(--vscode-textLink-foreground); + border-radius: 4px; + background: transparent; + flex-shrink: 0; + opacity: 0.6; + transition: all 0.2s ease; + } + .step-checkbox.completed { + background: var(--vscode-textLink-foreground); + border-color: var(--vscode-textLink-foreground); + opacity: 1; + } + .step-checkbox.completed::after { + content: '✓'; + color: var(--vscode-editor-background); + font-size: 11px; + font-weight: bold; } .plan-actions { display: flex; @@ -151,7 +171,7 @@ export function getPlanCardScript(): string { } const stepsHtml = (segment.planSteps || []).map((step, i) => - \`
\${i + 1}. \${step}
\` + \`
\${step}
\` ).join(''); // 选项按钮 @@ -231,7 +251,7 @@ export function getPlanCardScript(): string { function renderPlanCardStatic(segment, segmentDiv) { segmentDiv.className += ' segment-plan'; const stepsHtml = (segment.planSteps || []).map((step, i) => - \`
\${i + 1}. \${step}
\` + \`
\${step}
\` ).join(''); segmentDiv.innerHTML = \`