Merge remote-tracking branch 'upstream/dev' into dev
Some checks failed
Test / Test (push) Has been cancelled
Release / Build Equicord (push) Has been cancelled

This commit is contained in:
thororen1234 2025-06-20 15:58:40 -04:00
commit 81e5b5b6b4
No known key found for this signature in database
4 changed files with 21 additions and 12 deletions

View file

@ -182,7 +182,7 @@ export default definePlugin({
}, },
// If we are rendering the Better Folders sidebar, we filter out everything but the Guild List from the Sidebar children // If we are rendering the Better Folders sidebar, we filter out everything but the Guild List from the Sidebar children
{ {
match: /unreadMentionsFixedFooter\].+?unreadMentionsBar\}\)\]/, match: /unreadMentionsFixedFooter\].+?\}\)\]/,
replace: "$&.filter($self.makeGuildsBarSidebarFilter(!!arguments[0]?.isBetterFolders))" replace: "$&.filter($self.makeGuildsBarSidebarFilter(!!arguments[0]?.isBetterFolders))"
} }
] ]

View file

@ -255,12 +255,12 @@ function FriendsTab({ guild, setCount }: RelationshipProps) {
} }
function BlockedUsersTab({ guild, setCount }: RelationshipProps) { function BlockedUsersTab({ guild, setCount }: RelationshipProps) {
const blockedIds = Object.keys(RelationshipStore.getMutableRelationships()).filter(id => RelationshipStore.isBlocked(id)); const blockedIds = RelationshipStore.getBlockedIDs();
return UserList("blocked", guild, blockedIds, setCount); return UserList("blocked", guild, blockedIds, setCount);
} }
function IgnoredUserTab({ guild, setCount }: RelationshipProps) { function IgnoredUserTab({ guild, setCount }: RelationshipProps) {
const ignoredIds = Object.keys(RelationshipStore.getMutableRelationships()).filter(id => RelationshipStore.isIgnored(id)); const ignoredIds = RelationshipStore.getIgnoredIDs();
return UserList("ignored", guild, ignoredIds, setCount); return UserList("ignored", guild, ignoredIds, setCount);
} }

View file

@ -71,9 +71,14 @@ const openAvatar = (url: string) => openImage(url, 512, 512);
const openBanner = (url: string) => openImage(url, 1024); const openBanner = (url: string) => openImage(url, 1024);
function openImage(url: string, width: number, height?: number) { function openImage(url: string, width: number, height?: number) {
const format = url.startsWith("/") ? "png" : settings.store.format;
const u = new URL(url, window.location.href); const u = new URL(url, window.location.href);
const format = url.startsWith("/")
? "png"
: u.searchParams.get("animated") === "true"
? "gif"
: settings.store.format;
u.searchParams.set("size", settings.store.imgSize); u.searchParams.set("size", settings.store.imgSize);
u.pathname = u.pathname.replace(/\.(png|jpe?g|webp)$/, `.${format}`); u.pathname = u.pathname.replace(/\.(png|jpe?g|webp)$/, `.${format}`);
url = u.toString(); url = u.toString();

View file

@ -275,17 +275,21 @@ export type useStateFromStores = <T>(
export class RelationshipStore extends FluxStore { export class RelationshipStore extends FluxStore {
getFriendIDs(): string[]; getFriendIDs(): string[];
/** Related to friend nicknames experiment. */ getIgnoredIDs(): string[];
getNickname(userId: string): string; getBlockedIDs(): string[];
getPendingCount(): number; getPendingCount(): number;
getRelationshipCount(): number; getRelationshipCount(): number;
/** Related to friend nicknames. */
getNickname(userId: string): string;
/** @returns Enum value from constants.RelationshipTypes */ /** @returns Enum value from constants.RelationshipTypes */
getRelationshipType(userId: string): number; getRelationshipType(userId: string): number;
isFriend(userId: string): boolean;
isBlocked(userId: string): boolean;
isIgnored(userId: string): boolean;
getSince(userId: string): string;
/** @returns Format: [userId: Enum value from constants.RelationshipTypes] */ /** @returns Format: [userId: Enum value from constants.RelationshipTypes] */
getMutableRelationships(): Record<number, number>; getMutableRelationships(): Record<number, number>;
isBlocked(userId: string): boolean;
isFriend(userId: string): boolean;
getSince(userId: string): string;
isIgnored(userId: string): boolean;
} }