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

86 lines
3.4 KiB
TypeScript

// Metro module 8668 (f8669).
import { useMemo, useCallback } from "react";
import { View } from "react-native";
import UserStore from "../../../stores/UserStore";
import { UserProfileSections } from "../../user_profile/Constants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { useStateFromStores } from "../../../_bundle/Module589";
import { CollectiblesItemType } from "../../../_bundle/Module1901";
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
import showUserProfileActionSheet from "../../user_profile/native/showUserProfileActionSheet";
import AnalyticsLocation from "../../app_analytics/AnalyticsLocation";
import { CollectiblesPreview } from "../../skus/native/SKUPreview";
import { BottomSheet } from "../../../design/components/Sheet/native/BottomSheet.native";
import WishlistItemCardBase from "../../wishlists/native/WishlistItemCardBase";
import { Text } from "../../../design/components/Text/native/Text";
import { intl, t } from "../../../intl/index.native";
import { ButtonGroup } from "../../../design/components/ButtonGroup/native/ButtonGroup.native";
import { Button } from "../../../design/components/Button/native/Button.native";
const useStyles = createStyles({
container: {
alignItems: "center",
padding: Module712.space.PX_16,
gap: Module712.space.PX_24
},
textContainer: {
alignItems: "center",
paddingHorizontal: Module712.space.PX_8,
gap: Module712.space.PX_8
},
subtitle: {
textAlign: "center"
}
});
export default function WishlistNUXAddedItemActionSheet(props) {
let memo;
const product = props.product;
memo = void 0;
const styles = useStyles();
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser(), []);
memo = useMemo(() => {
if (product.type === CollectiblesItemType.BUNDLE) {
return {
type: "bundle",
items: product.items,
previewAssets: product.previewAssets
};
}
const [item] = product.items;
return item == null ? void 0 : {
type: "single",
item
};
}, [product]);
const callback = useCallback(() => {
ActionSheetActionCreators.hideActionSheet();
}, []);
const callback2 = useCallback(() => {
ActionSheetActionCreators.hideAllActionSheets();
if (stateFromStores != null) {
showUserProfileActionSheet({
userId: stateFromStores.id,
sourceAnalyticsLocations: [AnalyticsLocation.COLLECTIBLES_SHOP],
initialSection: UserProfileSections.WISHLIST
});
}
}, [stateFromStores]);
return <BottomSheet>
<View style={styles.container}>
<WishlistItemCardBase renderPreview={useCallback(() => memo != null ? <CollectiblesPreview collectiblesItemData={memo} /> : null, [memo])} />
<View style={styles.textContainer}>
<Text variant="heading-lg/extrabold" color="text-strong" accessibilityRole="header">
{intl.string(t["3T2jbf"])}
</Text>
<Text variant="text-md/normal" color="text-default" style={styles.subtitle}>
{intl.string(t.SXb73A)}
</Text>
</View>
<ButtonGroup direction="horizontal">
<Button text={intl.string(t.tM4PUv)} onPress={callback} size="lg" variant="primary" grow />
<Button text={intl.string(t.TxBQzD)} onPress={callback2} variant="secondary" size="lg" grow />
</ButtonGroup>
</View>
</BottomSheet>;
};