errors-list.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import React from "react"
  2. export default class extends React.Component {
  3. render() {
  4. return (
  5. <div className="modal-dialog" role="document">
  6. <div className="modal-content">
  7. <div className="modal-header">
  8. <button
  9. aria-label={pgettext("modal", "Close")}
  10. className="close"
  11. data-dismiss="modal"
  12. type="button"
  13. >
  14. <span aria-hidden="true">&times;</span>
  15. </button>
  16. <h4 className="modal-title">{gettext("Threads moderation")}</h4>
  17. </div>
  18. <div className="modal-body">
  19. <p className="lead">
  20. {gettext("One or more threads could not be deleted:")}
  21. </p>
  22. <ul className="list-unstyled list-errored-items">
  23. {this.props.errors.map((item) => {
  24. return (
  25. <ThreadErrors
  26. errors={item.errors}
  27. key={item.thread.id}
  28. thread={item.thread}
  29. />
  30. )
  31. })}
  32. </ul>
  33. </div>
  34. </div>
  35. </div>
  36. )
  37. }
  38. }
  39. export function ThreadErrors({ errors, thread }) {
  40. return (
  41. <li>
  42. <h5>{thread.title}</h5>
  43. {errors.map((message, i) => {
  44. return <p>{message}</p>
  45. })}
  46. </li>
  47. )
  48. }