refactor(MessageGroupModelList): Simplify display mode toggle interaction

This commit is contained in:
kangfenmao 2025-03-09 22:08:28 +08:00
parent 2d7b5d9cf5
commit 6c4a19da59

View File

@ -19,22 +19,19 @@ type DisplayMode = 'compact' | 'expanded'
const MessageGroupModelList: FC<MessageGroupModelListProps> = ({ messages, selectedIndex, setSelectedIndex }) => { const MessageGroupModelList: FC<MessageGroupModelListProps> = ({ messages, selectedIndex, setSelectedIndex }) => {
const { t } = useTranslation() const { t } = useTranslation()
const [displayMode, setDisplayMode] = useState<DisplayMode>('expanded') const [displayMode, setDisplayMode] = useState<DisplayMode>('expanded')
const isCompact = displayMode === 'compact'
return ( return (
<ModelsWrapper> <ModelsWrapper>
<DisplayModeToggle displayMode={displayMode}> <DisplayModeToggle displayMode={displayMode} onClick={() => setDisplayMode(isCompact ? 'expanded' : 'compact')}>
<Tooltip <Tooltip
title={ title={
displayMode === 'compact' displayMode === 'compact'
? t('message.message.multi_model_style.fold.expand') ? t(`message.message.multi_model_style.fold.expand`)
: t('message.message.multi_model_style.fold.compress') : t('message.message.multi_model_style.fold.compress')
} }
placement="top"> placement="top">
{displayMode === 'compact' ? ( {displayMode === 'compact' ? <ArrowsAltOutlined /> : <ShrinkOutlined />}
<ArrowsAltOutlined onClick={() => setDisplayMode('expanded')} />
) : (
<ShrinkOutlined onClick={() => setDisplayMode('compact')} />
)}
</Tooltip> </Tooltip>
</DisplayModeToggle> </DisplayModeToggle>
@ -204,7 +201,7 @@ const AvatarWrapper = styled.div<{ isSelected: boolean }>`
` `
border: 2px solid var(--color-primary); border: 2px solid var(--color-primary);
z-index: 2; z-index: 2;
&:hover { &:hover {
/* z-index is applied immediately, not part of the transition */ /* z-index is applied immediately, not part of the transition */
z-index: 10; z-index: 10;