fix(web): app icon in webapp (#36206)

This commit is contained in:
KVOJJJin 2026-05-15 15:44:09 +08:00 committed by GitHub
parent 63946d829e
commit ff02636a4b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 3 deletions

View File

@ -26,9 +26,8 @@ describe('AppIcon', () => {
super()
}
// Mock basic functionality
connectedCallback() {
this.innerHTML = '🤖'
this.innerHTML = this.getAttribute('id') || '🤖'
}
})
}
@ -51,6 +50,15 @@ describe('AppIcon', () => {
expect(emojiElement?.getAttribute('id')).toBe('smile')
})
it('updates the rendered emoji when icon changes', () => {
const { rerender } = render(<AppIcon icon="smile" />)
expect(document.querySelector('em-emoji')).toHaveTextContent('smile')
rerender(<AppIcon icon="robot" />)
expect(document.querySelector('em-emoji')).toHaveTextContent('robot')
})
it('renders image when iconType is image and imageUrl is provided', () => {
render(<AppIcon iconType="image" imageUrl="test-image.jpg" />)
const imgElement = screen.getByAltText('app icon')

View File

@ -104,7 +104,8 @@ const AppIcon: FC<AppIconProps> = ({
showEditIcon = false,
}) => {
const isValidImageIcon = iconType === 'image' && imageUrl
const Icon = (icon && icon !== '') ? <em-emoji id={icon} /> : <em-emoji id="🤖" />
const emojiIcon = (icon && icon !== '') ? icon : '🤖'
const Icon = <em-emoji key={emojiIcon} id={emojiIcon} />
const wrapperRef = useRef<HTMLSpanElement>(null)
const isHovering = useHover(wrapperRef)