diff --git a/src/web/static/css/styles.css b/src/web/static/css/styles.css index 80aea8b..063a76a 100644 --- a/src/web/static/css/styles.css +++ b/src/web/static/css/styles.css @@ -118,16 +118,19 @@ body { margin-bottom: 12px; } -.site-nav-link { - color: var(--header-text); - text-decoration: none; - font-size: 0.85rem; - padding: 4px 12px; - border: 1px solid currentColor; - border-radius: 6px; - opacity: 0.75; - transition: opacity 0.2s ease, background 0.2s ease; -} +.site-nav-link { + color: var(--header-text); + text-decoration: none; + font-size: 0.85rem; + padding: 4px 12px; + min-height: 44px; + border: 1px solid currentColor; + border-radius: 6px; + opacity: 0.75; + display: inline-flex; + align-items: center; + transition: opacity 0.2s ease, background 0.2s ease; +} .site-nav-link:hover { opacity: 1; @@ -218,14 +221,29 @@ body { } /* URL预览样式 */ -.url-preview { +.url-preview { margin-top: 1rem; padding: 1rem; border-radius: 8px; background-color: var(--bg-secondary); border: 1px solid var(--border-primary); - min-height: 60px; -} + min-height: 60px; +} + +.url-preview[hidden], +.input-feedback[hidden], +.auth-missing-prompt[hidden], +.transcription-options-panel[hidden], +.advanced-settings[hidden] { + display: none; +} + +.input-feedback { + margin-top: 0.5rem; + color: var(--error-text); + font-size: 0.9rem; + line-height: 1.4; +} .no-urls { color: var(--text-secondary); @@ -238,7 +256,7 @@ body { space-y: 0.5rem; } -.url-option { +.url-option { display: flex; align-items: center; padding: 0.75rem; @@ -246,9 +264,10 @@ body { border: 1px solid var(--border-secondary); background-color: var(--bg-primary); cursor: pointer; - transition: all 0.2s ease; - margin-bottom: 0.5rem; -} + transition: all 0.2s ease; + margin-bottom: 0.5rem; + min-height: 44px; +} .url-option:hover { border-color: var(--accent-primary); @@ -267,6 +286,7 @@ body { .url-option label { flex: 1; + min-width: 0; cursor: pointer; display: flex; justify-content: space-between; @@ -274,6 +294,7 @@ body { } .url-display { + min-width: 0; font-family: monospace; background-color: var(--bg-tertiary); padding: 0.25rem 0.5rem; @@ -311,16 +332,72 @@ body { color: var(--text-primary); } -.checkbox-desc { +.checkbox-desc { display: block; font-size: 0.9rem; font-weight: 400; color: var(--text-secondary); - margin-top: 0.25rem; -} + margin-top: 0.25rem; +} + +.transcription-options-toggle, +.auth-settings-link { + min-height: 44px; +} + +.transcription-options-toggle { + width: 100%; + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 0; + border: 0; + background: none; + color: var(--text-primary); + cursor: pointer; + font: inherit; + text-align: left; +} + +.transcription-options-summary, +.advanced-summary { + flex: 1; + color: var(--text-secondary); + font-size: 0.85rem; + text-align: right; +} + +.transcription-options-panel { + padding: 0.5rem 0 0.25rem; +} + +.auth-missing-prompt { + display: flex; + align-items: center; + justify-content: space-between; + gap: 0.75rem; + margin: -0.5rem 0 1rem; + padding: 0.6rem 0.75rem; + border: 1px solid var(--error-border); + border-radius: 8px; + color: var(--error-text); + background: var(--error-bg); + font-size: 0.9rem; +} + +.auth-settings-link { + padding: 0.25rem 0.75rem; + border: 1px solid currentColor; + border-radius: 6px; + background: transparent; + color: inherit; + cursor: pointer; + font: inherit; + font-weight: 600; +} /* 高级设置样式 */ -.advanced-toggle { +.advanced-toggle { background: none; border: none; color: var(--accent-primary); @@ -331,10 +408,11 @@ body { display: flex; align-items: center; gap: 0.5rem; - transition: color 0.2s ease; - width: 100%; - justify-content: space-between; -} + transition: color 0.2s ease; + width: 100%; + min-height: 44px; + justify-content: space-between; +} .required-indicator { font-size: 0.85rem; @@ -411,9 +489,10 @@ body { } /* 提交按钮样式 */ -.submit-btn { - width: 100%; - padding: 1rem 1.5rem; +.submit-btn { + width: 100%; + min-height: 44px; + padding: 1rem 1.5rem; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; @@ -647,19 +726,23 @@ body { } /* 响应式设计 */ -@media (max-width: 768px) { - .container { - padding: 0.75rem; - } +@media (max-width: 768px) { + .container { + padding: 0.75rem; + } + + .header { + margin-bottom: 0.75rem; + } .header h1 { font-size: 2rem; } - .site-nav-link { - font-size: 0.78rem; - padding: 3px 10px; - } + .site-nav-link { + font-size: 0.78rem; + padding: 3px 10px; + } .main-content { padding: 1.25rem; @@ -735,39 +818,73 @@ body { } } -@media (max-width: 480px) { +@media (max-width: 480px) { .container { padding: 0.5rem; } - .header h1 { - font-size: 1.75rem; - line-height: 1.2; - } + .header h1 { + font-size: 1.4rem; + line-height: 1.2; + margin-bottom: 0.2rem; + } + + .header p { + font-size: 0.82rem; + } + + .site-nav { + gap: 0.35rem; + margin-bottom: 0.5rem; + } + + .site-nav-link { + padding: 3px 8px; + } + + .site-nav-link[href="/"] { + display: none; + } - .header p { - font-size: 1rem; - } + .main-content { + padding: 0.75rem; + border-radius: 8px; + } + + .form-group { + margin-bottom: 0.75rem; + } + + .form-label { + margin-bottom: 0.25rem; + font-size: 0.95rem; + } - .main-content { - padding: 1rem; - border-radius: 8px; - } - - .form-textarea { - min-height: 80px; - font-size: 1rem; - } + .form-textarea { + min-height: 88px; + font-size: 1rem; + } .form-input { font-size: 1rem; /* 防止iOS缩放 */ } /* 改善按钮在手机上的体验 */ - .submit-btn { - padding: 1.25rem 1rem; - font-size: 1.1rem; - } + .submit-btn { + padding: 1.25rem 1rem; + font-size: 1.1rem; + } + + .auth-missing-prompt { + margin-bottom: 0.75rem; + } + + .transcription-options-summary, + .advanced-summary { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } .input-btn { padding: 0.75rem; @@ -775,10 +892,13 @@ body { } /* 高级设置在手机上的优化 */ - .advanced-toggle { - padding: 1rem 0; - text-align: left; - } + .advanced-toggle { + flex-direction: row; + align-items: center; + gap: 0.5rem; + padding: 1rem 0; + text-align: left; + } .toggle-left { font-size: 1rem; @@ -1117,4 +1237,4 @@ body { .stat-value { font-size: 1.35rem; } -} \ No newline at end of file +} diff --git a/src/web/static/index.html b/src/web/static/index.html index 20cde50..1252394 100644 --- a/src/web/static/index.html +++ b/src/web/static/index.html @@ -25,63 +25,92 @@
- -

🎬 视频转录服务

-

支持多平台视频转录,智能说话人识别

-
- -
-
- -
- - - - -
-
请输入包含视频链接的内容
-
-
- - -
-
- - -
-
- - -
- - -
- -
-
+
+ -