feat(Concept): 优化日期选择器布局和排序方式显示

日期选择器布局调整:
- TradeDatePicker 新增 showLatestTradeDateTip prop 控制是否显示最新日期提示
- 快捷按钮(今天/昨天/一周前/一月前)移到日期输入框后
- 「数据更新至」提示移到最右侧,样式更低调避免误认为按钮

排序方式条件显示:
- 排序方式下拉框仅在列表视图(viewMode='list')显示
- 其他视图(3D图/层级图)隐藏排序方式,视图切换按钮自动靠右

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-16 13:10:00 +08:00
parent fba95a6701
commit c962b3a550
2 changed files with 85 additions and 58 deletions

View File

@@ -31,6 +31,8 @@ export interface TradeDatePickerProps {
showIcon?: boolean;
/** 是否使用深色模式(强制覆盖 Chakra 颜色模式) */
isDarkMode?: boolean;
/** 是否显示最新交易日期提示,默认 true */
showLatestTradeDateTip?: boolean;
}
/**
@@ -50,6 +52,7 @@ const TradeDatePicker: React.FC<TradeDatePickerProps> = ({
inputWidth = { base: '100%', lg: '200px' },
showIcon = true,
isDarkMode = false,
showLatestTradeDateTip = true,
}) => {
// 颜色主题 - 支持 isDarkMode 强制覆盖
const defaultLabelColor = useColorModeValue('purple.700', 'purple.300');
@@ -142,21 +145,21 @@ const TradeDatePicker: React.FC<TradeDatePickerProps> = ({
} : undefined}
/>
{/* 最新交易日期提示 */}
{latestTradeDate && (
{/* 最新交易日期提示 - 靠右显示,样式更低调避免误认为按钮 */}
{showLatestTradeDateTip && latestTradeDate && (
<Tooltip label="数据库中最新的交易日期">
<HStack
spacing={2}
bg={tipBg}
px={3}
py={1.5}
borderRadius="full"
border="1px solid"
borderColor={tipBorderColor}
spacing={1.5}
ml="auto"
px={2}
py={1}
opacity={0.7}
_hover={{ opacity: 1 }}
transition="opacity 0.2s"
>
<Icon as={InfoIcon} color={tipIconColor} boxSize={3} />
<Text fontSize="sm" color={tipTextColor} fontWeight="medium">
: {latestTradeDate.toLocaleDateString('zh-CN')}
<Text fontSize="xs" color={tipTextColor}>
{latestTradeDate.toLocaleDateString('zh-CN')}
</Text>
</HStack>
</Tooltip>