feat: Move Delegation to an extension

Also adds a <Warning> MDX component.
This commit is contained in:
natri0 2025-04-21 17:23:22 +00:00
parent 3117b376c9
commit 72039874ab
5 changed files with 125 additions and 26 deletions

View file

@ -267,7 +267,6 @@ export const navigation: NavGroup[] = [
{ title: "HTTP", href: "/federation/http" },
{ title: "Validation", href: "/federation/validation" },
{ title: "Discovery", href: "/federation/discovery" },
{ title: "Delegation", href: "/federation/delegation" },
{ title: "Example", href: "/federation/example" },
],
},
@ -295,6 +294,7 @@ export const navigation: NavGroup[] = [
title: "Extensions",
links: [
{ title: "Custom Emojis", href: "/extensions/custom-emojis" },
{ title: "Delegation", href: "/extensions/delegation" },
{ title: "Groups", href: "/extensions/groups" },
{
title: "Instance Messaging",

View file

@ -44,6 +44,37 @@ function InfoIcon(props: ComponentPropsWithoutRef<"svg">) {
);
}
function WarningIcon(props: ComponentPropsWithoutRef<"svg">) {
return (
<svg viewBox="0 0 24 24" aria-hidden="true" {...props}>
<path
fill="none"
stroke="currentColor"
strokeWidth={1.5}
strokeLinecap="round"
strokeLinejoin="round"
d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"
/>
<path
fill="none"
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="1.5"
d="M12 9v4"
/>
<path
fill="none"
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
d="M12 17h.01"
/>
</svg>
);
}
export function Note({ children }: { children: ReactNode }) {
return (
<div className="my-6 flex gap-2.5 rounded-md border border-brand-500/20 bg-brand-50/50 p-4 leading-6 text-brand-900 dark:border-brand-500/30 dark:bg-brand-500/5 dark:text-brand-200 dark:[--tw-prose-links-hover:theme(colors.brand.300)] dark:[--tw-prose-links:theme(colors.white)]">
@ -55,6 +86,17 @@ export function Note({ children }: { children: ReactNode }) {
);
}
export function Warning({ children }: { children: ReactNode }) {
return (
<div className="my-6 flex gap-2.5 rounded-md border border-yellow-500/20 bg-yellow-50/50 p-4 leading-6 text-yellow-900 dark:border-yellow-500/30 dark:bg-yellow-500/5 dark:text-yellow-200 dark:[--tw-prose-links-hover:theme(colors.yellow.300)] dark:[--tw-prose-links:theme(colors.white)]">
<WarningIcon className="mt-1 h-4 w-4 flex-none fill-yellow-500 stroke-white dark:fill-yellow-200/20 dark:stroke-yellow-200" />
<div className="[&>:first-child]:mt-0 [&>:last-child]:mb-0">
{children}
</div>
</div>
);
}
export function Row({ children }: { children: ReactNode }) {
return (
<div className="grid grid-cols-1 items-start gap-x-16 gap-y-10 xl:max-w-none xl:grid-cols-2">