Files
notesnook/apps/mobile/app/components/announcements/announcement.js

48 lines
1.5 KiB
JavaScript
Raw Normal View History

2021-11-23 15:06:35 +05:00
import React from 'react';
2022-01-22 12:57:05 +05:00
import { FlatList, View } from 'react-native';
2022-04-24 05:59:14 +05:00
import { useSelectionStore } from '../../stores/use-selection-store';
import { useMessageStore } from '../../stores/use-message-store';
import { useThemeStore } from '../../stores/use-theme-store';
2022-01-22 12:57:05 +05:00
import { allowedOnPlatform, renderItem } from './functions';
2021-11-23 15:06:35 +05:00
2022-01-22 12:57:05 +05:00
export const Announcement = ({ color }) => {
2022-02-28 23:25:18 +05:00
const colors = useThemeStore(state => state.colors);
2021-11-23 15:06:35 +05:00
const announcements = useMessageStore(state => state.announcements);
let announcement = announcements.length > 0 ? announcements[0] : null;
const selectionMode = useSelectionStore(state => state.selectionMode);
return !announcement || selectionMode ? null : (
<View
style={{
backgroundColor: colors.bg,
2022-03-10 23:23:36 +05:00
width: '100%',
paddingHorizontal: 12,
paddingTop: 12,
paddingBottom: 12
2022-01-22 12:57:05 +05:00
}}
>
2021-11-23 15:06:35 +05:00
<View
style={{
width: '100%',
borderRadius: 10,
2022-03-10 23:23:36 +05:00
overflow: 'hidden',
2022-07-19 19:09:06 +05:00
backgroundColor: colors.nav,
paddingBottom: 12
2022-01-22 12:57:05 +05:00
}}
>
2021-11-23 15:06:35 +05:00
<View>
<FlatList
style={{
2021-11-23 18:35:44 +05:00
width: '100%',
2022-03-10 23:23:36 +05:00
marginTop: 12
2021-11-23 15:06:35 +05:00
}}
2022-01-22 12:57:05 +05:00
data={announcement?.body.filter(item => allowedOnPlatform(item.platforms))}
renderItem={({ item, index }) =>
renderItem({ item: item, index: index, color: colors[color], inline: true })
2021-11-23 15:06:35 +05:00
}
/>
</View>
</View>
</View>
);
};