Files
discord-decomp/modules/premium/powerups/hooks/useGuildPowerupsNewBadge.tsx
T
2026-11-01 12:12:55 +02:00

64 lines
2.7 KiB
TypeScript

// Metro module 11602 (f11603).
import { useCallback, useEffect } from "react";
import GuildPowerupsStore from "../GuildPowerupsStore";
import { GuildPowerupNewPerkMarketingVersion } from "../constants/GuildPowerupsConstants";
import { ContentDismissActionType } from "../../../dismissible_content/DismissibleContentConstants";
import { DismissibleContent } from "../../../../_bundle/Module1358";
import { useStateFromStores } from "../../../../_bundle/Module589";
import useGuildPowerupNewPerkMarketingVersion from "./useGuildPowerupNewPerkMarketingVersion";
import { useSelectedVersionedDismissibleContent } from "../../../dismissible_content/hooks/useSelectedDismissibleContent";
import { markVersionedDismissibleContentAsDismissed } from "../../../dismissible_content/DismissibleContentUtils";
function $mk87713($env) {
return () => $env.$parent[5].getStateForGuild($env[0]);
}
let env7918 = {};
const GUILD_POWERUP_NEW_PERK_AVAILABLE_BADGE = DismissibleContent.GUILD_POWERUP_NEW_PERK_AVAILABLE_BADGE;
export default function useGuildPowerupsNewBadge(a0, r10 = false) {
let env19022;
const r8 = env19022 = {
$parent: env7918
};
env19022[0] = a0;
let r17 = useStateFromStores([GuildPowerupsStore], $mk87713(r8));
if (r17 == null) {
r17 = void 0;
}
const guildPowerupNewPerkMarketingVersion = useGuildPowerupNewPerkMarketingVersion(a0, r17);
const r24 = guildPowerupNewPerkMarketingVersion >= GuildPowerupNewPerkMarketingVersion.GUILD_THEME ? guildPowerupNewPerkMarketingVersion : 0;
const [r34, r35] = useSelectedVersionedDismissibleContent(r24 > 0 ? r10 ? null : GUILD_POWERUP_NEW_PERK_AVAILABLE_BADGE : null, r24);
let c19021_0 = r35;
const showNewBadgeOnRow = r34 === GUILD_POWERUP_NEW_PERK_AVAILABLE_BADGE;
let c19021_1 = showNewBadgeOnRow;
return {
showNewBadgeOnRow,
dismissNewBadgeIfShown: useCallback(function(r3 = ContentDismissActionType.TAKE_ACTION) {
if (c19021_1) {
c19021_0(r3);
}
}, [showNewBadgeOnRow, r35])
};
};
export function useAutoDismissGuildPowerupsNewBadge(a0) {
let env19024;
const guildId = a0;
const r4 = env19024 = {
$parent: env7918
};
env19024[0] = a0;
let r14 = useStateFromStores([GuildPowerupsStore], $mk87713(r4));
if (r14 == null) {
r14 = void 0;
}
const guildPowerupNewPerkMarketingVersion = useGuildPowerupNewPerkMarketingVersion(a0, r14);
const r22 = guildPowerupNewPerkMarketingVersion >= GuildPowerupNewPerkMarketingVersion.GUILD_THEME ? guildPowerupNewPerkMarketingVersion : 0;
let c19023_1 = r22;
useEffect(() => {
if (c19023_1 > 0) {
markVersionedDismissibleContentAsDismissed(GUILD_POWERUP_NEW_PERK_AVAILABLE_BADGE, c19023_1, {
dismissAction: ContentDismissActionType.AUTO_DISMISS,
guildId
});
}
}, [r22, a0]);
}