All files / client/components/Notification ListView.tsx

0% Statements 0/4
0% Branches 0/4
0% Functions 0/2
0% Lines 0/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
import React from 'react'
import styled from 'styled-components'
import Notification from './Notification'
import NullNotification from './NullNotification'
import Icon from '../Common/Icon'
import { Notification as NotificationType } from 'client/types/crowi'
 
const NotificationList = styled.ul`
  margin: 0;
  padding: 0;
`
 
interface Props {
  loaded: boolean
  notifications: NotificationType[]
  notificationClickHandler: Function
}
 
export default class ListView extends React.Component<Props> {
  render() {
    const { loaded, notifications, notificationClickHandler } = this.props
 
    return (
      <NotificationList>
        {!loaded ? (
          <Icon name="loading" spin />
        ) : notifications.length <= 0 ? (
          <NullNotification />
        ) : (
          notifications.map(notification => <Notification key={notification._id} notification={notification} onClick={notificationClickHandler} />)
        )}
      </NotificationList>
    )
  }
}