TableLaporan.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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 ? (
  36. <td>
  37. <div className="badge badge-info">{data.status}</div>
  38. </td>
  39. ) : (
  40. ""
  41. )}
  42. <td>{moment(data.createdAt).fromNow()}</td>
  43. <td>
  44. <div className="ml-auto">
  45. <Link
  46. href={{
  47. pathname: to,
  48. query: { ptId: data.pt_id, number: data._number },
  49. }}
  50. >
  51. <Button color="primary" size="sm">
  52. {linkName}
  53. </Button>
  54. </Link>
  55. </div>
  56. </td>
  57. </tr>
  58. );
  59. })}
  60. </tbody>
  61. </table>
  62. </Datatable>
  63. </div>
  64. </div>
  65. );
  66. }
  67. export default TableLaporan;