import {
Card,
Text,
useThemeContext,
Button,
AngleBracketsIcon,
BookCheckIcon,
ClydeIcon
} from "@moonlight-mod/wp/discord/components/common/index";
import Flex from "@moonlight-mod/wp/discord/uikit/Flex";
import React from "@moonlight-mod/wp/react";
import MarkupUtils from "@moonlight-mod/wp/discord/modules/markup/MarkupUtils";
import AppCardClasses from "@moonlight-mod/wp/discord/modules/guild_settings/web/AppCard.css";
import spacepack from "@moonlight-mod/wp/spacepack_spacepack";
const wordmark = "https://raw.githubusercontent.com/moonlight-mod/moonlight/refs/heads/main/img/wordmark.png";
const wordmarkLight =
"https://raw.githubusercontent.com/moonlight-mod/moonlight/refs/heads/main/img/wordmark-light.png";
function parse(str: string) {
return MarkupUtils.parse(str, true, {
allowHeading: true,
allowLinks: true,
allowList: true
});
}
function Dev({ name, picture, link }: { name: string; picture: string; link: string }) {
return (
);
}
function IconButton({
text,
link,
icon,
openInClient
}: {
text: string;
link: string;
icon: React.FC;
openInClient?: boolean;
}) {
return (
{
if (openInClient) {
try {
const { handleClick } = spacepack.require("discord/utils/MaskedLinkUtils");
handleClick({ href: link });
} catch {
window.open(link);
}
} else {
// Will open externally in the user's browser
window.open(link);
}
}}
>
{React.createElement(icon, {
size: "sm",
color: "currentColor"
})}
{text}
);
}
export default function AboutPage() {
const darkTheme = useThemeContext()?.theme === "dark";
return (
created by:
{parse(`moonlight \`${window.moonlight.version}\` on \`${window.moonlight.branch}\``)}
{parse(
"moonlight is licensed under the [GNU Lesser General Public License](https://www.gnu.org/licenses/lgpl-3.0.html) (`LGPL-3.0-or-later`)."
)}
);
}