2022-04-22 07:13:22 -05:00
|
|
|
import '../styles/List.css';
|
2022-05-27 08:03:01 -05:00
|
|
|
import LazyLoad from 'react-lazyload';
|
2022-06-02 13:30:51 -05:00
|
|
|
import ViewArchived from './ViewArchived';
|
|
|
|
import deleteEntity from '../modules/deleteEntity';
|
2022-04-16 12:50:42 -05:00
|
|
|
|
2022-05-26 11:15:07 -05:00
|
|
|
const List = ({data, reFetch}) => {
|
2022-04-16 12:50:42 -05:00
|
|
|
return (
|
2022-05-26 11:15:07 -05:00
|
|
|
<div className="list">
|
2022-06-03 02:26:19 -05:00
|
|
|
{/* eslint-disable-next-line */}
|
2022-04-16 12:50:42 -05:00
|
|
|
{data.map((e, i) => {
|
2022-04-22 07:13:22 -05:00
|
|
|
try {
|
2022-05-26 11:15:07 -05:00
|
|
|
const url = new URL(e.link);
|
|
|
|
const favicon = 'http://www.google.com/s2/favicons?domain=' + url.hostname;
|
2022-06-03 02:26:19 -05:00
|
|
|
return (<LazyLoad key={i} height={200} offset={200}>
|
2022-05-27 08:03:01 -05:00
|
|
|
<div className="list-row">
|
|
|
|
<div className="img-content-grp">
|
2022-06-03 02:26:19 -05:00
|
|
|
<img alt='' src={favicon} />
|
2022-05-27 08:03:01 -05:00
|
|
|
<div className="list-entity-content">
|
2022-06-02 13:30:51 -05:00
|
|
|
<div className='row-name'>
|
2022-06-03 02:26:19 -05:00
|
|
|
<span className="num">{i + 1}.</span> {e.name} <a target="_blank" rel="noreferrer" href={e.link}>({url.hostname})</a>
|
2022-06-02 13:30:51 -05:00
|
|
|
</div>
|
2022-05-27 08:03:01 -05:00
|
|
|
<div>{e.title}</div>
|
2022-05-27 11:41:51 -05:00
|
|
|
<div className="tags">
|
|
|
|
{e.tag.map((e, i) => {
|
2022-06-03 02:26:19 -05:00
|
|
|
return (<div key={i}>{e}</div>)
|
2022-05-27 11:41:51 -05:00
|
|
|
})}
|
|
|
|
</div>
|
2022-05-27 08:03:01 -05:00
|
|
|
</div>
|
2022-05-26 11:15:07 -05:00
|
|
|
</div>
|
2022-06-02 13:30:51 -05:00
|
|
|
<div className='options'>
|
|
|
|
<ViewArchived className='view-archived' id={e._id} />
|
|
|
|
<div className="delete" onClick={() => deleteEntity(e._id, reFetch)}></div>
|
|
|
|
</div>
|
2022-05-26 11:15:07 -05:00
|
|
|
</div>
|
2022-06-03 02:26:19 -05:00
|
|
|
</LazyLoad>)
|
2022-04-22 07:13:22 -05:00
|
|
|
} catch (e) {
|
2022-05-26 11:15:07 -05:00
|
|
|
console.log(e);
|
2022-04-22 07:13:22 -05:00
|
|
|
}
|
2022-04-16 12:50:42 -05:00
|
|
|
})}
|
2022-05-26 11:15:07 -05:00
|
|
|
</div>
|
2022-04-16 12:50:42 -05:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default List
|