fix(settings/analytics): canonical /en/, precise anchor navigation, scope card copy

Canonical URL fixes (parity with trump/macro/kol done earlier):
- analytics/page.tsx: canonical was `${siteUrl}/${locale}/analytics` → /en/
- settings/page.tsx:  canonical was `${siteUrl}/${locale}/settings`  → /en/

Settings scope card anchor navigation:
- Three scope cards ('Trump Signal ↓', 'Macro Vibes ↓', 'Global ↓') all
  pointed to #bot-config — same destination, no differentiation. Renamed:
  #config-trump / #config-macro / #config-global.
- Added matching id='config-trump/macro/global' to the three sections in
  BotConfigPanel so the anchors actually land at the right section.
- Removed misleading 'tab' wording ('Trump Signal tab ↓') — BotConfigPanel
  is not a tab component; it's a single-page vertical form. Copy now reads
  'Configure Trump ↓' etc.
- SystemControl already links to settings#bot-config which still resolves
  (the outer #bot-config wrapper div in SettingsClient is unchanged).

tsc + next build clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
k
2026-05-30 00:56:59 +08:00
parent 3cf7de7144
commit e78a61bd6e
4 changed files with 9 additions and 9 deletions
+4 -4
View File
@@ -531,7 +531,7 @@ export default function BotConfigPanel() {
</div>
{/* ── Trump Signal ───────────────────────────────────────────────────── */}
<div className="card" style={{ padding: 0, overflow: 'hidden', marginBottom: 12 }}>
<div id="config-trump" className="card" style={{ padding: 0, overflow: 'hidden', marginBottom: 12 }}>
{/* Header */}
<div style={{
display: 'flex', alignItems: 'center', justifyContent: 'space-between',
@@ -640,7 +640,7 @@ export default function BotConfigPanel() {
</div>
{/* ── Macro Vibes ────────────────────────────────────────────────────── */}
<div className="card" style={{ padding: 0, overflow: 'hidden', marginBottom: 12 }}>
<div id="config-macro" className="card" style={{ padding: 0, overflow: 'hidden', marginBottom: 12 }}>
{/* Header */}
<div style={{
display: 'flex', alignItems: 'center', justifyContent: 'space-between',
@@ -740,8 +740,8 @@ export default function BotConfigPanel() {
})()}
</div>
{/* ── Advanced ───────────────────────────────────────────────────────── */}
<div className="card" style={{ padding: 0, overflow: 'hidden', marginBottom: 12 }}>
{/* ── Advanced / Global controls ─────────────────────────────────────── */}
<div id="config-global" className="card" style={{ padding: 0, overflow: 'hidden', marginBottom: 12 }}>
<button
type="button"
onClick={() => setShowAdvanced(v => !v)}