86 lines
3.4 KiB
TypeScript
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>;
|
|
};
|