diff --git a/src/views/waveformPreviewContent.ts b/src/views/waveformPreviewContent.ts index 9e20df4..5bc1586 100644 --- a/src/views/waveformPreviewContent.ts +++ b/src/views/waveformPreviewContent.ts @@ -5,65 +5,79 @@ export function getWaveformPreviewContent(): string { return ` /* 波形预览组件样式 */ .waveform-preview { - margin-top: 12px; + margin: 16px 0; border: 1px solid var(--vscode-panel-border); - border-radius: 8px; + border-radius: 12px; overflow: hidden; background: var(--vscode-editor-background); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + transition: box-shadow 0.3s ease, transform 0.2s ease; + } + .waveform-preview:hover { + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); + transform: translateY(-2px); } .waveform-preview-header { display: flex; align-items: center; justify-content: space-between; - padding: 10px 12px; - background: var(--vscode-input-background); + padding: 14px 16px; + background: linear-gradient(135deg, var(--vscode-input-background) 0%, var(--vscode-editor-background) 100%); border-bottom: 1px solid var(--vscode-panel-border); + backdrop-filter: blur(10px); } .waveform-preview-title { display: flex; align-items: center; - gap: 8px; - font-size: 13px; - font-weight: 500; + gap: 10px; + font-size: 14px; + font-weight: 600; color: var(--vscode-foreground); + letter-spacing: 0.3px; } .waveform-preview-title svg { - width: 16px; - height: 16px; + width: 18px; + height: 18px; color: var(--vscode-button-background); + filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2)); } .waveform-expand-btn { - padding: 4px 12px; + padding: 6px 14px; background: var(--vscode-button-background); color: var(--vscode-button-foreground); border: none; - border-radius: 4px; + border-radius: 6px; cursor: pointer; font-size: 12px; + font-weight: 500; display: flex; align-items: center; - gap: 4px; - transition: opacity 0.2s ease; + gap: 6px; + transition: all 0.2s ease; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .waveform-expand-btn:hover { - opacity: 0.9; + background: var(--vscode-button-hoverBackground); + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); + } + .waveform-expand-btn:active { + transform: translateY(0); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .waveform-expand-btn svg { width: 14px; height: 14px; } .waveform-preview-content { - padding: 0; - min-height: 200px; - max-height: 300px; + padding: 12px; overflow: hidden; position: relative; background: var(--vscode-editor-background); } .waveform-preview-canvas { width: 100%; - height: 100%; - min-height: 200px; + height: auto; } .waveform-preview-placeholder { display: flex; @@ -88,7 +102,8 @@ export function getWaveformPreviewContent(): string { } .waveform-mini-viewer { width: 100%; - height: 200px; + height: auto; + min-height: 120px; background: var(--vscode-editor-background); position: relative; overflow: hidden;