@openneuro/app 4.5.0 → 4.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/package.json +5 -5
  2. package/src/scripts/{refactor_2021/authentication → authentication}/__tests__/profile.spec.js +0 -0
  3. package/src/scripts/{refactor_2021/authentication → authentication}/admin-user.jsx +0 -0
  4. package/src/scripts/{refactor_2021/authentication → authentication}/logged-in.jsx +0 -0
  5. package/src/scripts/{refactor_2021/authentication → authentication}/logged-out.jsx +0 -0
  6. package/src/scripts/{refactor_2021/authentication → authentication}/loginCheck.js +0 -0
  7. package/src/scripts/{refactor_2021/authentication → authentication}/loginUrls.ts +1 -1
  8. package/src/scripts/{refactor_2021/authentication → authentication}/profile.js +0 -0
  9. package/src/scripts/{refactor_2021/authentication → authentication}/signOut.ts +0 -0
  10. package/src/scripts/{refactor_2021/authentication → authentication}/withProfile.jsx +0 -0
  11. package/src/scripts/{refactor_2021/common → common}/block-navigation.jsx +0 -0
  12. package/src/scripts/{refactor_2021 → common}/containers/footer.tsx +0 -0
  13. package/src/scripts/{refactor_2021 → common}/containers/header.tsx +17 -15
  14. package/src/scripts/{datalad/fragments → common/partials}/freshdesk-widget.jsx +1 -1
  15. package/src/scripts/datalad/dataset/dataset-query-fragments.js +2 -0
  16. package/src/scripts/{refactor_2021/dataset → dataset}/comments/__tests__/__snapshots__/comment.spec.jsx.snap +0 -0
  17. package/src/scripts/{refactor_2021/dataset → dataset}/comments/__tests__/__snapshots__/comments.spec.jsx.snap +0 -0
  18. package/src/scripts/{refactor_2021/dataset → dataset}/comments/__tests__/comment.spec.jsx +0 -0
  19. package/src/scripts/{refactor_2021/dataset → dataset}/comments/__tests__/comments.spec.jsx +0 -0
  20. package/src/scripts/{refactor_2021/dataset → dataset}/comments/block-style-controls.jsx +0 -0
  21. package/src/scripts/{refactor_2021/dataset → dataset}/comments/comment-editor.jsx +0 -0
  22. package/src/scripts/{refactor_2021/dataset → dataset}/comments/comment.jsx +0 -0
  23. package/src/scripts/{refactor_2021/dataset → dataset}/comments/comments.jsx +1 -1
  24. package/src/scripts/{refactor_2021/dataset → dataset}/comments/inline-style-controls.jsx +0 -0
  25. package/src/scripts/{refactor_2021/dataset → dataset}/comments/style-button.jsx +0 -0
  26. package/src/scripts/{refactor_2021/dataset → dataset}/dataset-query-context.js +0 -0
  27. package/src/scripts/{refactor_2021/dataset → dataset}/dataset-query.jsx +15 -15
  28. package/src/scripts/dataset/dataset-routes.jsx +39 -0
  29. package/src/scripts/{refactor_2021/dataset → dataset}/download/__tests__/__snapshots__/download-command-line.spec.jsx.snap +0 -0
  30. package/src/scripts/{refactor_2021/dataset → dataset}/download/__tests__/__snapshots__/download-link.spec.jsx.snap +0 -0
  31. package/src/scripts/{refactor_2021/dataset → dataset}/download/__tests__/__snapshots__/shell-example.spec.jsx.snap +0 -0
  32. package/src/scripts/{refactor_2021/dataset → dataset}/download/__tests__/download-command-line.spec.jsx +0 -0
  33. package/src/scripts/{refactor_2021/dataset → dataset}/download/__tests__/download-link.spec.jsx +0 -0
  34. package/src/scripts/{refactor_2021/dataset → dataset}/download/__tests__/download-native.spec.js +0 -0
  35. package/src/scripts/{refactor_2021/dataset → dataset}/download/__tests__/shell-example.spec.jsx +0 -0
  36. package/src/scripts/{refactor_2021/dataset → dataset}/download/download-command-line.jsx +0 -0
  37. package/src/scripts/{refactor_2021/dataset → dataset}/download/download-datalad.jsx +1 -1
  38. package/src/scripts/{refactor_2021/dataset → dataset}/download/download-link.jsx +0 -0
  39. package/src/scripts/{refactor_2021/dataset → dataset}/download/download-native.js +1 -1
  40. package/src/scripts/{refactor_2021/dataset → dataset}/download/download-query.js +0 -0
  41. package/src/scripts/{refactor_2021/dataset → dataset}/download/download-s3.jsx +1 -1
  42. package/src/scripts/{refactor_2021/dataset → dataset}/download/native-file-toast.jsx +0 -0
  43. package/src/scripts/{refactor_2021/dataset → dataset}/download/shell-example.jsx +0 -0
  44. package/src/scripts/{refactor_2021/dataset → dataset}/download/track-download.js +0 -0
  45. package/src/scripts/{refactor_2021/dataset → dataset}/draft-container.tsx +15 -53
  46. package/src/scripts/{refactor_2021/dataset → dataset}/draft-snapshot-routes.tsx +0 -0
  47. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/__snapshots__/file-tree.spec.jsx.snap +0 -0
  48. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/__snapshots__/file.spec.jsx.snap +2 -2
  49. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/file-tree-loading.spec.jsx +0 -0
  50. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/file-tree-unloaded-directory.spec.jsx +1 -1
  51. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/file-tree.spec.jsx +0 -0
  52. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/file-viewer-type.spec.jsx +0 -0
  53. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/file.spec.jsx +11 -4
  54. package/src/scripts/{refactor_2021/dataset → dataset}/files/__tests__/flat-to-tree.spec.js +0 -0
  55. package/src/scripts/{refactor_2021/dataset → dataset}/files/file-display.jsx +2 -2
  56. package/src/scripts/{refactor_2021/dataset → dataset}/files/file-tree-loading.jsx +0 -0
  57. package/src/scripts/{refactor_2021/dataset → dataset}/files/file-tree-unloaded-directory.jsx +1 -1
  58. package/src/scripts/{refactor_2021/dataset → dataset}/files/file-tree.jsx +3 -2
  59. package/src/scripts/{refactor_2021/dataset → dataset}/files/file-view.jsx +1 -1
  60. package/src/scripts/{refactor_2021/dataset → dataset}/files/file-viewer-type.jsx +0 -0
  61. package/src/scripts/{refactor_2021/dataset/files/file.jsx → dataset/files/file.tsx} +30 -13
  62. package/src/scripts/{refactor_2021/dataset → dataset}/files/files.jsx +1 -1
  63. package/src/scripts/{refactor_2021/dataset → dataset}/files/flat-to-tree.js +0 -0
  64. package/src/scripts/{refactor_2021/dataset → dataset}/files/index.tsx +0 -0
  65. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/__tests__/__snapshots__/file-viewer-json.spec.jsx.snap +0 -0
  66. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/__tests__/file-viewer-json.spec.jsx +0 -0
  67. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/__tests__/parse-tabular.spec.js +0 -0
  68. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/file-viewer-csv.jsx +0 -0
  69. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/file-viewer-html.jsx +0 -0
  70. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/file-viewer-json.jsx +0 -0
  71. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/file-viewer-nifti.jsx +1 -1
  72. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/file-viewer-table.jsx +0 -0
  73. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/file-viewer-text.jsx +0 -0
  74. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/file-viewer-tsv.jsx +0 -0
  75. package/src/scripts/{refactor_2021/dataset → dataset}/files/viewers/parse-tabular.js +0 -0
  76. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/__snapshots__/cancel-button.spec.tsx.snap +0 -0
  77. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/__snapshots__/edit-button.spec.tsx.snap +0 -0
  78. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/__snapshots__/edit-list.spec.jsx.snap +0 -0
  79. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/__snapshots__/save-button.spec.tsx.snap +0 -0
  80. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/__snapshots__/select-input.spec.tsx.snap +0 -0
  81. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/cancel-button.spec.tsx +0 -0
  82. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/dataset-alert-draft.spec.tsx +0 -0
  83. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/dataset-citation.spec.jsx +0 -0
  84. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/doi-link.spec.tsx +0 -0
  85. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/edit-button.spec.tsx +0 -0
  86. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/edit-list.spec.jsx +0 -0
  87. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/save-button.spec.tsx +0 -0
  88. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/__tests__/select-input.spec.tsx +0 -0
  89. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/cancel-button.tsx +0 -0
  90. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/comments-fragments.js +0 -0
  91. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/copyable-tooltip.jsx +0 -0
  92. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/dataset-alert-draft.tsx +0 -0
  93. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/dataset-alert-version.tsx +0 -0
  94. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/dataset-citation.jsx +2 -4
  95. package/src/scripts/dataset/fragments/dataset-history.jsx +99 -0
  96. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/dataset-reviewers.ts +1 -1
  97. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/doi-link.tsx +0 -0
  98. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/edit-button.tsx +0 -0
  99. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/edit-description-field.jsx +0 -0
  100. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/edit-description-list.jsx +0 -0
  101. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/edit-list.jsx +0 -0
  102. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/number-input.tsx +0 -0
  103. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/save-button.tsx +0 -0
  104. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/select-input.tsx +0 -0
  105. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/text-array-input.tsx +0 -0
  106. package/src/scripts/{refactor_2021/dataset → dataset}/fragments/text-input.tsx +0 -0
  107. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/__snapshots__/delete.spec.jsx.snap +0 -0
  108. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/__snapshots__/deprecate-snapshot.spec.tsx.snap +0 -0
  109. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/__snapshots__/deprecate-version.spec.tsx.snap +0 -0
  110. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/__snapshots__/description.spec.jsx.snap +0 -0
  111. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/__snapshots__/update-permissions.spec.jsx.snap +0 -0
  112. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/cache-id.spec.js +0 -0
  113. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/delete.spec.jsx +0 -0
  114. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/deprecate-snapshot.spec.tsx +0 -0
  115. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/deprecate-version.spec.tsx +0 -0
  116. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/description.spec.jsx +0 -0
  117. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/remove-permissions.spec.tsx +0 -0
  118. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/__tests__/update-permissions.spec.jsx +0 -0
  119. package/src/scripts/dataset/mutations/admin-exports.jsx +70 -0
  120. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/cache-clear.jsx +0 -0
  121. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/cache-id.js +0 -0
  122. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/comment.jsx +0 -0
  123. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/create-anonymous-reviewer.tsx +0 -3
  124. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/dataset-relations.tsx +4 -15
  125. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/delete-anonymous-reviewer.tsx +0 -0
  126. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/delete-comment.jsx +2 -4
  127. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/delete-dataset-form.jsx +0 -0
  128. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/delete-dir.jsx +0 -0
  129. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/delete-file.jsx +0 -0
  130. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/delete.jsx +0 -0
  131. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/deprecate-version.tsx +0 -0
  132. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/description.jsx +1 -1
  133. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/flag-annex-object.jsx +1 -2
  134. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/follow.tsx +2 -2
  135. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/import-dataset.tsx +0 -0
  136. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/metadata-form.jsx +1 -1
  137. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/publish.jsx +0 -0
  138. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/readme.jsx +1 -1
  139. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/remove-annex-object.jsx +0 -1
  140. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/remove-permissions.tsx +0 -0
  141. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/revalidate.jsx +0 -0
  142. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/snapshot.tsx +17 -3
  143. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/star.tsx +2 -2
  144. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/submit-metadata.jsx +1 -1
  145. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/undo-deprecate-version.tsx +0 -0
  146. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/update-file.jsx +0 -0
  147. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/update-permissions.tsx +0 -0
  148. package/src/scripts/{refactor_2021/dataset → dataset}/mutations/update-ref.jsx +0 -0
  149. package/src/scripts/{refactor_2021/dataset → dataset}/routes/__tests__/__snapshots__/publish.spec.jsx.snap +0 -0
  150. package/src/scripts/{refactor_2021/dataset → dataset}/routes/__tests__/publish.spec.jsx +0 -0
  151. package/src/scripts/{refactor_2021/dataset → dataset}/routes/add-metadata.jsx +21 -25
  152. package/src/scripts/dataset/routes/admin-datalad.jsx +40 -0
  153. package/src/scripts/dataset/routes/dataset-default.tsx +54 -0
  154. package/src/scripts/{refactor_2021/dataset → dataset}/routes/delete-page.tsx +5 -9
  155. package/src/scripts/{refactor_2021/dataset → dataset}/routes/deprecate-snapshot-page.tsx +6 -7
  156. package/src/scripts/dataset/routes/download-dataset.tsx +53 -0
  157. package/src/scripts/{refactor_2021/dataset → dataset}/routes/manage-anonymous-reviewers.tsx +9 -3
  158. package/src/scripts/{refactor_2021/dataset → dataset}/routes/manage-permissions.jsx +7 -10
  159. package/src/scripts/{refactor_2021/dataset → dataset}/routes/publish.jsx +10 -12
  160. package/src/scripts/dataset/routes/snapshot-default.tsx +44 -0
  161. package/src/scripts/dataset/routes/snapshot.jsx +148 -0
  162. package/src/scripts/dataset/routes/styles/dataset-page-border.tsx +8 -0
  163. package/src/scripts/dataset/routes/styles/dataset-page-tab-container.tsx +8 -0
  164. package/src/scripts/dataset/routes/styles/draft-background.tsx +7 -0
  165. package/src/scripts/dataset/routes/styles/header-row.tsx +12 -0
  166. package/src/scripts/dataset/routes/tab-routes-draft.tsx +88 -0
  167. package/src/scripts/dataset/routes/tab-routes-snapshot.tsx +57 -0
  168. package/src/scripts/{refactor_2021/dataset → dataset}/snapshot-container.tsx +9 -42
  169. package/src/scripts/{refactor_2021 → errors}/freshdesk-widget.jsx +1 -1
  170. package/src/scripts/errors/freshdeskInterface.jsx +1 -1
  171. package/src/scripts/index.tsx +5 -5
  172. package/src/scripts/pages/admin/admin.jsx +1 -1
  173. package/src/scripts/pages/admin/user-tools.tsx +1 -1
  174. package/src/scripts/{refactor_2021/user → pages}/api.jsx +2 -2
  175. package/src/scripts/{faq → pages/faq}/__tests__/__snapshots__/faq.spec.jsx.snap +1 -1
  176. package/src/scripts/{faq → pages/faq}/__tests__/faq.spec.jsx +0 -0
  177. package/src/scripts/{faq → pages/faq}/faq-content.js +3 -5
  178. package/src/scripts/{faq → pages/faq}/faq.jsx +1 -1
  179. package/src/scripts/{refactor_2021 → pages/front-page}/aggregate-queries/aggregate-counts-container.tsx +0 -0
  180. package/src/scripts/{refactor_2021 → pages/front-page}/aggregate-queries/use-participant-count.ts +0 -0
  181. package/src/scripts/{refactor_2021 → pages/front-page}/aggregate-queries/use-publicDatasets-count.ts +0 -0
  182. package/src/scripts/pages/import-dataset.tsx +5 -5
  183. package/src/scripts/routes.tsx +3 -3
  184. package/src/scripts/{refactor_2021/search → search}/__tests__/search-container.spec.tsx +0 -0
  185. package/src/scripts/{refactor_2021/search → search}/__tests__/search-params-ctx.spec.tsx +0 -0
  186. package/src/scripts/{refactor_2021/search → search}/es-query-builders.ts +0 -0
  187. package/src/scripts/{refactor_2021/search → search}/filters-block-container.tsx +0 -0
  188. package/src/scripts/{refactor_2021/search → search}/initial-search-params.tsx +0 -0
  189. package/src/scripts/{refactor_2021/search → search}/inputs/__tests__/sort-by-select.spec.tsx +0 -0
  190. package/src/scripts/{refactor_2021/search → search}/inputs/admin-allDatasets-toggle.tsx +0 -0
  191. package/src/scripts/{refactor_2021/search → search}/inputs/age-range-input.tsx +0 -0
  192. package/src/scripts/{refactor_2021/search → search}/inputs/author-input.tsx +0 -0
  193. package/src/scripts/{refactor_2021/search → search}/inputs/date-radios.tsx +0 -0
  194. package/src/scripts/{refactor_2021/search → search}/inputs/diagnosis-select.tsx +0 -0
  195. package/src/scripts/{refactor_2021/search → search}/inputs/index.ts +0 -0
  196. package/src/scripts/{refactor_2021/search → search}/inputs/keyword-input.tsx +0 -0
  197. package/src/scripts/{refactor_2021/search → search}/inputs/modality-select.tsx +0 -0
  198. package/src/scripts/{refactor_2021/search → search}/inputs/pet/bodyParts_input.tsx +0 -0
  199. package/src/scripts/{refactor_2021/search → search}/inputs/pet/scannerManufacturersModelNames_input.tsx +0 -0
  200. package/src/scripts/{refactor_2021/search → search}/inputs/pet/scannerManufacturers_input.tsx +0 -0
  201. package/src/scripts/{refactor_2021/search → search}/inputs/pet/tracerNames_input.tsx +0 -0
  202. package/src/scripts/{refactor_2021/search → search}/inputs/pet/tracerRadionuclides_input.tsx +0 -0
  203. package/src/scripts/{refactor_2021/search → search}/inputs/section-select.tsx +0 -0
  204. package/src/scripts/{refactor_2021/search → search}/inputs/sex-radios.tsx +0 -0
  205. package/src/scripts/{refactor_2021/search → search}/inputs/show-datasets-radios.tsx +2 -4
  206. package/src/scripts/{refactor_2021/search → search}/inputs/sort-by-select.tsx +0 -0
  207. package/src/scripts/{refactor_2021/search → search}/inputs/species-select.tsx +0 -0
  208. package/src/scripts/{refactor_2021/search → search}/inputs/study-domain-input.tsx +0 -0
  209. package/src/scripts/{refactor_2021/search → search}/inputs/subject-count-range-input.tsx +0 -0
  210. package/src/scripts/{refactor_2021/search → search}/inputs/task-input.tsx +0 -0
  211. package/src/scripts/{refactor_2021/search → search}/search-container.tsx +1 -1
  212. package/src/scripts/{refactor_2021/search → search}/search-params-ctx.tsx +0 -0
  213. package/src/scripts/{refactor_2021/search → search}/search-routes.tsx +0 -0
  214. package/src/scripts/{refactor_2021/search → search}/use-search-results.tsx +1 -0
  215. package/src/scripts/test-utils.js +1 -1
  216. package/src/scripts/{refactor_2021/uploader → uploader}/add-path-to-files.js +0 -0
  217. package/src/scripts/{refactor_2021/uploader → uploader}/file-select.tsx +0 -0
  218. package/src/scripts/{refactor_2021/uploader → uploader}/file-upload.js +1 -1
  219. package/src/scripts/{refactor_2021/uploader → uploader}/input.jsx +0 -0
  220. package/src/scripts/{refactor_2021/uploader → uploader}/upload-button.jsx +0 -0
  221. package/src/scripts/{refactor_2021/uploader → uploader}/upload-disclaimer-input.tsx +0 -0
  222. package/src/scripts/{refactor_2021/uploader → uploader}/upload-disclaimer.jsx +0 -0
  223. package/src/scripts/{refactor_2021/uploader → uploader}/upload-file-status.jsx +0 -0
  224. package/src/scripts/{refactor_2021/uploader → uploader}/upload-issues.jsx +1 -1
  225. package/src/scripts/{refactor_2021/uploader → uploader}/upload-metadata.jsx +0 -0
  226. package/src/scripts/{refactor_2021/uploader → uploader}/upload-mutation.js +0 -0
  227. package/src/scripts/{refactor_2021/uploader → uploader}/upload-progress-button.jsx +0 -0
  228. package/src/scripts/{refactor_2021/uploader → uploader}/upload-progress-class.js +0 -0
  229. package/src/scripts/{refactor_2021/uploader → uploader}/upload-progress.jsx +0 -0
  230. package/src/scripts/{refactor_2021/uploader → uploader}/upload-rename.jsx +0 -0
  231. package/src/scripts/{refactor_2021/uploader → uploader}/upload-resume.jsx +0 -0
  232. package/src/scripts/{refactor_2021/uploader → uploader}/upload-select.jsx +0 -0
  233. package/src/scripts/{refactor_2021/uploader → uploader}/upload-status.jsx +0 -0
  234. package/src/scripts/{refactor_2021/uploader → uploader}/upload-step.jsx +0 -0
  235. package/src/scripts/{refactor_2021/uploader → uploader}/uploader-context.js +0 -0
  236. package/src/scripts/{refactor_2021/uploader → uploader}/uploader-location.js +0 -0
  237. package/src/scripts/{refactor_2021/uploader → uploader}/uploader-modal.jsx +0 -0
  238. package/src/scripts/{refactor_2021/uploader → uploader}/uploader-setup-routes.jsx +0 -0
  239. package/src/scripts/{refactor_2021/uploader → uploader}/uploader-status-routes.jsx +0 -0
  240. package/src/scripts/{refactor_2021/uploader → uploader}/uploader-view.jsx +1 -1
  241. package/src/scripts/{refactor_2021/uploader → uploader}/uploader.jsx +1 -1
  242. package/src/scripts/{refactor_2021/utils → utils}/cookies.js +0 -0
  243. package/src/scripts/{refactor_2021 → utils}/user-login-modal-ctx.tsx +1 -2
  244. package/src/scripts/{refactor_2021/validation → validation}/validation-panel.jsx +0 -0
  245. package/src/scripts/{refactor_2021/validation → validation}/validation-results.issues.issue.jsx +0 -0
  246. package/src/scripts/{refactor_2021/validation → validation}/validation-results.issues.jsx +0 -0
  247. package/src/scripts/{refactor_2021/validation → validation}/validation-results.jsx +0 -0
  248. package/src/scripts/{refactor_2021/validation → validation}/validation-status.jsx +0 -0
  249. package/src/scripts/{refactor_2021/validation → validation}/validation.jsx +1 -1
  250. package/src/scripts/refactor_2021/common/partials/toast-content.jsx +0 -18
  251. package/src/scripts/refactor_2021/dataset/dataset-routes.jsx +0 -163
  252. package/src/scripts/refactor_2021/dataset/fragments/dataset-history.jsx +0 -103
  253. package/src/scripts/refactor_2021/dataset/routes/admin-datalad.jsx +0 -47
  254. package/src/scripts/refactor_2021/dataset/routes/admin-exports.jsx +0 -132
  255. package/src/scripts/refactor_2021/dataset/routes/download-dataset.tsx +0 -76
  256. package/src/scripts/refactor_2021/dataset/routes/snapshot.jsx +0 -139
  257. package/src/scripts/refactor_2021/utils/datalad.js +0 -13
  258. package/src/scripts/refactor_2021/utils/gtag.js +0 -22
