allUsers.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. import {connect} from "react-redux";
  2. import {Link} from "react-router-dom";
  3. import {actionUserFind} from "../actions";
  4. import {store} from "../reducers";
  5. const defaultPlaylists = [
  6. {
  7. "_id": "5fe25a677aa9837fd3e741d9",
  8. "owner": {
  9. "login": "123"
  10. },
  11. "tracks": null
  12. },
  13. {
  14. "_id": "5ff7fddee926687ee86b0b17",
  15. "owner": {
  16. "login": "uu"
  17. },
  18. "tracks": [
  19. {
  20. "url": "track/061766012c089e677a18bd7d7fcc132a",
  21. "originalFileName": "01 - Bored.mp3"
  22. },
  23. {
  24. "url": "track/5fe385a7af766b71f1bcaefe723dfb77",
  25. "originalFileName": "03 - One Weak.mp3"
  26. }
  27. ]
  28. },
  29. {
  30. "_id": "5ff7ff36e926687ee86b0b1d",
  31. "owner": {
  32. "login": "uu"
  33. },
  34. "tracks": [
  35. {
  36. "url": "track/1717d07cd1a5876b51c8e3d00c1fa123",
  37. "originalFileName": "02 - Minus Blindfold.mp3"
  38. },
  39. {
  40. "url": "track/011dc1fafb88494e2b2fcdd5408c9fc8",
  41. "originalFileName": "09 - Engine No.9.mp3"
  42. },
  43. {
  44. "url": "track/f926ed49d35036d952fb34426dbc7d0e",
  45. "originalFileName": "10 - Fireal.mp3"
  46. }
  47. ]
  48. },
  49. {
  50. "_id": "5fe0f8097aa9837fd3e74192",
  51. "owner": {
  52. "login": "Windforce"
  53. },
  54. "tracks": [
  55. {
  56. "url": "track/a37387adcf96795d5a49d4d7e09c0472",
  57. "originalFileName": "01-Cluster One.mp3"
  58. },
  59. {
  60. "url": "track/3164a657cf44dd734344ed3ebcde625f",
  61. "originalFileName": "Роман, заставь его надеть пиджак!.mp3"
  62. },
  63. {
  64. "url": "track/4685efea193d2d48d5ac56fc2ab767d8",
  65. "originalFileName": "07-Take It Back.mp3"
  66. },
  67. {
  68. "url": "track/59e061cc86750556dfae0f83708da571",
  69. "originalFileName": "10-Lost For Words.mp3"
  70. }
  71. ]
  72. },
  73. {
  74. "_id": "5fe35ffbe926687ee86b0a5c",
  75. "owner": {
  76. "login": "newUser"
  77. },
  78. "tracks": [
  79. {
  80. "url": "track/9251ba5dd154807fb10fe0d9dfe4c804",
  81. "originalFileName": "01 - God Loves Only You.mp3"
  82. },
  83. {
  84. "url": "track/a9c945eebf4cd5e829c470f8f0672ddf",
  85. "originalFileName": "03 - Over The Love.mp3"
  86. },
  87. {
  88. "url": "track/57cd3b9b7cb7d6f216c07fb46374fce5",
  89. "originalFileName": "04 - Talk Too Much.mp3"
  90. },
  91. {
  92. "url": "track/b1b2c99969d210f3d70f5f1fad651732",
  93. "originalFileName": "07 - You'Re Too Expensive.mp3"
  94. },
  95. {
  96. "url": "track/a8d8330e2c4ddfa00db8f285d6f7ec0b",
  97. "originalFileName": "08 - My Love Will Fall.mp3"
  98. },
  99. {
  100. "url": "track/9a6f3d3c2039a5f3e15a367f5f2a3675",
  101. "originalFileName": "10 - Feeling The Itch.mp3"
  102. },
  103. {
  104. "url": "track/2fc841aff4003b3dd4d0c814f1f9651d",
  105. "originalFileName": "11 - You Can't Always Do What You Like.mp3"
  106. }
  107. ]
  108. },]
  109. const User = ({playlist:{_id, login}={}}) =>
  110. <li><Link to={`/user/${_id}`}>{login}</Link></li>
  111. const AllUsers = ({playlists=defaultPlaylists}) =>{
  112. return (
  113. <div>
  114. <h3>Плейлисты ползователей</h3>
  115. <ul className='Users'>
  116. {playlists.map(playlist => <User playlist={playlist}/> )}
  117. </ul>
  118. </div>
  119. )
  120. }
  121. export const CAllUsers = connect(state => ({playlists: state.promise.userFind?.payload || []}))
  122. (AllUsers)
  123. store.dispatch(actionUserFind())