TableLaporan.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import Datatable from "@/components/Tables/Datatable";
  2. import { Button } from "reactstrap";
  3. import Link from "next/link";
  4. import moment from "moment";
  5. function TableLaporan({ listData, to, linkName, status = false }) {
  6. return (
  7. <div className="card b">
  8. <div className="card-body">
  9. <Datatable options={{ responsive: true }}>
  10. <table className="table w-100">
  11. <thead>
  12. <tr>
  13. <th>#ID</th>
  14. <th>Deskripsi Laporan</th>
  15. {status ? <th>Status</th> : ""}
  16. <th>Created</th>
  17. <th></th>
  18. </tr>
  19. </thead>
  20. <tbody>
  21. {listData.map((data) => {
  22. return (
  23. <tr key={data._id}>
  24. <td>{data._number}</td>
  25. <td className="text-nowrap">
  26. <div className="media align-items-center">
  27. <div className="media-body d-flex">
  28. <div>
  29. <h4 className="m-0">Universitas Satyagama</h4>
  30. <p>{data.description}</p>
  31. </div>
  32. </div>
  33. </div>
  34. </td>
  35. {status ? <td>{data.status}</td> : ""}
  36. <td>{moment(data.createdAt).fromNow()}</td>
  37. <td>
  38. <div className="ml-auto">
  39. <Link
  40. href={{
  41. pathname: to,
  42. query: { ptId: data.pt_id, number: data._number },
  43. }}
  44. >
  45. <Button color="primary" size="sm">
  46. {linkName}
  47. </Button>
  48. </Link>
  49. </div>
  50. </td>
  51. </tr>
  52. );
  53. })}
  54. </tbody>
  55. </table>
  56. </Datatable>
  57. </div>
  58. </div>
  59. );
  60. }
  61. export default TableLaporan;