Files
discord-decomp/modules/collectibles/native/LimitedTimeBadge.tsx
T
2026-11-01 12:12:55 +02:00

68 lines
2.3 KiB
TypeScript

// Metro module 8704 (f8705).
import { View } from "react-native";
import LocaleStore from "../../user_settings/LocaleStore";
import ThemeStore from "../../user_settings/ThemeStore";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { intl, t } from "../../../intl/index.native";
import { useStateFromStores } from "../../../_bundle/Module589";
import { isThemeDark } from "../../../design/shared";
import useCountdown from "../../../hooks/useCountdown";
import { Text } from "../../../design/components/Text/native/Text";
const useStyles = createStyles({
root: {
borderRadius: Module712.radii.md,
paddingHorizontal: 8,
paddingVertical: 2
},
backgroundDarkMode: {
backgroundColor: Module712.colors.WHITE
},
backgroundLightMode: {
backgroundColor: Module712.colors.BACKGROUND_MOD_STRONG
}
});
export default function LimitedTimeBadge(props) {
let r50, r82;
const { unpublishedAt, style } = props;
const styles = useStyles();
const stateFromStores = useStateFromStores([ThemeStore], () => isThemeDark(ThemeStore.theme));
const r35 = ["en-US", "en-GB"].includes(useStateFromStores([LocaleStore], () => LocaleStore.locale));
const countdown = useCountdown(unpublishedAt, 1000, void 0, true);
const { days, hours } = countdown;
if (r35) {
L14: {
if (days > 1) {
r82 = intl.formatToPlainString(t.DkxLY0, {
days
});
} else {
if (days <= 1 && hours > 0) {
r82 = intl.formatToPlainString(t.WJieZ2, {
hours
});
break L14;
}
r82 = intl.formatToPlainString(t.WJieZ2, {
hours: 0
});
}
}
r50 = r82;
} else {
r50 = days + intl.string(t.QJyuxY);
let r60 = hours + intl.string(t["1LyF1h"]);
if (!(days > 1)) {
if (!(days <= 1 && hours > 0)) {
r60 = "0" + intl.string(t["1LyF1h"]);
}
r50 = r60;
}
}
return <View style={[styles.root, stateFromStores ? styles.backgroundDarkMode : styles.backgroundLightMode, style]}>
<Text color={stateFromStores ? "text-overlay-dark" : "text-overlay-light"} variant="text-xs/bold" accessibilityLabel={intl.formatToPlainString(t.TlZULM, {
daysLeft: days
})} allowFontScaling={false}>{r50}</Text>
</View>;
};