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

42 lines
1.0 KiB
JavaScript
Raw Normal View History

import React, {useState} from 'react'
import {Card, Text} from '@ui-kitten/components'
import {StyleSheet, View} from 'react-native'
import {ModalWebView} from './modalWebView.component'
import {DateTime} from 'luxon'
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} ` : ''}({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,
},
})