@@ -0,0 +1,148 @@
1
+ import React, { useState } from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import semver from 'semver'
4
+ import SnapshotDataset from '../mutations/snapshot'
5
+ import EditList from '../fragments/edit-list.jsx'
6
+ import { Button } from '@openneuro/components/button'
7
+ import { DatasetPageBorder } from './styles/dataset-page-border'
8
+ import { HeaderRow4 } from './styles/header-row'
9
+ import FileView from '../files/file-view'
10
+ import styled from '@emotion/styled'
11
+
12
+ const FormRow = styled.div`
13
+ margin-top: 0;
14
+ margin-bottom: 1.3em;
15
+ `
16
+
17
+ export const NoErrors = ({ issues, children }) => {
18
+ const noErrors =
19
+ issues && issues.filter(issue => issue.severity === 'error').length === 0
20
+ // zero authors will cause DOI minting to fail
21
+ const hasAuthor =
22
+ issues && issues.filter(issue => issue.code === 113).length === 0
23
+ if (noErrors && hasAuthor) {
24
+ return children
25
+ } else {
26
+ const correctErrorsMessage =
27
+ 'BIDS validation must be complete and all errors corrected'
28
+ const noAuthorMessage =
29
+ '"Authors" must include at least one entry in dataset_description.json'
30
+ const includedMessages = []
31
+ if (!noErrors) includedMessages.push(correctErrorsMessage)
32
+ if (!hasAuthor) includedMessages.push(noAuthorMessage)
33
+ return (
34
+ <span className="text-danger">
35
+ {`${includedMessages.join(' and ')} to create a version`}
36
+ </span>
37
+ )
38
+ }
39
+ }
40
+
41
+ const SnapshotRoute = ({ datasetId, snapshots, issues, description }) => {
42
+ const [changes, setChanges] = useState([])
43
+ const [semanticLevel, setSemanticLevel] = useState('patch')
44
+ const draftLicense = (description && description.License) || 'none'
45
+ const requiredLicense = 'CC0'
46
+ const updateToCC0 = draftLicense !== requiredLicense
47
+
48
+ const latestSnapshot = snapshots.length && snapshots[snapshots.length - 1]
49
+ const newVersion =
50
+ snapshots.length && semver.valid(latestSnapshot.tag)
51
+ ? semver.inc(latestSnapshot.tag, semanticLevel)
52
+ : '1.0.0'
53
+
54
+ const majorActive = semanticLevel === 'major' && 'active'
55
+ const minorActive = semanticLevel === 'minor' && 'active'
56
+ const patchActive = semanticLevel === 'patch' && 'active'
57
+
58
+ return (
59
+ <DatasetPageBorder>
60
+ <div className="dataset-snapshot-form">
61
+ <div className="dataset-form-body">
62
+ <HeaderRow4>New Version</HeaderRow4>
63
+ {updateToCC0 && (
64
+ <p>
65
+ <strong>Notice:</strong> The current license{' '}
66
+ <i>&quote;{draftLicense}&quote;</i> will be updated to
67
+ &quote;CC0&quote; when the version is created. Please see FAQ item
68
+ &quote;Are there any restrictions on the uploaded data?&quote; for
69
+ details.
70
+ </p>
71
+ )}
72
+ <p>
73
+ Create a new version of this dataset for download and public access.
74
+ This will begin an export of this dataset to GitHub and S3 if it has
75
+ been made public.
76
+ </p>
77
+ <FormRow className="snapshot-input-group">
78
+ {newVersion}
79
+ <div className="input-group-btn">
80
+ <Button
81
+ secondary={true}
82
+ label="Major"
83
+ size="xsmall"
84
+ className={`btn btn-default ${majorActive}`}
85
+ onClick={() => setSemanticLevel('major')}
86
+ />
87
+ <Button
88
+ secondary={true}
89
+ label="Minor"
90
+ size="xsmall"
91
+ className={`btn btn-default ${minorActive}`}
92
+ onClick={() => setSemanticLevel('minor')}
93
+ />
94
+ <Button
95
+ secondary={true}
96
+ label="Patch"
97
+ size="xsmall"
98
+ className={`btn btn-default ${patchActive}`}
99
+ onClick={() => setSemanticLevel('patch')}
100
+ />
101
+ </div>
102
+ </FormRow>
103
+ {latestSnapshot ? (
104
+ <FormRow>
105
+ <HeaderRow4>Current Changelog</HeaderRow4>
106
+ <FileView
107
+ datasetId={datasetId}
108
+ snapshotTag={latestSnapshot.tag}
109
+ path="CHANGES"
110
+ />
111
+ </FormRow>
112
+ ) : null}
113
+ <HeaderRow4>New Changelog</HeaderRow4>
114
+ <p>Add CHANGES file lines describing the new version.</p>
115
+ <EditList
116
+ placeholder="Enter new changes here..."
117
+ elements={changes}
118
+ setElements={setChanges}
119
+ />
120
+ </div>
121
+ <NoErrors issues={issues}>
122
+ {changes.length ? null : (
123
+ <small className="text-danger">
124
+ You must add at least one change message to create a new version
125
+ </small>
126
+ )}
127
+ </NoErrors>
128
+ <div className="dataset-form-controls">
129
+ <SnapshotDataset
130
+ datasetId={datasetId}
131
+ tag={newVersion}
132
+ changes={changes}
133
+ disabled={changes.length < 1}
134
+ />
135
+ </div>
136
+ </div>
137
+ </DatasetPageBorder>
138
+ )
139
+ }
140
+
141
+ SnapshotRoute.propTypes = {
142
+ datasetId: PropTypes.string,
143
+ snapshots: PropTypes.array,
144
+ issues: PropTypes.array,
145
+ description: PropTypes.object,
146
+ }
147
+
148
+ export default SnapshotRoute
@@ -0,0 +1,8 @@
1
+ import styled from '@emotion/styled'
2
+
3
+ export const DatasetPageBorder = styled.div`
4
+ border: 1px solid #ccc;
5
+ border-radius: 4px;
6
+ padding: 20px 15px;
7
+ margin-bottom: 25px;
8
+ `
@@ -0,0 +1,8 @@
1
+ import styled from '@emotion/styled'
2
+
3
+ export const DatasetPageTabContainer = styled.div`
4
+ display: flex;
5
+ justify-content: space-between;
6
+ margin-bottom: 50px;
7
+ flex-direction: column;
8
+ `
@@ -0,0 +1,7 @@
1
+ import styled from '@emotion/styled'
2
+
3
+ export const DraftBackground = styled.div`
4
+ background: #fff;
5
+ background-image: radial-gradient(#ddd 1px, #fff 1px);
6
+ background-size: 20px 20px;
7
+ `
@@ -0,0 +1,12 @@
1
+ import styled from '@emotion/styled'
2
+
3
+ const headerRowStyle = `
4
+ margin-top: 0;
5
+ margin-bottom: 1.3em;
6
+ `
7
+
8
+ export const HeaderRow2 = styled.h2(headerRowStyle)
9
+
10
+ export const HeaderRow3 = styled.h3(headerRowStyle)
11
+
12
+ export const HeaderRow4 = styled.h4(headerRowStyle)
@@ -0,0 +1,88 @@
1
+ import React from 'react'
2
+ import { Route, Switch } from 'react-router-dom'
3
+ import { DatasetDefault } from './dataset-default'
4
+ import AdminDataset from './admin-datalad'
5
+ import DeletePage from './delete-page'
6
+ import DownloadDataset from './download-dataset'
7
+ import Publish from './publish'
8
+ import Share from './manage-permissions'
9
+ import Snapshot from './snapshot'
10
+ import AddMetadata from './add-metadata'
11
+ import FileDisplay from '../files/file-display'
12
+
13
+ export const TabRoutesDraft = ({ dataset, hasEdit }) => {
14
+ return (
15
+ <Switch>
16
+ <Route
17
+ exact
18
+ path="/datasets/:datasetId"
19
+ component={() => <DatasetDefault dataset={dataset} hasEdit={hasEdit} />}
20
+ />
21
+ <Route
22
+ exact
23
+ path="/datasets/:datasetId/download"
24
+ component={() => (
25
+ <DownloadDataset
26
+ worker={dataset.worker}
27
+ datasetPermissions={dataset.permissions}
28
+ />
29
+ )}
30
+ />
31
+ <Route
32
+ exact
33
+ path="/datasets/:datasetId/delete"
34
+ component={() => <DeletePage dataset={dataset} />}
35
+ />
36
+ <Route
37
+ exact
38
+ path="/datasets/:datasetId/admin"
39
+ component={() => <AdminDataset dataset={dataset} />}
40
+ />
41
+ <Route
42
+ exact
43
+ path="/datasets/:datasetId/publish"
44
+ component={() => (
45
+ <Publish datasetId={dataset.id} metadata={dataset.metadata} />
46
+ )}
47
+ />
48
+ <Route
49
+ exact
50
+ path="/datasets/:datasetId/snapshot"
51
+ component={() => (
52
+ <Snapshot
53
+ datasetId={dataset.id}
54
+ snapshots={dataset.snapshots}
55
+ issues={dataset.draft.issues}
56
+ description={dataset.draft.description}
57
+ />
58
+ )}
59
+ />
60
+ <Route
61
+ exact
62
+ path="/datasets/:datasetId/share"
63
+ component={() => (
64
+ <Share
65
+ datasetId={dataset.id}
66
+ permissions={dataset.permissions}
67
+ reviewers={dataset.reviewers}
68
+ />
69
+ )}
70
+ />
71
+ <Route
72
+ path="/datasets/:datasetId/file-display/:filePath"
73
+ render={({
74
+ match: {
75
+ params: { datasetId, filePath },
76
+ },
77
+ }) => {
78
+ return <FileDisplay datasetId={datasetId} filePath={filePath} />
79
+ }}
80
+ />
81
+ <Route
82
+ exact
83
+ path="/datasets/:datasetId/metadata"
84
+ component={() => <AddMetadata dataset={dataset} />}
85
+ />
86
+ </Switch>
87
+ )
88
+ }
@@ -0,0 +1,57 @@
1
+ import React from 'react'
2
+ import { Route, Switch } from 'react-router-dom'
3
+ import { SnapshotDefault } from './snapshot-default'
4
+ import DownloadDataset from './download-dataset'
5
+ import { DeprecateSnapshotPage } from './deprecate-snapshot-page'
6
+ import FileDisplay from '../files/file-display'
7
+ import AddMetadata from './add-metadata'
8
+
9
+ export const TabRoutesSnapshot = ({ dataset, snapshot }) => {
10
+ return (
11
+ <Switch>
12
+ <Route
13
+ exact
14
+ path="/datasets/:datasetId/versions/:snapshotId"
15
+ component={() => (
16
+ <SnapshotDefault dataset={dataset} snapshot={snapshot} />
17
+ )}
18
+ />
19
+ <Route
20
+ exact
21
+ path="/datasets/:datasetId/versions/:snapshotId/download"
22
+ component={() => (
23
+ <DownloadDataset
24
+ worker={dataset.worker}
25
+ datasetPermissions={dataset.permissions}
26
+ />
27
+ )}
28
+ />
29
+ <Route
30
+ exact
31
+ path="/datasets/:datasetId/versions/:snapshotTag/deprecate"
32
+ component={() => <DeprecateSnapshotPage />}
33
+ />
34
+ <Route
35
+ path="/datasets/:datasetId/versions/:snapshotTag/file-display/:filePath"
36
+ render={({
37
+ match: {
38
+ params: { datasetId, filePath, snapshotTag },
39
+ },
40
+ }) => {
41
+ return (
42
+ <FileDisplay
43
+ datasetId={datasetId}
44
+ snapshotTag={snapshotTag}
45
+ filePath={filePath}
46
+ />
47
+ )
48
+ }}
49
+ />
50
+ <Route
51
+ exact
52
+ path="/datasets/:datasetId/versions/:snapshotTag/metadata"
53
+ component={() => <AddMetadata dataset={dataset} />}
54
+ />
55
+ </Switch>
56
+ )
57
+ }
@@ -1,16 +1,14 @@
1
1
  import React from 'react'
