diff --git a/frontend/src/components/EmbedPreview.tsx b/frontend/src/components/EmbedPreview.tsx index 1403bb0d..983871de 100644 --- a/frontend/src/components/EmbedPreview.tsx +++ b/frontend/src/components/EmbedPreview.tsx @@ -36,6 +36,7 @@ const EmbedPreview: FC = ({ embed, raw = false }) => { const authorIconUrl = previewAvatarUrl(embed.author?.icon_url); const authorUrl = previewAvatarUrl(embed.author?.url); const footerIconUrl = previewAvatarUrl(embed.footer?.icon_url); + const titleUrl = previewAvatarUrl(embed.url); // Group fields into rows: inline fields share a row (max 3), non-inline get their own const fieldRows: EmbedField[][] = []; @@ -90,7 +91,17 @@ const EmbedPreview: FC = ({ embed, raw = false }) => { {embed.author.name} ) : null} - + {titleUrl && isSafeUrl(titleUrl) && embed.title ? ( + + + + ) : ( + + )} {embed.description && ( )} diff --git a/frontend/src/components/modals/TagEditorModal.tsx b/frontend/src/components/modals/TagEditorModal.tsx index b1fe768e..a55ec935 100644 --- a/frontend/src/components/modals/TagEditorModal.tsx +++ b/frontend/src/components/modals/TagEditorModal.tsx @@ -291,6 +291,14 @@ const TagEditorModal: FC = ({ /> + setEmbed((prev) => ({ ...prev, url: v }))} + maxLength={EMBED_LIMITS.URL} + /> +