65 lines
3.1 KiB
TypeScript
65 lines
3.1 KiB
TypeScript
// Metro module 15004 (f15005).
|
|
import { memo, useMemo } from "react";
|
|
import { GUILD_ITEM_BADGE_SIZE } from "./GuildsBarConstants";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import computeGuildsBarCutout from "./utils/computeGuildsBarCutout";
|
|
import MobileVisualRefreshExperiment from "../../themes/experiments/MobileVisualRefreshExperiment";
|
|
import GuildsBarAnimatedItemWrapper, { useGuildsBarAnimatedWrapperStyles } from "./GuildsBarAnimatedItemWrapper";
|
|
import AvatarUtils from "../../../utils/AvatarUtils";
|
|
import GuildIcon, { ImageSizes, GuildIconSizes } from "../../guild/native/GuildIcon";
|
|
import AlertActionCreators from "../../../actions/AlertActionCreators";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import GuildSettingsActionCreators from "../../guild_settings/GuildSettingsActionCreators";
|
|
import GuildsBarGeoRestrictedBadge from "./GuildsBarGeoRestrictedBadge";
|
|
import HomeDrawerGuildRow from "../../home_drawer/native/HomeDrawerGuildRow";
|
|
import FastImage from "../../../components_native/common/FastImage";
|
|
const useStyles = createStyles({
|
|
guildIcon: {
|
|
width: Module712.modules.mobile.GUILD_BAR_ITEM_SIZE,
|
|
height: Module712.modules.mobile.GUILD_BAR_ITEM_SIZE
|
|
},
|
|
geoRestrictedBadge: {
|
|
borderColor: "transparent",
|
|
width: GUILD_ITEM_BADGE_SIZE,
|
|
height: GUILD_ITEM_BADGE_SIZE,
|
|
bottom: 4,
|
|
right: 12
|
|
}
|
|
});
|
|
const cutouts = [computeGuildsBarCutout({
|
|
position: "bottom-right"
|
|
})];
|
|
const r45 = memo(function GuildsBarGeoRestrictedGuild(props) {
|
|
const restrictedGuild = props.restrictedGuild;
|
|
const r15 = MobileVisualRefreshExperiment("GuildsBarGeoRestrictedGuild");
|
|
const styles = useStyles();
|
|
const styles2 = useGuildsBarAnimatedWrapperStyles({
|
|
disableSelectedColor: true,
|
|
disableBGColor: true
|
|
});
|
|
const source = restrictedGuild.icon != null ? AvatarUtils.getAnimatableSourceWithFallback(false, (a0) => AvatarUtils.getGuildIconSource({
|
|
id: restrictedGuild.id,
|
|
size: ImageSizes[GuildIconSizes.LARGE],
|
|
icon: restrictedGuild.icon,
|
|
canAnimate: a0
|
|
})) : null;
|
|
return <GuildsBarAnimatedItemWrapper selected={false} unread={false} circle={!r15} styles={styles2} label={restrictedGuild.name} isDragTarget={false} config={useMemo(() => ({
|
|
onPress: () => {
|
|
AlertActionCreators.show({
|
|
title: intl.string(t.aCAiGl),
|
|
body: intl.format(t["4cJV9S"], {
|
|
serverName: restrictedGuild.name
|
|
}),
|
|
cancelText: intl.string(t.J2TBi3),
|
|
onCancel: () => {
|
|
GuildSettingsActionCreators.leaveGuild(restrictedGuild.id);
|
|
}
|
|
});
|
|
}
|
|
}), [restrictedGuild.id, restrictedGuild.name])} cutouts={cutouts} overState={void 0} externalChildren={<GuildsBarGeoRestrictedBadge style={styles.geoRestrictedBadge} />} expandedChildren={<HomeDrawerGuildRow guildId={restrictedGuild.id} />}>
|
|
{source != null ? <FastImage source={source} style={styles.guildIcon} fadeDuration={0} /> : <GuildIcon value={restrictedGuild.name} selected={false} animate={false} size={GuildIconSizes.LARGE} />}
|
|
</GuildsBarAnimatedItemWrapper>;
|
|
});
|
|
export default r45;
|