2
2
  import { gql, useQuery } from '@apollo/client'
3
- import DatasetQueryContext from '../../datalad/dataset/dataset-query-context.js'
4
- import Markdown from 'markdown-to-jsx'
3
+ import { DatasetPageTabContainer } from './routes/styles/dataset-page-tab-container'
4
+ import DatasetQueryContext from '../datalad/dataset/dataset-query-context.js'
5
5
  import { Link, useLocation } from 'react-router-dom'
6
6
  import pluralize from 'pluralize'
7
7
  import formatDistanceToNow from 'date-fns/formatDistanceToNow'
8
8
  import parseISO from 'date-fns/parseISO'
9
9
 
10
- import Files from './files'
11
10
  import Validation from '../validation/validation.jsx'
12
- import { config } from '../../config'
13
- import Comments from './comments/comments.jsx'
11
+ import { config } from '../config'
14
12
  import DatasetCitation from './fragments/dataset-citation.jsx'
15
13
  import { DatasetAlertVersion } from './fragments/dataset-alert-version'
16
14
 
@@ -35,13 +33,12 @@ import {
35
33
  } from '../authentication/profile'
36
34
  import { useCookies } from 'react-cookie'
37
35
 
38
- import { ReadMore } from '@openneuro/components/read-more'
39
-
40
36
  import { FollowDataset } from './mutations/follow'
