// Metro module 10187 (f10188). import { useRef } from "react"; import { Image as Image2, View } from "react-native"; import { UPLOAD_MEDIUM_SIZE } from "../../Constants"; import { createStyles } from "../../design/components/Styles/native/createStyles"; import UploadUtils from "../../utils/native/UploadUtils"; import GuildIcon, { GuildIconSizes } from "../../modules/guild/native/GuildIcon"; import { makeSource } from "../../utils/AvatarUtils"; import Module10188 from "../../_bundle/Module10188"; import { PressableOpacity } from "../../design/void/Pressables/native/Pressables"; import { intl, t } from "../../intl/index.native"; const useStyles = createStyles({ uploadIcon: { position: "absolute", right: -7, top: -7 }, avatar: { height: 64, width: 64, borderRadius: 32 } }); export default function IconUploader(props) { const { disabled = false, makeURL = (a0) => {}, type = "avatar" } = props; let ref; const { name, icon, onUpload, style, iconStyle, onChangeIconPress } = props; ref = void 0; let _handleChangeIcon2 = function _handleChangeIcon() { const r9 = async () => { let c30203_1; let c31523_0; L18: { c30203_1 = void 0; c31523_0 = void 0; if (onChangeIconPress != null) { onChangeIconPress(); } if (ref.current) { break L18; } ref.current = true; c31523_0 = (await UploadUtils.openImagePicker({ size: UPLOAD_MEDIUM_SIZE })).base64; if (c31523_0 != null) { if (onUpload != null) { onUpload(c31523_0); } } ref.current = false; return void 0; } }; _handleChangeIcon2 = r9; return r9.apply(this, arguments); }; const styles = useStyles(); ref = useRef(false); const icon2 = icon != null ? /^data:/.test(icon) ? icon : makeURL(icon) : makeURL(icon); const r64 = <> {type === "guild" ? icon == null && name == null ? void 0 : : } {disabled ? null : } ; return disabled ? r64 : {r64} ; };