Files
discord-decomp/modules/display_name_styles/native/DisplayNameStylesFlywheelProfileCoachmark.tsx
T
2026-11-01 12:12:55 +02:00

54 lines
2.3 KiB
TypeScript

// Metro module 15632 (f15633).
import { useCallback, useMemo } from "react";
import { View } from "react-native";
import UserStore from "../../../stores/UserStore";
import { ContentDismissActionType } from "../../dismissible_content/DismissibleContentConstants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { useStateFromStores } from "../../../_bundle/Module589";
import PremiumUtils from "../../../utils/PremiumUtils";
import { intl } from "../../../intl/index.native";
import DisplayNameStyles_messages from "../intl/DisplayNameStyles.messages";
import { useCoachmark } from "../../../design/components/Coachmark/native/useCoachmark.native";
import { DisplayNameLockeAbstractUI } from "../../../design/assets/native";
import { BetaTag } from "../../../design/void/native";
let useStyles;
const CoachmarkImage = function CoachmarkImage() {
const styles = useStyles();
return <View style={styles.coachmarkImageContainer}>
<DisplayNameLockeAbstractUI width={160} height={68} resizeMode="contain" />
<BetaTag style={styles.betaTag} />
</View>;
};
useStyles = createStyles({
coachmarkImageContainer: {
alignItems: "center",
justifyContent: "center",
gap: Module712.space.PX_12
},
betaTag: {
marginLeft: 0
}
});
export default function DisplayNameStylesFlywheelProfileCoachmark({ targetRef, visible, markAsDismissed }) {
let title, description, callback;
title = void 0;
description = void 0;
callback = void 0;
const canUsePremiumProfileCustomization = PremiumUtils.canUsePremiumProfileCustomization(useStateFromStores([UserStore], () => UserStore.getCurrentUser()));
title = canUsePremiumProfileCustomization ? intl.string(DisplayNameStyles_messages.h6sykk) : intl.string(DisplayNameStyles_messages.M5amXH);
description = canUsePremiumProfileCustomization ? intl.string(DisplayNameStyles_messages.TyUdka) : intl.string(DisplayNameStyles_messages.dluV0R);
callback = useCallback(() => {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
useCoachmark(targetRef, useMemo(() => ({
title,
description,
visible,
position: "bottom",
onDismiss: callback,
renderImgComponent: () => <CoachmarkImage />
}), [title, description, visible, callback]));
return null;
};