feat(markdown): BIG ui improvements
Some checks failed
/ deploy-and-package (push) Has been cancelled

This commit is contained in:
Alois 2026-08-09 22:22:17 +02:00
commit 61d27b0e96
Signed by: alois
SSH key fingerprint: SHA256:GBzT2DXvAuGV9XIV5W3WrzVpjU54FThmxHXdbz95J24
10 changed files with 861 additions and 388 deletions

View file

@ -15,7 +15,6 @@ export default function Emoji({
className = "size-6",
registry: registryOverride,
shortcode,
tooltip = true,
}: EmojiProps) {
const registry = useEmojiRegistry(registryOverride);
const emoji = registry.resolve(shortcode);
@ -23,26 +22,27 @@ export default function Emoji({
useEffect(() => setFailedSource(undefined), [emoji?.src]);
if (!emoji || failedSource === emoji.src) return <span>{shortcode}</span>;
const image = (
<img
alt={emoji.shortcode}
className={className}
decoding="async"
draggable={false}
loading="lazy"
src={emoji.src}
onError={() => setFailedSource(emoji.src)}
/>
);
if (!tooltip) return image;
const content =
emoji?.src && failedSource !== emoji.src ? (
<img
alt={emoji.shortcode}
className={className}
decoding="async"
draggable={false}
loading="lazy"
src={emoji.src}
onError={() => setFailedSource(emoji.src)}
/>
) : (
<span>{shortcode}</span>
);
return (
<Tooltip>
<TooltipTrigger render={image} />
<TooltipContent sideOffset={8}>{emoji.shortcode}</TooltipContent>
<TooltipTrigger render={content} />
<TooltipContent sideOffset={8}>
{emoji?.shortcode ?? shortcode}
</TooltipContent>
</Tooltip>
);
}