// Metro module 12067 (f12068). import { useMemo } from "react"; import { Image as Image2, Pressable, View } from "react-native"; import LocaleStore from "../../user_settings/LocaleStore"; import AuthenticationStore from "../../../stores/AuthenticationStore"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { ApplicationWidgetLayoutName } from "../../../_bundle/Module12068"; import UserProfileApplicationWidgetTopHeroLayout, { HERO_IMAGE_UNCLIPPED_TOP_BLEED } from "../../application_widget/native/UserProfileApplicationWidgetTopHeroLayout"; import UserProfileApplicationWidgetTopContainedLayout from "../../application_widget/native/UserProfileApplicationWidgetTopContainedLayout"; import UserProfileApplicationWidgetBottomStatsLayout from "../../application_widget/native/UserProfileApplicationWidgetBottomStatsLayout"; import UserProfileApplicationWidgetBottomProgressLayout from "../../application_widget/native/UserProfileApplicationWidgetBottomProgressLayout"; import UserProfileApplicationWidgetBottomCollectionLayout from "../../application_widget/native/UserProfileApplicationWidgetBottomCollectionLayout"; import { useStateFromStores } from "../../../_bundle/Module589"; import { createCompactNumberFormat, bindResolveFieldValue } from "../../../_bundle/Module12070"; import MobileVisualRefreshExperiment from "../../themes/experiments/MobileVisualRefreshExperiment"; import { useGetOrFetchApplication } from "../../applications/useGetOrFetchApplications"; import { useGame } from "../../games/hooks/useGame"; import useOpenGameProfileModal from "../../game_profile/hooks/useOpenGameProfileModal"; import { GameProfileSources } from "../../game_profile/GameProfileAnalyticUtils"; import useApplicationWidgetLayoutRendererProps from "../../application_widget/hooks/useApplicationWidgetLayoutRendererProps"; import { ApplicationWidgetConfigSurface } from "../../../_bundle/Module12153"; import UserProfileCard from "./UserProfileCard"; import { getWidgetTitle } from "../WidgetUtils"; import { HourglassIcon } from "../../../design/components/Icon/native/redesign/generated/HourglassIcon"; import { Text } from "../../../design/components/Text/native/Text"; import { intl, t } from "../../../intl/index.native"; const useStyles = createStyles({ appIcon: { width: 16, height: 16, borderRadius: Module712.radii.xs, overflow: "hidden" }, header: { flexDirection: "row", alignItems: "center", gap: Module712.space.PX_4 }, divider: { borderBottomWidth: 1, borderBottomColor: Module712.colors.BORDER_SUBTLE, marginBottom: Module712.space.PX_24 }, stillSyncing: { flexDirection: "row", alignItems: "center", gap: Module712.space.PX_4 } }); export default function UserProfileApplicationWidgetCard(props) { let c19383_2; const { userId, widget, cardStyle } = props; let isFirstWidget = props.isFirstWidget; if (isFirstWidget === void 0) { isFirstWidget = false; } c19383_2 = void 0; const styles = useStyles(); const stateFromStores = useStateFromStores([LocaleStore], () => LocaleStore.locale); const memo = useMemo(() => createCompactNumberFormat(stateFromStores), [stateFromStores]); const stateFromStores2 = useStateFromStores([AuthenticationStore], () => AuthenticationStore.getId() === userId); const r23 = MobileVisualRefreshExperiment("UserProfileCard"); const getOrFetchApplication = useGetOrFetchApplication(widget.applicationId); const uri = getOrFetchApplication == null ? void 0 : getOrFetchApplication.getIconURL(16); const openGameProfileModal = useOpenGameProfileModal({ location: "UserProfileApplicationWidgetCard", applicationId: useGame(getOrFetchApplication == null ? void 0 : getOrFetchApplication.getCanonicalGameId()).data?.id, source: GameProfileSources.UserProfileApplicationWidget, sourceUserId: userId, trackEntryPointImpression: true, stackingBehavior: "stack" }); c19383_2 = openGameProfileModal; const applicationWidgetLayoutRendererProps = useApplicationWidgetLayoutRendererProps(userId, widget.applicationId); const { surfaceConfigs, resolutionContext, isLoading, hasIdentity } = applicationWidgetLayoutRendererProps; const topConfig = surfaceConfigs[ApplicationWidgetConfigSurface.WIDGET_TOP]; const bottomConfig = surfaceConfigs[ApplicationWidgetConfigSurface.WIDGET_BOTTOM]; const titleLeadingIcon = uri != null ? : null; if (stateFromStores2 && !isLoading && !hasIdentity) { return {intl.string(t.z5K4Uv)} ; } const resolveFieldValue = bindResolveFieldValue(resolutionContext); const header = c19383_2 == null ? void 0 : c19383_2()} disabled={openGameProfileModal == null} accessibilityRole="button" accessibilityLabel={getWidgetTitle(widget)}> {titleLeadingIcon} {getWidgetTitle(widget)} ; const layout = topConfig?.layout; const r158 = topConfig == null ? null : ApplicationWidgetLayoutName.WIDGET_TOP_HERO === layout ? : ApplicationWidgetLayoutName.WIDGET_TOP_CONTAINED === layout ? : null; const layout2 = bottomConfig?.layout; const r176 = bottomConfig == null ? null : ApplicationWidgetLayoutName.WIDGET_BOTTOM_STATS === layout2 ? : ApplicationWidgetLayoutName.WIDGET_BOTTOM_PROGRESS === layout2 ? : ApplicationWidgetLayoutName.WIDGET_BOTTOM_COLLECTION === layout2 ? : null; const r198 = r158 == null; let r199 = null; if (!r198) { const r200 = r176 == null; r199 = null; if (!r200) { const style = [cardStyle, ,]; if (isFirstWidget) { isFirstWidget = topConfig?.layout === ApplicationWidgetLayoutName.WIDGET_TOP_HERO; } if (isFirstWidget) { isFirstWidget = { marginTop: HERO_IMAGE_UNCLIPPED_TOP_BLEED }; } style[1] = isFirstWidget; r199 = {r158} {r176} ; } } return r199; };