68 lines
2.3 KiB
TypeScript
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>;
|
|
};
|