50 lines
2.1 KiB
TypeScript
50 lines
2.1 KiB
TypeScript
// Metro module 14968 (f14969).
|
|
import { View } from "react-native";
|
|
import PresenceStore from "../../../stores/PresenceStore";
|
|
import RelationshipStore from "../../../stores/RelationshipStore";
|
|
import { StatusTypes } from "../../../Constants";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { useStateFromStores } from "../../../_bundle/Module589";
|
|
import { Text } from "../../../design/components/Text/native/Text";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { HomeDrawerSharedItem } from "./HomeDrawerShared";
|
|
import { MobileHomeDrawerExperiment } from "./HomeDrawerExperiment";
|
|
import useChatLayout from "../../chat/native/useChatLayout";
|
|
let useStyles;
|
|
const HomeDrawerDMsRow = function HomeDrawerDMsRow() {
|
|
const styles = useStyles();
|
|
const stateFromStores = useStateFromStores([RelationshipStore, PresenceStore], () => RelationshipStore.getFriendIDs().filter((item) => PresenceStore.getStatus(item) !== StatusTypes.OFFLINE).length);
|
|
const subtitle = stateFromStores > 0 ? <View style={styles.subtitle}>
|
|
<View style={styles.onlineDot} />
|
|
<Text variant="text-xs/medium" color="text-muted" lineClamp={1}>
|
|
{intl.format(t.N5UIKr, {
|
|
numFriends: stateFromStores
|
|
})}
|
|
</Text>
|
|
</View> : null;
|
|
return <HomeDrawerSharedItem title={<Text variant="text-md/medium" color="text-default" lineClamp={1}>
|
|
{intl.string(t.YUU0RF)}
|
|
</Text>} subtitle={subtitle} />;
|
|
};
|
|
useStyles = createStyles({
|
|
subtitle: {
|
|
flexDirection: "row",
|
|
alignItems: "center",
|
|
gap: 4
|
|
},
|
|
onlineDot: {
|
|
width: 8,
|
|
height: 8,
|
|
borderRadius: Module712.radii.round,
|
|
backgroundColor: Module712.colors.TEXT_STATUS_ONLINE
|
|
}
|
|
});
|
|
export default function HomeDrawerDMsRowWrapper() {
|
|
const enableHome = MobileHomeDrawerExperiment.useConfig({
|
|
location: "dm-expanded-children"
|
|
}).enableHome;
|
|
const isChatBesideChannelList = useChatLayout().isChatBesideChannelList;
|
|
return enableHome ? isChatBesideChannelList ? null : <HomeDrawerDMsRow /> : null;
|
|
};
|