From 044baa5fc2e6a18dd2c3f5e5aadada3feee7c06b Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Thu, 11 Sep 2025 22:05:58 -0700 Subject: [PATCH] Starring: improve starring in models modal --- .../llms/models-modal/LLMOptionsModal.tsx | 71 +++++++++++++------ 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/src/modules/llms/models-modal/LLMOptionsModal.tsx b/src/modules/llms/models-modal/LLMOptionsModal.tsx index 494838db8..996ff8c94 100644 --- a/src/modules/llms/models-modal/LLMOptionsModal.tsx +++ b/src/modules/llms/models-modal/LLMOptionsModal.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import TimeAgo from 'react-timeago'; -import { Box, Button, ButtonGroup, Divider, FormControl, Input, Link, Switch, Tooltip, Typography } from '@mui/joy'; +import { Box, Button, ButtonGroup, Divider, FormControl, Grid, IconButton, Input, Link, Switch, Tooltip, Typography } from '@mui/joy'; import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline'; import StarBorderIcon from '@mui/icons-material/StarBorder'; import StarIcon from '@mui/icons-material/Star'; @@ -13,6 +13,7 @@ import { DLLMId, getLLMContextTokens, isLLMVisible } from '~/common/stores/llms/ import { FormLabelStart } from '~/common/components/forms/FormLabelStart'; import { GoodModal } from '~/common/components/modals/GoodModal'; import { ModelDomainsList, ModelDomainsRegistry } from '~/common/stores/llms/model.domains.registry'; +import { TooltipOutlined } from '~/common/components/TooltipOutlined'; import { llmsStoreActions } from '~/common/stores/llms/store-llms'; import { useIsMobile } from '~/common/components/useMatchMedia'; import { useModelDomains } from '~/common/stores/llms/hooks/useModelDomains'; @@ -21,6 +22,11 @@ import { useLLM } from '~/common/stores/llms/llms.hooks'; import { LLMOptionsGlobal } from './LLMOptionsGlobal'; +// configuration +export const ENABLE_STARRING_ICON = true; +const ENABLE_HIDING_ICON = false; + + function prettyPricingComponent(pricingChatGenerate: DPricingChatGenerate): React.ReactNode { if (!pricingChatGenerate) return 'Pricing not available'; @@ -99,7 +105,7 @@ export function LLMOptionsModal(props: { id: DLLMId, onClose: () => void }) { Reset to defaults ... @@ -109,10 +115,27 @@ export function LLMOptionsModal(props: { id: DLLMId, onClose: () => void }) { return ( -
{llm.label} options
- {/* Reset to default - show only when user has customized parameters */} + + + {/* Star + Model Name */} + + {ENABLE_STARRING_ICON && + + {llm.userStarred ? : } + + } + {ENABLE_HIDING_ICON && + + {visible ? : } + + } + {llm.label} options + + + {/* [Desktop] Reset to default - show only when user has customized parameters */} {!isMobile && resetButton} } @@ -132,10 +155,27 @@ export function LLMOptionsModal(props: { id: DLLMId, onClose: () => void }) { - - - - + + + + + + + + + + + {!ENABLE_HIDING_ICON && + + + : } + slotProps={{ endDecorator: { sx: { minWidth: 26 } } }} /> + + } + + + @@ -154,7 +194,7 @@ export function LLMOptionsModal(props: { id: DLLMId, onClose: () => void }) { - + {!ENABLE_STARRING_ICON && void }) { slotProps={{ endDecorator: { sx: { minWidth: 26 } } }} /> - - - - - - : } - slotProps={{ endDecorator: { sx: { minWidth: 26 } } }} /> - - + } setShowDetails(!showDetails)} />