From 661a0157a8a83e9b64c9fcdb16e844e00f80a8c0 Mon Sep 17 00:00:00 2001
From: khcrysalis <97859147+khcrysalis@users.noreply.github.com>
Date: Thu, 21 Nov 2024 16:01:48 -0800
Subject: [PATCH] feat: donator & contributor cards in settings
---
.../VencordSettings/SpecialCard.tsx | 86 +++++++++++++++++++
src/components/VencordSettings/VencordTab.tsx | 44 +++++++++-
src/components/VencordSettings/addonCard.css | 2 +-
.../VencordSettings/quickActions.css | 21 +++--
.../VencordSettings/specialCard.css | 69 +++++++++++++++
src/plugins/_core/supportHelper.tsx | 8 +-
src/utils/constants.ts | 9 ++
7 files changed, 223 insertions(+), 16 deletions(-)
create mode 100644 src/components/VencordSettings/SpecialCard.tsx
create mode 100644 src/components/VencordSettings/specialCard.css
diff --git a/src/components/VencordSettings/SpecialCard.tsx b/src/components/VencordSettings/SpecialCard.tsx
new file mode 100644
index 000000000..c36a2d839
--- /dev/null
+++ b/src/components/VencordSettings/SpecialCard.tsx
@@ -0,0 +1,86 @@
+/*
+ * Vencord, a modification for Discord's desktop app
+ * Copyright (c) 2023 Vendicated and contributors
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+*/
+
+import "./specialCard.css";
+
+import { classNameFactory } from "@api/Styles";
+import { Card, Forms, React } from "@webpack/common";
+
+const cl = classNameFactory("vc-special-");
+
+interface StyledCardProps {
+ title: string;
+ subtitle: string;
+ description: string;
+ cardImage?: string;
+ backgroundImage?: string;
+ backgroundColor?: string;
+ buttonTitle?: string;
+ buttonOnClick?: () => void;
+}
+
+export function SpecialCard({ title, subtitle, description, cardImage, backgroundImage, backgroundColor, buttonTitle, buttonOnClick: onClick }: StyledCardProps) {
+ const cardStyle: React.CSSProperties = {
+ backgroundColor: backgroundColor || "#9c85ef",
+ backgroundImage: `url(${backgroundImage || ""})`,
+ };
+
+ return (
+
+