skolplattformen-backup/packages/app/components/notification.component.js

45 lines
1.1 KiB
JavaScript
Raw Normal View History

import { Card, Text } from '@ui-kitten/components'
import { DateTime } from 'luxon'
import React, { useState } from 'react'
import { StyleSheet, View } from 'react-native'
import { ModalWebView } from './modalWebView.component'
2021-01-26 11:02:24 +00:00
export const Notification = ({ item }) => {
2021-01-26 11:02:24 +00:00
const [isOpen, setIsOpen] = useState(false)
const open = () => setIsOpen(true)
const close = () => setIsOpen(false)
const displayDate = DateTime.fromISO(item.dateCreated).toRelative({
locale: 'sv',
})
2021-01-26 11:02:24 +00:00
return (
<>
<Card
style={styles.card}
onPress={open}
header={(headerProps) => (
<View {...headerProps}>
<Text category="h6">{item.sender}</Text>
<Text category="s1">
{item.category ? item.category : ''}
{item.category && displayDate ? ' ' : ''}
{displayDate ? `(${displayDate})` : ''}
</Text>
2021-01-26 11:02:24 +00:00
</View>
)}
>
<Text>{item.message}</Text>
2021-01-26 11:02:24 +00:00
</Card>
{isOpen && <ModalWebView url={item.url} onClose={close} />}
2021-01-26 11:02:24 +00:00
</>
)
}
const styles = StyleSheet.create({
card: {
flex: 1,
margin: 2,
},
})