AdminUser.jsx 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. import React from 'react'
  2. import {
  3. Delimiter,
  4. PageWrapper,
  5. PageTitle,
  6. PageContent,
  7. BtnSwitch
  8. } from 'tracim_frontend_lib'
  9. import AddMemberForm from './AddMemberForm.jsx'
  10. // import { translate } from 'react-i18next'
  11. export class AdminUser extends React.Component {
  12. constructor (props) {
  13. super(props)
  14. this.state = {
  15. displayAddMember: false
  16. }
  17. }
  18. handleToggleAddMember = () => this.setState(prevState => ({
  19. displayAddMember: !prevState.displayAddMember
  20. }))
  21. render () {
  22. return (
  23. <PageWrapper customClass='adminUserPage'>
  24. <PageTitle
  25. parentClass={'adminUserPage'}
  26. title={"Member's management"}
  27. />
  28. <PageContent parentClass='adminUserPage'>
  29. <div className='adminUserPage__description'>
  30. On this page you can manage the members of your instance Tracim.
  31. </div>
  32. <div className='adminUserPage__adduser'>
  33. <button className='adminUserPage__adduser__button btn' onClick={this.handleToggleAddMember}>
  34. Add a member
  35. </button>
  36. {this.state.displayAddMember &&
  37. <AddMemberForm />
  38. }
  39. </div>
  40. <Delimiter customClass={'adminUserPage__delimiter'} />
  41. <div className='adminUserPage__table'>
  42. <table className='table'>
  43. <thead>
  44. <tr>
  45. <th scope='col'>Active</th>
  46. <th scope='col'>Member</th>
  47. <th scope='col'>Email</th>
  48. <th scope='col'>Member can create workspace</th>
  49. <th scope='col'>Administrator</th>
  50. </tr>
  51. </thead>
  52. <tbody>
  53. <tr>
  54. <td>
  55. <BtnSwitch />
  56. </td>
  57. <th scope='row'>Joe Delavaiga</th>
  58. <td><a href='#'>joedelavaiga@mail.com</a></td>
  59. <td>
  60. <BtnSwitch />
  61. </td>
  62. <td>
  63. <BtnSwitch />
  64. </td>
  65. </tr>
  66. <tr>
  67. <td>
  68. <BtnSwitch />
  69. </td>
  70. <th scope='row'>Susie Washington</th>
  71. <td><a href='#'>susiewash@mail.com</a></td>
  72. <td>
  73. <BtnSwitch />
  74. </td>
  75. <td>
  76. <BtnSwitch />
  77. </td>
  78. </tr>
  79. <tr>
  80. <td>
  81. <BtnSwitch />
  82. </td>
  83. <th scope='row'>Marty MacJoe</th>
  84. <td><a href='#'>martymac@mail.com</a></td>
  85. <td>
  86. <BtnSwitch />
  87. </td>
  88. <td>
  89. <BtnSwitch />
  90. </td>
  91. </tr>
  92. <tr>
  93. <td>
  94. <BtnSwitch />
  95. </td>
  96. <th scope='row'>Joe Delavaiga</th>
  97. <td><a href='#'>joedelavaiga@mail.com</a></td>
  98. <td>
  99. <BtnSwitch />
  100. </td>
  101. <td>
  102. <BtnSwitch />
  103. </td>
  104. </tr>
  105. <tr>
  106. <td>
  107. <BtnSwitch />
  108. </td>
  109. <th scope='row'>Susie Washington</th>
  110. <td><a href='#'>susiewash@mail.com</a></td>
  111. <td>
  112. <BtnSwitch />
  113. </td>
  114. <td>
  115. <BtnSwitch />
  116. </td>
  117. </tr>
  118. <tr>
  119. <td>
  120. <BtnSwitch />
  121. </td>
  122. <th scope='row'>Marty MacJoe</th>
  123. <td><a href='#'>martymac@mail.com</a></td>
  124. <td>
  125. <BtnSwitch />
  126. </td>
  127. <td>
  128. <BtnSwitch />
  129. </td>
  130. </tr>
  131. </tbody>
  132. </table>
  133. </div>
  134. </PageContent>
  135. </PageWrapper>
  136. )
  137. }
  138. }
  139. export default AdminUser