diff --git a/src/equicordplugins/globalBadges/badgeComponent.tsx b/src/equicordplugins/globalBadges/badgeComponent.tsx index b7c4e5f7f..fa455e5b2 100644 --- a/src/equicordplugins/globalBadges/badgeComponent.tsx +++ b/src/equicordplugins/globalBadges/badgeComponent.tsx @@ -10,7 +10,7 @@ import { JSX } from "react"; import { BadgeModalComponent, openBadgeModal } from "./badgeModal"; import { settings } from "./settings"; import { BadgeCache } from "./types"; -import { fetchBadges, serviceMap } from "./utils"; +import { cl, fetchBadges, serviceMap } from "./utils"; export let badgeImages; @@ -63,8 +63,7 @@ export const GlobalBadges = ({ userId }: { userId: string; }) => { return (
openBadgeModal(UserStore.getUser(userId))} > {globalBadges} diff --git a/src/equicordplugins/globalBadges/badgeModal.tsx b/src/equicordplugins/globalBadges/badgeModal.tsx index b8f6d2f56..7bff808d0 100644 --- a/src/equicordplugins/globalBadges/badgeModal.tsx +++ b/src/equicordplugins/globalBadges/badgeModal.tsx @@ -5,8 +5,7 @@ */ import ErrorBoundary from "@components/ErrorBoundary"; -import { HeadingPrimary } from "@components/Heading"; -import { Paragraph } from "@components/Paragraph"; +import { HeadingTertiary } from "@components/Heading"; import { ModalContent, ModalRoot, openModal } from "@utils/modal"; import { User } from "@vencord/discord-types"; import { React, Tooltip } from "@webpack/common"; @@ -19,9 +18,9 @@ export const BadgeModalComponent = ({ name, img }: { name: string, img: string; {(tooltipProps: any) => ( )} @@ -37,17 +36,16 @@ export function BadgeModal({ user }: { user: User; }) { src={user.getAvatarURL(void 0, 512, true)} alt="" /> - {user.username} + {badgeImages.length ? ( + + {user.username} has {badgeImages.length} global badges + + ) : ( + + {user.username} has no global badges + + )}
- {badgeImages.length ? ( - - {user.username} has {badgeImages.length} global badges. - - ) : ( - - {user.username} has no global badges. - - )} {!!badgeImages.length && (
{badgeImages} diff --git a/src/equicordplugins/globalBadges/index.tsx b/src/equicordplugins/globalBadges/index.tsx index 68bdb475b..2e7d7796d 100644 --- a/src/equicordplugins/globalBadges/index.tsx +++ b/src/equicordplugins/globalBadges/index.tsx @@ -4,6 +4,8 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ +import "./styles.css"; + import { addProfileBadge, BadgePosition, ProfileBadge, removeProfileBadge } from "@api/Badges"; import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; diff --git a/src/equicordplugins/globalBadges/styles.css b/src/equicordplugins/globalBadges/styles.css new file mode 100644 index 000000000..f08323166 --- /dev/null +++ b/src/equicordplugins/globalBadges/styles.css @@ -0,0 +1,54 @@ +.vc-global-badges-badges { + align-items: center; + display: flex; + flex-wrap: nowrap; +} + +.vc-global-badges-header { + display: flex; + align-items: center; + margin-bottom: 1em; +} + +.vc-global-badges-name { + text-transform: none; + flex-grow: 0; + background: var(--background-base-lowest); + border-radius: 0 9999px 9999px 0; + padding: 6px 0.8em 6px 0.5em; + font-size: 20px; + height: 20px; + position: relative; + text-wrap: nowrap; +} + +.vc-global-badges-name::before { + content: ""; + display: block; + position: absolute; + height: 100%; + width: 32px; + background: var(--background-base-lowest); + z-index: -1; + left: -32px; + top: 0; + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; +} + +.vc-global-badges-avatar { + height: 48px; + width: 48px; + border-radius: 50%; +} + +.vc-global-badges-description { + font-size: 16px; + margin-left: 6px; +} + +.vc-global-badges-modal-badges { + width: 50px; + height: 50px; + margin: 2px; +} \ No newline at end of file diff --git a/src/equicordplugins/globalBadges/utils.ts b/src/equicordplugins/globalBadges/utils.ts index d63932d37..d75d28556 100644 --- a/src/equicordplugins/globalBadges/utils.ts +++ b/src/equicordplugins/globalBadges/utils.ts @@ -12,7 +12,7 @@ import { BadgeCache } from "./types"; const cache = new Map(); const EXPIRES = 1000 * 60 * 15; -export const cl = classNameFactory("vc-author-modal-"); +export const cl = classNameFactory("vc-global-badges-"); export const serviceMap = { "nekocord": "Nekocord", "reviewdb": "ReviewDB", diff --git a/src/plugins/_api/badges/fixDiscordBadgePadding.css b/src/plugins/_api/badges/fixDiscordBadgePadding.css index 388894e19..b018352a2 100644 --- a/src/plugins/_api/badges/fixDiscordBadgePadding.css +++ b/src/plugins/_api/badges/fixDiscordBadgePadding.css @@ -1,5 +1,9 @@ /* the profile popout badge container(s) */ -[class*="container_"] [class*="tags_"] [class*="container_"] { +[class*="profile_"] [class*="tags_"] [class*="container_"] { /* Discord has gap set to 2px instead of 1px, which causes the 12th badge to wrap to a new line. */ gap: 1px; +} + +[class*="container_"] [class*="tags_"] [class*="container_"] { + gap: 1px; } \ No newline at end of file