65 lines
2.6 KiB
TypeScript
65 lines
2.6 KiB
TypeScript
// Metro module 12236 (f12237).
|
|
import * as Module19 from "react";
|
|
import { useState, useMemo, useEffect } from "react";
|
|
import { ScrollView, View } from "react-native";
|
|
import { SHARE_ITEMS, SHARE_ITEMS_DEFAULT } from "./InstantInviteConstants";
|
|
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../../_bundle/Module712";
|
|
import { useFontScale } from "../../../screen/native/useFontScale";
|
|
import { Gesture, GestureDetector } from "../../../../_bundle/Module5273";
|
|
import { ImageButton } from "../../../../design/components/Button/native/ImageButton.native";
|
|
import { IconButton } from "../../../../design/components/Button/native/IconButton.native";
|
|
import Module12238 from "../../../../_bundle/Module12238";
|
|
const useStyles = createStyles({
|
|
contentContainer: {
|
|
padding: Module712.space.PX_16,
|
|
gap: Module712.space.PX_12,
|
|
alignItems: "center"
|
|
}
|
|
});
|
|
const r44 = Module19.memo(function InstantInviteShareApps(props) {
|
|
const { onItemPressed, contentContainerStyle } = props;
|
|
const styles = useStyles();
|
|
const fontScale = useFontScale();
|
|
const [state, setState] = useState(SHARE_ITEMS_DEFAULT);
|
|
const memo = useMemo(() => Gesture.Native().disallowInterruption(true), []);
|
|
useEffect(() => {
|
|
Promise.all(SHARE_ITEMS.map((item) => item.isAvailable)).then((result) => {
|
|
const r2 = [];
|
|
let c30514_0 = r2;
|
|
result.forEach((item, index) => {
|
|
if (item) {
|
|
c30514_0.push(SHARE_ITEMS[index]);
|
|
}
|
|
});
|
|
setState(r2);
|
|
});
|
|
}, []);
|
|
return <GestureDetector gesture={memo}>
|
|
<ScrollView contentContainerStyle={[styles.contentContainer, contentContainerStyle]} showsHorizontalScrollIndicator={false} horizontal>
|
|
{state.map((item) => {
|
|
let r29;
|
|
const { fullIcon, getLabel } = item;
|
|
let icon = item.icon;
|
|
let IconComponent = item.IconComponent;
|
|
const { onPress: onPress2, type } = item;
|
|
if (fullIcon != null) {
|
|
r29 = <ImageButton image={fullIcon} label={getLabel()} onPress={() => onItemPressed(onPress2)} maxFontSizeMultiplier={2} />;
|
|
} else {
|
|
if (IconComponent == null) {
|
|
if (icon == null) {
|
|
icon = Module12238;
|
|
}
|
|
IconComponent = icon;
|
|
}
|
|
r29 = <IconButton variant="secondary" icon={IconComponent} label={getLabel()} onPress={() => onItemPressed(onPress2)} maxFontSizeMultiplier={2} />;
|
|
}
|
|
return <View key={type} style={{
|
|
maxWidth: 76 * fontScale
|
|
}}>{r29}</View>;
|
|
})}
|
|
</ScrollView>
|
|
</GestureDetector>;
|
|
});
|
|
export default r44;
|