diff --git a/packages/ui/src/lib/components/discord/DiscordMessages.stories.tsx b/packages/ui/src/lib/components/discord/DiscordMessages.stories.tsx
index a4d3c9113..3b4741eb4 100644
--- a/packages/ui/src/lib/components/discord/DiscordMessages.stories.tsx
+++ b/packages/ui/src/lib/components/discord/DiscordMessages.stories.tsx
@@ -58,7 +58,11 @@ export const Default = {
avatar: '/assets/discordjs.png',
username: 'Guide Bot',
}}
- footer={{ content: 'Sometimes, titles just have to be.' }}
+ footer={{
+ content: 'Sometimes, titles just have to be.',
+ icon: '/assets/discordjs.png',
+ timestamp: 'Today at 21:02',
+ }}
title={{ title: 'An amazing title' }}
>
This is a description. You can put a description here. It must be descriptive!
@@ -73,6 +77,35 @@ export const Default = {
>
Multiple embeds!
+
>
: authorNode ?? null}
{title ? : titleNode ?? null}
{children ?
{children}
: null}
+ {fields ? : null}
{footer ? : footerNode ?? null}
diff --git a/packages/ui/src/lib/components/discord/MessageEmbedField.tsx b/packages/ui/src/lib/components/discord/MessageEmbedField.tsx
new file mode 100644
index 000000000..49fdf6a58
--- /dev/null
+++ b/packages/ui/src/lib/components/discord/MessageEmbedField.tsx
@@ -0,0 +1,14 @@
+export interface IDiscordMessageEmbedField {
+ inline?: boolean;
+ name: string;
+ value: string;
+}
+
+export function DiscordMessageEmbedField({ name, value, inline }: IDiscordMessageEmbedField) {
+ return (
+
+ {name}
+ {value}
+
+ );
+}
diff --git a/packages/ui/src/lib/components/discord/MessageEmbedFields.tsx b/packages/ui/src/lib/components/discord/MessageEmbedFields.tsx
new file mode 100644
index 000000000..2c99e0959
--- /dev/null
+++ b/packages/ui/src/lib/components/discord/MessageEmbedFields.tsx
@@ -0,0 +1,15 @@
+import { DiscordMessageEmbedField, type IDiscordMessageEmbedField } from './MessageEmbedField.js';
+
+export interface IDiscordMessageEmbedFields {
+ fields: IDiscordMessageEmbedField[];
+}
+
+export function DiscordMessageEmbedFields({ fields }: IDiscordMessageEmbedFields) {
+ return (
+
+ {fields.map((field, idx) => (
+
+ ))}
+
+ );
+}
diff --git a/packages/ui/src/lib/components/discord/MessageEmbedFooter.tsx b/packages/ui/src/lib/components/discord/MessageEmbedFooter.tsx
index c4a0687e3..9c571c8c4 100644
--- a/packages/ui/src/lib/components/discord/MessageEmbedFooter.tsx
+++ b/packages/ui/src/lib/components/discord/MessageEmbedFooter.tsx
@@ -1,7 +1,17 @@
export interface IDiscordMessageEmbedFooter {
- content: string;
+ content?: string;
+ icon?: string;
+ timestamp?: string;
}
-export function DiscordMessageEmbedFooter({ content }: IDiscordMessageEmbedFooter) {
- return {content}
;
+export function DiscordMessageEmbedFooter({ content, icon, timestamp }: IDiscordMessageEmbedFooter) {
+ return (
+
+ {icon ?

: null}
+
+ {content}
+ {content && timestamp ?
• : null}
+ {timestamp}
+
+ );
}