diff --git a/src/components/PluginSettings/PluginStatCards.tsx b/src/components/PluginSettings/PluginStatCards.tsx
new file mode 100644
index 00000000..12de62a6
--- /dev/null
+++ b/src/components/PluginSettings/PluginStatCards.tsx
@@ -0,0 +1,29 @@
+/*
+ * Vencord, a Discord client mod
+ * Copyright (c) 2024 Vendicated and contributors
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+
+import "./styles.css";
+
+import { Text } from "@webpack/common";
+
+export function StockPluginsCard({ totalStockPlugins, enabledStockPlugins }) {
+ return (
+
+ Enabled Stock Plugins
+ {enabledStockPlugins}
+ Total Stock Plugins: {totalStockPlugins}
+
+ );
+}
+
+export function UserPluginsCard({ totalUserPlugins, enabledUserPlugins }) {
+ return (
+
+ Enabled UserPlugins
+ {totalUserPlugins}
+ Total UserPlugins: {enabledUserPlugins}
+
+ );
+}
diff --git a/src/components/PluginSettings/index.tsx b/src/components/PluginSettings/index.tsx
index 6c24cc37..0ccdea80 100644
--- a/src/components/PluginSettings/index.tsx
+++ b/src/components/PluginSettings/index.tsx
@@ -38,6 +38,8 @@ import { Alerts, Button, Card, Forms, lodash, Parser, React, Select, Text, TextI
import Plugins, { ExcludedPlugins, PluginMeta } from "~plugins";
+import { StockPluginsCard, UserPluginsCard } from "./PluginStatCards";
+
// Avoid circular dependency
const { startDependenciesRecursive, startPlugin, stopPlugin } = proxyLazy(() => require("../../plugins"));
@@ -343,11 +345,23 @@ export default function PluginSettings() {
-
- Plugins Information
- Total Plugins: {totalStockPlugins}, Total User Plugins: {totalUserPlugins}
- Enabled Plugins: {enabledStockPlugins}, Enabled User Plugins: {enabledUserPlugins}
-
+
+
+
+
+
Filters
diff --git a/src/components/PluginSettings/styles.css b/src/components/PluginSettings/styles.css
index d3d182e5..973c73c6 100644
--- a/src/components/PluginSettings/styles.css
+++ b/src/components/PluginSettings/styles.css
@@ -63,6 +63,7 @@
height: 8em;
display: flex;
flex-direction: column;
+ background-color: var(--background-secondary-alt) !important;
}
.vc-plugins-info-card div {
@@ -84,3 +85,22 @@
.vc-plugins-info-button svg:not(:hover, :focus) {
color: var(--text-muted);
}
+
+.vc-plugin-stats {
+ background-color: var(--background-secondary-alt);
+ border-radius: 8px;
+ padding: 12px;
+ box-sizing: border-box;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-evenly;
+ transition: 0.1s ease-out;
+ transition-property: box-shadow, transform, background, opacity;
+}
+
+.vc-plugin-stats:hover {
+ background-color: var(--background-tertiary);
+ transform: translateY(-1px);
+ box-shadow: var(--elevation-high);
+}