103 lines
4.1 KiB
TypeScript
103 lines
4.1 KiB
TypeScript
// Metro module 11616 (f11617).
|
|
import { View } from "react-native";
|
|
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
|
|
import { CircleCheckIcon } from "../../../../design/components/Icon/native/redesign/generated/CircleCheckIcon";
|
|
import Module712 from "../../../../_bundle/Module712";
|
|
import { Text } from "../../../../design/components/Text/native/Text";
|
|
import { CircleErrorIcon } from "../../../../design/components/Icon/native/redesign/generated/CircleErrorIcon";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import GuildPowerups_messages from "../GuildPowerups.messages";
|
|
import entitlementExpirationDateToString from "../utils/entitlementExpirationDateToString";
|
|
import getGuildPowerupFormattedDateString from "../utils/getGuildPowerupFormattedDateString";
|
|
import { BoostGemIcon } from "../../../../design/components/Icon/native/redesign/generated/BoostGemIcon";
|
|
let useStyles, GuildPowerupCardFooterExpiring, GuildPowerupCardFooterRemoving, GuildPowerupCardFooterStatus, GuildPowerupCardFooterCost;
|
|
const GuildPowerupCardFooterActive = function GuildPowerupCardFooterActive(props) {
|
|
const text = props.text;
|
|
return <View style={useStyles().inline}>
|
|
<CircleCheckIcon size="xs" color={Module712.colors.STATUS_POSITIVE} />
|
|
<Text color="status-positive" variant="text-sm/bold">{text}</Text>
|
|
</View>;
|
|
};
|
|
GuildPowerupCardFooterExpiring = function GuildPowerupCardFooterExpiring(props) {
|
|
const dateString = props.dateString;
|
|
return <View style={useStyles().inline}>
|
|
<CircleErrorIcon size="xs" color={Module712.colors.STATUS_WARNING} />
|
|
<Text color="text-feedback-warning" variant="text-sm/bold">
|
|
{intl.formatToMarkdownString(GuildPowerups_messages["ol/ao/"], {
|
|
dateString: entitlementExpirationDateToString(dateString)
|
|
})}
|
|
</Text>
|
|
</View>;
|
|
};
|
|
GuildPowerupCardFooterRemoving = function GuildPowerupCardFooterRemoving(props) {
|
|
const removingAt = props.removingAt;
|
|
return <View style={useStyles().inline}>
|
|
<CircleErrorIcon size="xs" color={Module712.colors.STATUS_WARNING} />
|
|
<Text color="text-feedback-warning" variant="text-sm/bold">
|
|
{intl.formatToPlainString(GuildPowerups_messages["6e2ry1"], {
|
|
dateString: getGuildPowerupFormattedDateString(removingAt)
|
|
})}
|
|
</Text>
|
|
</View>;
|
|
};
|
|
GuildPowerupCardFooterStatus = function GuildPowerupCardFooterStatus(props) {
|
|
const status = props.status;
|
|
if (status == null) {
|
|
return null;
|
|
}
|
|
const type = status.type;
|
|
if (type === "expiring") {
|
|
return <GuildPowerupCardFooterExpiring dateString={status.expiringAt} />;
|
|
}
|
|
if (type === "removing") {
|
|
return <GuildPowerupCardFooterRemoving removingAt={status.removingAt} />;
|
|
}
|
|
if (type === "active") {
|
|
return <GuildPowerupCardFooterActive text={status.statusText} />;
|
|
}
|
|
};
|
|
GuildPowerupCardFooterCost = function GuildPowerupCardFooterCost(props) {
|
|
const cost = props.cost;
|
|
let costDecorator = props.costDecorator;
|
|
const styles = useStyles();
|
|
const r2 = cost == null;
|
|
let r17 = null;
|
|
if (!r2) {
|
|
const r27 = [<BoostGemIcon size="sm" color={Module712.unsafe_rawColors.GUILD_BOOSTING_PINK} />, ,];
|
|
const t2Wbo1 = t.t2Wbo1;
|
|
if (costDecorator == null) {
|
|
costDecorator = "";
|
|
}
|
|
r27[1] = <Text variant="heading-sm/semibold" color="text-subtle">
|
|
{intl.formatToPlainString(t2Wbo1, {
|
|
required: cost,
|
|
decorator: costDecorator
|
|
})}
|
|
</Text>;
|
|
r17 = <View style={styles.inline}>{r27}</View>;
|
|
}
|
|
return r17;
|
|
};
|
|
useStyles = createStyles({
|
|
container: {
|
|
justifyContent: "space-between"
|
|
},
|
|
inline: {
|
|
flexDirection: "row",
|
|
alignItems: "center",
|
|
gap: 2
|
|
}
|
|
});
|
|
export { GuildPowerupCardFooterActive };
|
|
export { GuildPowerupCardFooterExpiring };
|
|
export { GuildPowerupCardFooterRemoving };
|
|
export { GuildPowerupCardFooterStatus };
|
|
export { GuildPowerupCardFooterCost };
|
|
export function GuildPowerupsCardFooter(props) {
|
|
const styles = useStyles();
|
|
return <View style={[styles.inline, styles.container, props.style]}>
|
|
<GuildPowerupCardFooterCost cost={props.cost} costDecorator={props.costDecorator} />
|
|
<GuildPowerupCardFooterStatus status={props.status} />
|
|
</View>;
|
|
}
|