41
37
  import { StarDataset } from './mutations/star'
42
38
 
43
- import { SNAPSHOT_FIELDS } from '../../datalad/dataset/dataset-query-fragments.js'
39
+ import { SNAPSHOT_FIELDS } from '../datalad/dataset/dataset-query-fragments.js'
44
40
  import { DOILink } from './fragments/doi-link'
41
+ import { TabRoutesSnapshot } from './routes/tab-routes-snapshot'
45
42
 
46
43
  const formatDate = dateObject =>
47
44
  new Date(dateObject).toISOString().split('T')[0]
@@ -111,7 +108,7 @@ const SnapshotContainer: React.FC<SnapshotContainerProps> = ({
111
108
  <div className="col col-8 col-lg">
112
109
  {summary && (
113
110
  <DatasetHeaderMeta
114
- size={summary.size}
111
+ size={snapshot.size}
115
112
  totalFiles={summary.totalFiles}
116
113
  datasetId={datasetId}
117
114
  />
@@ -168,39 +165,9 @@ const SnapshotContainer: React.FC<SnapshotContainerProps> = ({
168
165
  isDatasetAdmin={isDatasetAdmin}
169
166
  />
170
167
  </div>
171
- <ReadMore
172
- fileTree={true}
173
- id="collapse-tree"
174
- expandLabel="Read More"
175
- collapseLabel="Collapse">
176
- <Files
177
- datasetId={datasetId}
178
- snapshotTag={snapshot.tag}
179
- datasetName={description.Name}
180
- files={snapshot.files}
181
- editMode={false}
182
- datasetPermissions={dataset.permissions}
183
- />
184
- </ReadMore>
185
- <MetaDataBlock
186
- heading="README"
187
- item={
188
- <ReadMore
189
- id="readme"
190
- expandLabel="Read More"
191
- collapseLabel="Collapse">
192
- <Markdown>
193
- {snapshot.readme == null ? 'N/A' : snapshot.readme}
194
- </Markdown>
195
- </ReadMore>
196
- }
197
- className="dataset-readme markdown-body"
198
- />
199
- <Comments
200
- datasetId={dataset.id}
201
- uploader={dataset.uploader}
202
- comments={dataset.comments}
203
- />
168
+ <DatasetPageTabContainer>
169
+ <TabRoutesSnapshot dataset={dataset} snapshot={snapshot} />
170
+ </DatasetPageTabContainer>
204
171
  </div>
205
172
  <div className="col sidebar">
206
173
  <MetaDataBlock
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import { useCookies } from 'react-cookie'
4
- import { getProfile } from './authentication/profile'
4
+ import { getProfile } from '../authentication/profile'
5
5
  import { config } from '../config'
6
6
 
7
7
  const buildCustomQuery = (customText, prepopulatedFields) => {
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from 'react'
2
- import FreshdeskWidget from '../datalad/fragments/freshdesk-widget.jsx'
2
+ import FreshdeskWidget from './freshdesk-widget.jsx'
3
3
  import {
4
4
  Overlay,
5
5
  ModalContainer,
@@ -1,10 +1,10 @@
1
1
  import React from 'react'
2
- import Uploader from './refactor_2021/uploader/uploader.jsx'
2
+ import Uploader from './uploader/uploader.jsx'
3
3
  import Routes from './routes'
4
- import HeaderContainer from './refactor_2021/containers/header'
5
- import FooterContainer from './refactor_2021/containers/footer'
6
- import { SearchParamsProvider } from './refactor_2021/search/search-params-ctx'
7
- import { UserModalOpenProvider } from './refactor_2021/user-login-modal-ctx'
4
+ import HeaderContainer from './common/containers/header'
5
+ import FooterContainer from './common/containers/footer'
6
+ import { SearchParamsProvider } from './search/search-params-ctx'
7
+ import { UserModalOpenProvider } from './utils/user-login-modal-ctx'
8
8
 
9
9
  import '../assets/email-header.png'
10
10
 
@@ -4,7 +4,7 @@ import React from 'react'
4
4
  import { Redirect, Switch, Route, NavLink } from 'react-router-dom'
5
5
  import Users from './users.jsx'
6
6
  import FlaggedFiles from './flagged-files.jsx'
7
- import AdminUser from '../../refactor_2021/authentication/admin-user.jsx'
7
+ import AdminUser from '../../authentication/admin-user.jsx'
8
8
 
9
9
  class Dashboard extends React.Component {
10
10
  // life cycle events --------------------------------------------------
@@ -2,7 +2,7 @@ import React, { FC, ReactElement } from 'react'
2
2
  import { gql } from '@apollo/client'
3
3
  import { Mutation } from '@apollo/client/react/components'
4
4
  import { WarnButton } from '@openneuro/components/warn-button'
5
- import { getProfile } from '../../refactor_2021/authentication/profile.js'
5
+ import { getProfile } from '../../authentication/profile.js'
6
6
  import { useCookies } from 'react-cookie'
7
7
  import { USER_FRAGMENT } from './user-fragment'
8
8
 
@@ -2,9 +2,9 @@ import React from 'react'
2
2
  import { Loading } from '@openneuro/components/loading'
3
3
  import { CopyToClipboard } from 'react-copy-to-clipboard'
4
4
  import Helmet from 'react-helmet'
5
- import { pageTitle } from '../../resources/strings.js'
5
+ import { pageTitle } from '../resources/strings.js'
6
6
  import { Button } from '@openneuro/components/button'
7
- import { config } from '../../config'
7
+ import { config } from '../config'
8
8
 
9
9
  /**
10
10
  * Create API Key
@@ -221,7 +221,7 @@ exports[`faq/faq/Faq renders successfully 1`] = `
221
221
  <span>
222
222
  We offer two options for uploading data onto OpenNeuro. The first is to upload via the web interface. The second is to upload via our
223
223
  <a
224
- href="https://docs.openneuro.org/packages-openneuro-cli-readme"
224
+ href="https://docs.openneuro.org/openneuro-packages-openneuro-cli-readme"
225
225
  >
226
226
  command-line utility tool
227
227
  </a>
@@ -48,8 +48,7 @@ export const faq = [
48
48
  '[Ultimate consent form GDPR edition](https://open-brain-consent.readthedocs.io/en/stable/gdpr/ultimate_gdpr.html).',
49
49
  },
50
50
  {
51
- faq:
52
- 'Do I need to format my data in some special way before uploading it to OpenNeuro?',
51
+ faq: 'Do I need to format my data in some special way before uploading it to OpenNeuro?',
53
52
  answer:
54
53
  'Yes! OpenNeuro only accepts data in the Brain Imaging Data Structure ' +
55
54
  '(BIDS) format. You can read about it more at ' +
@@ -58,8 +57,7 @@ export const faq = [
58
57
  'post them at [neurostars.org](https://neurostars.org/tags/bids).',
59
58
  },
60
59
  {
61
- faq:
62
- 'Do I need to remove facial features from structural images before uploading the data?',
60
+ faq: 'Do I need to remove facial features from structural images before uploading the data?',
63
61
  answer:
64
62
  'OpenNeuro does not accept datasets that have not been defaced for ' +
65
63
  'privacy considerations. Datasets found to not have been defaced will ' +
@@ -80,7 +78,7 @@ export const faq = [
80
78
  answer:
81
79
  'We offer two options for uploading data onto OpenNeuro. ' +
82
80
  'The first is to upload via the web interface. ' +
83
- 'The second is to upload via our [command-line utility tool](https://docs.openneuro.org/packages-openneuro-cli-readme)',
81
+ 'The second is to upload via our [command-line utility tool](https://docs.openneuro.org/openneuro-packages-openneuro-cli-readme)',
84
82
  },
85
83
  {
86
84
  faq: 'Why can I not use CC-BY (or other CC license)?',
@@ -4,7 +4,7 @@ import React from 'react'
4
4
  import Markdown from 'markdown-to-jsx'
5
5
  import { faq } from './faq-content'
6
6
  import Helmet from 'react-helmet'
7
- import { pageTitle } from '../resources/strings.js'
7
+ import { pageTitle } from '../../resources/strings.js'
8
8
 
9
9
  class Faq extends React.Component {
10
10
  render() {
@@ -1,11 +1,11 @@
1
1
  import React, { useState } from 'react'
2
2
  import styled from '@emotion/styled'
3
- import { ImportDatasetMutation } from '../refactor_2021/dataset/mutations/import-dataset'
3
+ import { ImportDatasetMutation } from '../dataset/mutations/import-dataset'
4
4
  import { useLocation } from 'react-router-dom'
5
- import LoggedIn from '../refactor_2021/authentication/logged-in'
6
- import LoggedOut from '../refactor_2021/authentication/logged-out'
7
- import { testAffirmed } from '../refactor_2021/uploader/upload-disclaimer'
8
- import { UploadDisclaimerInput } from '../refactor_2021/uploader/upload-disclaimer-input'
5
+ import LoggedIn from '../authentication/logged-in'
6
+ import LoggedOut from '../authentication/logged-out'
7
+ import { testAffirmed } from '../uploader/upload-disclaimer'
8
+ import { UploadDisclaimerInput } from '../uploader/upload-disclaimer-input'
9
9
 
10
10
  function useQuery() {
11
11
  const { search } = useLocation()
@@ -2,14 +2,14 @@ import React from 'react'
2
2
  import { Route, Switch, Redirect } from 'react-router-dom'
3
3
 
4
4
  // TODO - Re-enable code splitting these when we can
5
- import Dataset from './refactor_2021/dataset/draft-snapshot-routes'
5
+ import Dataset from './dataset/draft-snapshot-routes'
6
6
  //import PreRefactorDatasetProps from './dataset/dataset-pre-refactor-container'
7
7
 
8
8
  import { FAQS } from '@openneuro/components/faqs'
9
9
  import FrontPageContainer from './pages/front-page/front-page'
10
10
  import Admin from './pages/admin/admin'
11
- import SearchRoutes from './refactor_2021/search/search-routes'
12
- import APIKey from './refactor_2021/user/api'
11
+ import SearchRoutes from './search/search-routes'
12
+ import APIKey from './pages/api'
13
13
  import ErrorRoute from './errors/errorRoute'
14
14
  import { PETRedirect } from './pages/pet-redirect'
15
15
  import Citation from './pages/citation-page'