feat: Implement scroll position management with a new setting, add a back-to-top button, and extend search cache duration.

This commit is contained in:
kuekhaoyang
2026-01-25 15:42:21 +08:00
parent 7368582398
commit 30600e4d95
16 changed files with 289 additions and 18 deletions
+21
View File
@@ -11,20 +11,41 @@ import { Switch } from '@/components/ui/Switch';
interface DisplaySettingsProps {
realtimeLatency: boolean;
searchDisplayMode: SearchDisplayMode;
rememberScrollPosition: boolean;
onRealtimeLatencyChange: (enabled: boolean) => void;
onSearchDisplayModeChange: (mode: SearchDisplayMode) => void;
onRememberScrollPositionChange: (enabled: boolean) => void;
}
export function DisplaySettings({
realtimeLatency,
searchDisplayMode,
rememberScrollPosition,
onRealtimeLatencyChange,
onSearchDisplayModeChange,
onRememberScrollPositionChange,
}: DisplaySettingsProps) {
return (
<div className="bg-[var(--glass-bg)] border border-[var(--glass-border)] rounded-[var(--radius-2xl)] shadow-[var(--shadow-sm)] p-6 mb-6">
<h2 className="text-xl font-semibold text-[var(--text-color)] mb-4"></h2>
{/* Remember Scroll Position Toggle */}
<div className="mb-6">
<div className="flex items-center justify-between">
<div>
<h3 className="font-medium text-[var(--text-color)]"></h3>
<p className="text-sm text-[var(--text-color-secondary)] mt-1">
退
</p>
</div>
<Switch
checked={rememberScrollPosition}
onChange={onRememberScrollPositionChange}
ariaLabel="记住滚动位置开关"
/>
</div>
</div>
{/* Real-time Latency Toggle */}
<div className="mb-6">
<div className="flex items-center justify-between">