Merge remote-tracking branch 'upstream/dev' into dev
This commit is contained in:
commit
386d03ae69
2 changed files with 56 additions and 56 deletions
|
|
@ -316,7 +316,7 @@ export default definePlugin({
|
|||
},
|
||||
// Allow users to use custom client themes
|
||||
{
|
||||
find: '"custom_themes_editor_footer"',
|
||||
find: '("custom_themes_editor_footer")',
|
||||
replacement: {
|
||||
match: /(?<=\i=)\(0,\i\.\i\)\(\i\.\i\.TIER_2\)(?=,|;)/g,
|
||||
replace: "true"
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import { useAwaiter } from "@utils/react";
|
|||
import definePlugin from "@utils/types";
|
||||
import { Guild, User } from "@vencord/discord-types";
|
||||
import { findCssClassesLazy } from "@webpack";
|
||||
import { Clickable, ConfirmModal,IconUtils, Menu, openModal, Parser } from "@webpack/common";
|
||||
import { Clickable, ConfirmModal, IconUtils, Menu, openModal, Parser } from "@webpack/common";
|
||||
|
||||
import { Auth, initAuth, updateAuth } from "./auth";
|
||||
import { openReviewsModal } from "./components/ReviewModal";
|
||||
|
|
@ -146,62 +146,62 @@ export default definePlugin({
|
|||
renderProfileCollection: {
|
||||
priority: 0,
|
||||
render: ({ user, isSideBar = false }: { user: User; isSideBar?: boolean; }) => {
|
||||
const [reviewData] = useAwaiter(() => getReviews(user.id, { limit: 4 }), { deps: [user.id], fallbackValue: null });
|
||||
const [reviewData] = useAwaiter(() => getReviews(user.id, { limit: 4 }), { deps: [user.id], fallbackValue: null });
|
||||
|
||||
// Discord are masters at using a crap ton of html elements and css classes to create a simple ui that could have
|
||||
// been made with less than half of the number of elements, so we have to do this insanity to replicate their ui
|
||||
const reviewsSection = (
|
||||
<section className={ProfileCardClasses.container}>
|
||||
<ul className={ProfileCardClasses.cardsList} tabIndex={-1}>
|
||||
<li className={ProfileCardClasses.firstCardContainer}>
|
||||
<Clickable
|
||||
className={classes(ProfileCardContainerClasses.breadcrumb, reviewData?.hasOptedOut && cl("profile-popout-disabled"))}
|
||||
onClick={() => !reviewData?.hasOptedOut && openReviewsModal(user.id, user.username, ReviewType.User)}
|
||||
>
|
||||
<div className={classes(ProfileCardOverlayClasses.overlay, ProfileCardContainerClasses.innerContainer, ProfileCardClasses.card)}>
|
||||
<Paragraph size={isSideBar ? "sm" : "xs"} weight="medium">User Reviews</Paragraph>
|
||||
{!!reviewData?.reviewCount
|
||||
? (
|
||||
<div className={ProfileCardContainerClasses.icons}>
|
||||
{reviewData.reviews
|
||||
.filter(review => review.id !== 0)
|
||||
.slice(0, 4)
|
||||
.reverse()
|
||||
.map((review, idx) => {
|
||||
const showCount = idx === 3 && reviewData.reviewCount > 4;
|
||||
// Discord are masters at using a crap ton of html elements and css classes to create a simple ui that could have
|
||||
// been made with less than half of the number of elements, so we have to do this insanity to replicate their ui
|
||||
const reviewsSection = (
|
||||
<section className={ProfileCardClasses.container}>
|
||||
<ul className={ProfileCardClasses.cardsList} tabIndex={-1}>
|
||||
<li className={ProfileCardClasses.firstCardContainer}>
|
||||
<Clickable
|
||||
className={classes(ProfileCardContainerClasses.breadcrumb, reviewData?.hasOptedOut && cl("profile-popout-disabled"))}
|
||||
onClick={() => !reviewData?.hasOptedOut && openReviewsModal(user.id, user.username, ReviewType.User)}
|
||||
>
|
||||
<div className={classes(ProfileCardOverlayClasses.overlay, ProfileCardContainerClasses.innerContainer, ProfileCardClasses.card)}>
|
||||
<Paragraph size={isSideBar ? "sm" : "xs"} weight="medium">User Reviews</Paragraph>
|
||||
{!!reviewData?.reviewCount
|
||||
? (
|
||||
<div className={ProfileCardContainerClasses.icons}>
|
||||
{reviewData.reviews
|
||||
.filter(review => review.id !== 0)
|
||||
.slice(0, 4)
|
||||
.reverse()
|
||||
.map((review, idx) => {
|
||||
const showCount = idx === 3 && reviewData.reviewCount > 4;
|
||||
|
||||
return (
|
||||
<div className={ProfileCardContainerClasses.icon} key={review.id}>
|
||||
<img
|
||||
src={review.sender.profilePhoto}
|
||||
alt={review.sender.username}
|
||||
className={showCount ? ProfileCardContainerClasses.displayCount : undefined}
|
||||
onError={e => e.currentTarget.src = IconUtils.getDefaultAvatarURL(review.sender.discordID)}
|
||||
/>
|
||||
{showCount && (
|
||||
<div className={ProfileCardContainerClasses.displayCountText}>
|
||||
<Span className={ProfileCardContainerClasses.displayCountTextColor} size="xs" weight="medium" defaultColor={false}>
|
||||
+{reviewData.reviewCount - 4}
|
||||
</Span>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
)
|
||||
: <Paragraph size={isSideBar ? "sm" : "xs"}>{reviewData?.hasOptedOut ? "User opted out" : "No reviews yet"}</Paragraph>
|
||||
}
|
||||
</div>
|
||||
</Clickable>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
);
|
||||
return (
|
||||
<div className={ProfileCardContainerClasses.icon} key={review.id}>
|
||||
<img
|
||||
src={review.sender.profilePhoto}
|
||||
alt={review.sender.username}
|
||||
className={showCount ? ProfileCardContainerClasses.displayCount : undefined}
|
||||
onError={e => e.currentTarget.src = IconUtils.getDefaultAvatarURL(review.sender.discordID)}
|
||||
/>
|
||||
{showCount && (
|
||||
<div className={ProfileCardContainerClasses.displayCountText}>
|
||||
<Span className={ProfileCardContainerClasses.displayCountTextColor} size="xs" weight="medium" defaultColor={false}>
|
||||
+{reviewData.reviewCount - 4}
|
||||
</Span>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
)
|
||||
: <Paragraph size={isSideBar ? "sm" : "xs"}>{reviewData?.hasOptedOut ? "User opted out" : "No reviews yet"}</Paragraph>
|
||||
}
|
||||
</div>
|
||||
</Clickable>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
);
|
||||
|
||||
return isSideBar
|
||||
? <div className={DMSideBarClasses.widgetPreviews}>{reviewsSection}</div>
|
||||
: reviewsSection;
|
||||
},
|
||||
return isSideBar
|
||||
? <div className={DMSideBarClasses.widgetPreviews}>{reviewsSection}</div>
|
||||
: reviewsSection;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue