2021-02-17 20:19:18 +00:00
|
|
|
import { useNotifications } from '@skolplattformen/api-hooks'
|
2021-02-15 12:33:47 +00:00
|
|
|
import { List } from '@ui-kitten/components'
|
2021-02-17 20:19:18 +00:00
|
|
|
import React, { useEffect, useState } from 'react'
|
2021-02-15 12:33:47 +00:00
|
|
|
import { StyleSheet } from 'react-native'
|
2021-02-17 20:19:18 +00:00
|
|
|
import { useChild } from './childContext.component'
|
2021-02-15 12:33:47 +00:00
|
|
|
import { Notification } from './notification.component'
|
2021-01-26 11:02:24 +00:00
|
|
|
|
2021-02-17 20:19:18 +00:00
|
|
|
export const NotificationsList = () => {
|
|
|
|
const child = useChild()
|
|
|
|
const { data, status, reload } = useNotifications(child)
|
|
|
|
const [refreshing, setRefreshing] = useState(status === 'loading')
|
|
|
|
useEffect(() => {
|
|
|
|
setRefreshing(status === 'loading')
|
|
|
|
}, [status])
|
|
|
|
|
|
|
|
const refresh = () => reload()
|
2021-01-26 11:02:24 +00:00
|
|
|
return (
|
|
|
|
<List
|
2021-02-17 20:19:18 +00:00
|
|
|
refreshing={refreshing}
|
2021-01-26 11:02:24 +00:00
|
|
|
style={styles.container}
|
|
|
|
contentContainerStyle={styles.contentContainer}
|
2021-02-17 20:19:18 +00:00
|
|
|
data={data}
|
2021-01-26 11:02:24 +00:00
|
|
|
renderItem={(info) => (
|
|
|
|
<Notification key={info.item.id} item={info.item} />
|
2021-02-07 16:14:45 +00:00
|
|
|
)}
|
|
|
|
/>
|
2021-01-26 11:02:24 +00:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
const styles = StyleSheet.create({
|
2021-01-26 12:39:22 +00:00
|
|
|
container: {
|
2021-02-10 10:08:17 +00:00
|
|
|
height: '100%',
|
2021-02-07 16:14:45 +00:00
|
|
|
width: '100%',
|
2021-01-26 12:39:22 +00:00
|
|
|
},
|
2021-01-26 11:02:24 +00:00
|
|
|
contentContainer: {
|
2021-02-10 10:08:17 +00:00
|
|
|
padding: 10,
|
2021-02-07 16:14:45 +00:00
|
|
|
},
|
2021-01-26 11:02:24 +00:00
|
|
|
})
|