From 2ccfde1ba453aaea11672d02ac79f70ad088954a Mon Sep 17 00:00:00 2001 From: icarus Date: Sat, 27 Sep 2025 17:02:29 +0800 Subject: [PATCH] feat(agent): add emoji avatar support and refactor avatar handling - Rename getAgentAvatar to getAgentDefaultAvatar for clarity - Add EmojiAvatarWithPicker component for emoji selection - Update AgentLabel to support both default and emoji avatars - Add AvatarSetting component for avatar configuration - Modify agent configuration schema to support emoji avatars --- .../Avatar/EmojiAvatarWithPicker.tsx | 22 +++++ src/renderer/src/config/agent.ts | 2 +- .../pages/home/Tabs/components/AgentItem.tsx | 19 +--- .../AgentSettings/AgentEssentialSettings.tsx | 12 ++- .../AgentSettings/AgentSettingsPopup.tsx | 9 +- .../settings/AgentSettings/AvatarSetting.tsx | 96 +++++++++++++++++++ .../pages/settings/AgentSettings/shared.tsx | 21 ++-- src/renderer/src/types/agent.ts | 6 +- 8 files changed, 150 insertions(+), 37 deletions(-) create mode 100644 src/renderer/src/components/Avatar/EmojiAvatarWithPicker.tsx create mode 100644 src/renderer/src/pages/settings/AgentSettings/AvatarSetting.tsx diff --git a/src/renderer/src/components/Avatar/EmojiAvatarWithPicker.tsx b/src/renderer/src/components/Avatar/EmojiAvatarWithPicker.tsx new file mode 100644 index 000000000..6735d86a4 --- /dev/null +++ b/src/renderer/src/components/Avatar/EmojiAvatarWithPicker.tsx @@ -0,0 +1,22 @@ +import { Button, Popover, PopoverContent, PopoverTrigger } from '@heroui/react' +import React from 'react' + +import EmojiPicker from '../EmojiPicker' + +type Props = { + emoji: string + onPick: (emoji: string) => void +} + +export const EmojiAvatarWithPicker: React.FC = ({ emoji, onPick }) => { + return ( + + +