Files
discord-decomp/modules/user_profile/hooks/useDisplayProfile.tsx
T
2026-11-01 12:12:55 +02:00

70 lines
2.1 KiB
TypeScript

// Metro module 7983 (f7984).
import { useEffect } from "react";
import UserStore from "../../../stores/UserStore";
import UserProfileStore from "../UserProfileStore";
import { useStateFromStores } from "../../../_bundle/Module589";
import maybeFetchUserProfile from "../maybeFetchUserProfile";
import { cachedFunction } from "../../../utils/FunctionUtils";
import DisplayProfile from "../DisplayProfile";
function $mk79613($env) {
return () => {
const r5 = $env;
const r12 = r5[0];
const r2 = r12 == null;
let r4 = null;
if (!r2) {
const r7 = $env.$parent;
const r11 = r5[1];
const [r33, r10] = [r7[4], r7[5]];
let r36 = null;
if (r12 !== null) {
const user = r33.getUser(r12);
const userProfile = r10.getUserProfile(r12);
const guildMemberProfile = r10.getGuildMemberProfile(r12, r11);
r36 = user == null ? null : userProfile == null ? null : (0, r7[6])(userProfile, guildMemberProfile);
}
r4 = r36;
}
return r4;
};
}
let env5049 = {};
const c5049_6 = cachedFunction((a0, a1) => new DisplayProfile(a0, a1));
export default function useDisplayProfile(a0, a1) {
let env16145;
const r1 = env16145 = {
$parent: env5049
};
env16145[0] = a0;
env16145[1] = a1;
return useStateFromStores([UserStore, UserProfileStore], $mk79613(r1));
};
export function useDisplayProfileWithFetchEffect(a0, a1) {
let env16147;
useEffect(() => {
let guildId = a1;
if (guildId == null) {
guildId = void 0;
}
maybeFetchUserProfile(a0, void 0, {
guildId
});
}, [a1, a0]);
const r10 = env16147 = {
$parent: env5049
};
env16147[0] = a0;
env16147[1] = a1;
return useStateFromStores([UserStore, UserProfileStore], $mk79613(r10));
}
export function getDisplayProfile(a0, a1, r5 = [UserStore, UserProfileStore]) {
const [r29, r9] = r5;
if (a0 === null) {
return null;
}
const user = r29.getUser(a0);
const userProfile = r9.getUserProfile(a0);
const guildMemberProfile = r9.getGuildMemberProfile(a0, a1);
return user == null ? null : userProfile == null ? null : c5049_6(userProfile, guildMemberProfile);
}