invenio-app-rdm 13.0.0b4.dev1__py2.py3-none-any.whl → 14.0.0b1.dev8__py2.py3-none-any.whl

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 (247) hide show
  1. invenio_app_rdm/__init__.py +1 -1
  2. invenio_app_rdm/administration/moderation/__init__.py +11 -0
  3. invenio_app_rdm/administration/moderation/requests.py +175 -0
  4. invenio_app_rdm/administration/records/records.py +9 -7
  5. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/requests.html +14 -0
  6. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/requests_details.html +91 -0
  7. invenio_app_rdm/administration/user_moderation/user_moderation.py +4 -4
  8. invenio_app_rdm/administration/users/users.py +0 -5
  9. invenio_app_rdm/communities_ui/views/communities.py +9 -5
  10. invenio_app_rdm/config.py +73 -4
  11. invenio_app_rdm/ext.py +2 -2
  12. invenio_app_rdm/fixtures/pages.py +5 -2
  13. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html +11 -0
  14. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html +2 -5
  15. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html +2 -2
  16. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html +2 -2
  17. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html +8 -7
  18. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html +5 -6
  19. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html +9 -13
  20. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html +8 -5
  21. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html +2 -4
  22. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html +1 -1
  23. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html +7 -5
  24. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html +21 -4
  25. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html +6 -1
  26. invenio_app_rdm/records_ui/utils.py +93 -1
  27. invenio_app_rdm/records_ui/views/decorators.py +24 -14
  28. invenio_app_rdm/records_ui/views/deposits.py +100 -27
  29. invenio_app_rdm/records_ui/views/filters.py +11 -4
  30. invenio_app_rdm/records_ui/views/records.py +23 -13
  31. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/file-modification/index.html +88 -0
  32. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/guest-access-request/index.html +5 -5
  33. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/record-deletion/index.html +95 -0
  34. invenio_app_rdm/requests_ui/views/requests.py +54 -87
  35. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js +8 -8
  36. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUserForm.js +12 -17
  37. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js +14 -16
  38. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaAction.js +1 -1
  39. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js +1 -2
  40. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchResultItem.js +81 -0
  41. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchbarLayout.js +48 -0
  42. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/index.js +22 -0
  43. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSearchAppLayout.js +3 -4
  44. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js +38 -19
  45. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/FileModificationUntil.js +45 -0
  46. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionModal.js +354 -0
  47. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionRadioGroup.js +44 -0
  48. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion.js +81 -0
  49. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +55 -5
  50. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js +4 -1
  51. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js +2 -2
  52. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js +7 -2
  53. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js +52 -19
  54. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js +15 -14
  55. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js +4 -4
  56. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitySubmission/RecordCommunitySubmissionModal.js +1 -1
  57. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js +17 -3
  58. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js +16 -17
  59. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RemoveFromCommunity/RemoveFromCommunityAction.js +5 -5
  60. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js +42 -40
  61. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js +9 -5
  62. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineEdit.js +5 -5
  63. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineRead.js +2 -2
  64. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/components.js +14 -19
  65. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js +9 -0
  66. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/file_uploader/uppy.less +37 -0
  67. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less +5 -3
  68. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides +6 -1
  69. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides +10 -1
  70. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.overrides +7 -0
  71. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.variables +0 -0
  72. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next.js +1 -1
  73. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/_generatedTranslations.js +66 -0
  74. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ar/messages.po +804 -137
  75. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ar/translations.json +277 -249
  76. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/messages.po +689 -70
  77. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/translations.json +102 -82
  78. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/messages.po +699 -80
  79. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/translations.json +112 -92
  80. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/messages.po +821 -138
  81. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/translations.json +290 -262
  82. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/messages.po +691 -66
  83. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/translations.json +91 -71
  84. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/messages.po +818 -138
  85. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/translations.json +260 -240
  86. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/messages.po +698 -78
  87. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/translations.json +108 -88
  88. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/messages.po +1000 -5
  89. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/translations.json +81 -28
  90. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/messages.po +810 -137
  91. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/translations.json +253 -233
  92. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/messages.po +746 -133
  93. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/translations.json +130 -110
  94. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/messages.po +688 -69
  95. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/translations.json +103 -79
  96. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/messages.po +809 -126
  97. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/translations.json +277 -257
  98. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/messages.po +695 -70
  99. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/translations.json +101 -79
  100. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/messages.po +801 -135
  101. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/translations.json +254 -234
  102. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/index.js +16 -65
  103. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/messages.po +712 -86
  104. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/translations.json +116 -96
  105. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/messages.po +683 -70
  106. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/translations.json +96 -78
  107. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/messages.po +689 -70
  108. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/translations.json +109 -85
  109. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ko/messages.po +889 -0
  110. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ko/translations.json +277 -0
  111. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/lt/messages.po +702 -71
  112. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/lt/translations.json +113 -85
  113. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/messages.po +689 -70
  114. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/translations.json +102 -82
  115. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/messages.po +704 -70
  116. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/translations.json +119 -91
  117. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/messages.po +694 -69
  118. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/translations.json +93 -73
  119. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/messages.po +717 -85
  120. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/translations.json +155 -133
  121. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/messages.po +806 -124
  122. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/translations.json +288 -260
  123. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/messages.po +713 -82
  124. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/translations.json +119 -91
  125. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/messages.po +807 -141
  126. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/translations.json +260 -240
  127. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/messages.po +799 -128
  128. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/translations.json +259 -239
  129. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/messages.po +756 -131
  130. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/translations.json +124 -96
  131. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/messages.po +736 -123
  132. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/translations.json +130 -108
  133. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/messages.po +683 -70
  134. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/translations.json +100 -78
  135. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package.json +3 -37
  136. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/translations.pot +243 -94
  137. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.de.html +2 -2
  138. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html +4 -4
  139. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.sv.html +4 -4
  140. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/intro_section.html +7 -6
  141. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/macros/records_list.html +2 -1
  142. invenio_app_rdm/theme/templates/semantic-ui/invenio_communities/default_static_page.html +26 -0
  143. invenio_app_rdm/theme/webpack.py +3 -2
  144. invenio_app_rdm/translations/ar/LC_MESSAGES/messages.mo +0 -0
  145. invenio_app_rdm/translations/ar/LC_MESSAGES/messages.po +972 -376
  146. invenio_app_rdm/translations/bg/LC_MESSAGES/messages.mo +0 -0
  147. invenio_app_rdm/translations/bg/LC_MESSAGES/messages.po +907 -278
  148. invenio_app_rdm/translations/ca/LC_MESSAGES/messages.mo +0 -0
  149. invenio_app_rdm/translations/ca/LC_MESSAGES/messages.po +912 -283
  150. invenio_app_rdm/translations/cs/LC_MESSAGES/messages.mo +0 -0
  151. invenio_app_rdm/translations/cs/LC_MESSAGES/messages.po +1069 -405
  152. invenio_app_rdm/translations/da/LC_MESSAGES/messages.mo +0 -0
  153. invenio_app_rdm/translations/da/LC_MESSAGES/messages.po +908 -273
  154. invenio_app_rdm/translations/de/LC_MESSAGES/messages.mo +0 -0
  155. invenio_app_rdm/translations/de/LC_MESSAGES/messages.po +1017 -406
  156. invenio_app_rdm/translations/el/LC_MESSAGES/messages.mo +0 -0
  157. invenio_app_rdm/translations/el/LC_MESSAGES/messages.po +915 -286
  158. invenio_app_rdm/translations/es/LC_MESSAGES/messages.mo +0 -0
  159. invenio_app_rdm/translations/es/LC_MESSAGES/messages.po +963 -371
  160. invenio_app_rdm/translations/et/LC_MESSAGES/messages.mo +0 -0
  161. invenio_app_rdm/translations/et/LC_MESSAGES/messages.po +938 -362
  162. invenio_app_rdm/translations/fa/LC_MESSAGES/messages.mo +0 -0
  163. invenio_app_rdm/translations/fa/LC_MESSAGES/messages.po +906 -277
  164. invenio_app_rdm/translations/fr/LC_MESSAGES/messages.mo +0 -0
  165. invenio_app_rdm/translations/fr/LC_MESSAGES/messages.po +1032 -375
  166. invenio_app_rdm/translations/hr/LC_MESSAGES/messages.mo +0 -0
  167. invenio_app_rdm/translations/hr/LC_MESSAGES/messages.po +907 -278
  168. invenio_app_rdm/translations/hu/LC_MESSAGES/messages.mo +0 -0
  169. invenio_app_rdm/translations/hu/LC_MESSAGES/messages.po +985 -369
  170. invenio_app_rdm/translations/it/LC_MESSAGES/messages.mo +0 -0
  171. invenio_app_rdm/translations/it/LC_MESSAGES/messages.po +928 -298
  172. invenio_app_rdm/translations/ja/LC_MESSAGES/messages.mo +0 -0
  173. invenio_app_rdm/translations/ja/LC_MESSAGES/messages.po +907 -278
  174. invenio_app_rdm/translations/ka/LC_MESSAGES/messages.mo +0 -0
  175. invenio_app_rdm/translations/ka/LC_MESSAGES/messages.po +909 -280
  176. invenio_app_rdm/translations/ko/LC_MESSAGES/messages.mo +0 -0
  177. invenio_app_rdm/translations/ko/LC_MESSAGES/messages.po +1361 -0
  178. invenio_app_rdm/translations/lt/LC_MESSAGES/messages.mo +0 -0
  179. invenio_app_rdm/translations/lt/LC_MESSAGES/messages.po +910 -281
  180. invenio_app_rdm/translations/messages.pot +486 -303
  181. invenio_app_rdm/translations/no/LC_MESSAGES/messages.mo +0 -0
  182. invenio_app_rdm/translations/no/LC_MESSAGES/messages.po +907 -278
  183. invenio_app_rdm/translations/pl/LC_MESSAGES/messages.mo +0 -0
  184. invenio_app_rdm/translations/pl/LC_MESSAGES/messages.po +907 -278
  185. invenio_app_rdm/translations/pt/LC_MESSAGES/messages.mo +0 -0
  186. invenio_app_rdm/translations/pt/LC_MESSAGES/messages.po +906 -277
  187. invenio_app_rdm/translations/ro/LC_MESSAGES/messages.mo +0 -0
  188. invenio_app_rdm/translations/ro/LC_MESSAGES/messages.po +1042 -384
  189. invenio_app_rdm/translations/ru/LC_MESSAGES/messages.mo +0 -0
  190. invenio_app_rdm/translations/ru/LC_MESSAGES/messages.po +1022 -370
  191. invenio_app_rdm/translations/sk/LC_MESSAGES/messages.mo +0 -0
  192. invenio_app_rdm/translations/sk/LC_MESSAGES/messages.po +916 -287
  193. invenio_app_rdm/translations/sv/LC_MESSAGES/messages.mo +0 -0
  194. invenio_app_rdm/translations/sv/LC_MESSAGES/messages.po +989 -380
  195. invenio_app_rdm/translations/tr/LC_MESSAGES/messages.mo +0 -0
  196. invenio_app_rdm/translations/tr/LC_MESSAGES/messages.po +992 -341
  197. invenio_app_rdm/translations/uk/LC_MESSAGES/messages.mo +0 -0
  198. invenio_app_rdm/translations/uk/LC_MESSAGES/messages.po +935 -356
  199. invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
  200. invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.po +939 -347
  201. invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
  202. invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.po +907 -278
  203. invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py +190 -62
  204. {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/METADATA +118 -7
  205. {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/RECORD +209 -225
  206. {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/entry_points.txt +2 -0
  207. {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/top_level.txt +0 -1
  208. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next-scanner.config.js +0 -64
  209. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package-lock.json +0 -1512
  210. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/compileCatalog.js +0 -40
  211. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/initCatalog.js +0 -20
  212. tests/__init__.py +0 -8
  213. tests/api/__init__.py +0 -8
  214. tests/api/conftest.py +0 -24
  215. tests/api/test_protect_files_rest.py +0 -73
  216. tests/api/test_record_api.py +0 -175
  217. tests/api/test_stats_api.py +0 -26
  218. tests/conftest.py +0 -390
  219. tests/fixtures/__init__.py +0 -8
  220. tests/fixtures/app_data/oai_sets.yaml +0 -3
  221. tests/fixtures/app_data/pages/about.html +0 -1
  222. tests/fixtures/app_data/pages.yaml +0 -4
  223. tests/fixtures/conftest.py +0 -27
  224. tests/fixtures/test_cli.py +0 -25
  225. tests/fixtures/test_fixtures.py +0 -46
  226. tests/mock_module/__init__.py +0 -7
  227. tests/mock_module/templates/mock_mail.html +0 -27
  228. tests/mock_module/views.py +0 -32
  229. tests/redirector/__init__.py +0 -8
  230. tests/redirector/conftest.py +0 -54
  231. tests/redirector/test_redirector.py +0 -28
  232. tests/test_tasks.py +0 -209
  233. tests/test_utils.py +0 -67
  234. tests/test_version.py +0 -16
  235. tests/test_views.py +0 -43
  236. tests/ui/__init__.py +0 -8
  237. tests/ui/conftest.py +0 -115
  238. tests/ui/test_deposits.py +0 -115
  239. tests/ui/test_export_formats.py +0 -37
  240. tests/ui/test_file_download.py +0 -73
  241. tests/ui/test_filters.py +0 -10
  242. tests/ui/test_robotstxt.py +0 -35
  243. tests/ui/test_signposting_ui.py +0 -95
  244. tests/ui/test_sitemaps.py +0 -85
  245. tests/ui/test_stats_ui.py +0 -92
  246. {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/WHEEL +0 -0
  247. {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2020-2024 CERN.
2
+ // Copyright (C) 2020-2025 CERN.
3
3
  // Copyright (C) 2020-2021 Northwestern University.
4
4
  // Copyright (C) 2021 Graz University of Technology.
5
5
  // Copyright (C) 2023 TU Wien.
@@ -16,42 +16,40 @@ import { ExportDropdown } from "./ExportDropdown";
16
16
  import { CommunitiesManagement } from "./CommunitiesManagement";
17
17
  import Overridable, { OverridableContext, overrideStore } from "react-overridable";
18
18
 
19
- const recordManagementAppDiv = document.getElementById("recordManagement");
20
- const recordManagementMobile = document.getElementById("recordManagementMobile");
21
-
22
- const recordVersionsAppDiv = document.getElementById("recordVersions");
23
- const recordCitationAppDiv = document.getElementById("recordCitation");
24
- const recordExportDownloadDiv = document.getElementById("recordExportDownload");
25
- const sidebarCommunitiesManageDiv = document.getElementById(
26
- "sidebar-communities-manage"
27
- );
28
-
29
19
  const overriddenComponents = overrideStore.getAll();
30
20
 
21
+ const recordManagementAppDiv = document.getElementById("recordManagement");
22
+ const recordManagementMobile = document.getElementById("recordManagementMobile");
31
23
  if (recordManagementAppDiv) {
32
24
  renderRecordManagement(recordManagementAppDiv);
33
25
  recordManagementMobile && renderRecordManagement(recordManagementMobile);
34
26
  }
35
27
 
36
28
  function renderRecordManagement(element) {
29
+ const record = JSON.parse(recordManagementAppDiv.dataset.record);
37
30
  ReactDOM.render(
38
31
  <OverridableContext.Provider value={overriddenComponents}>
39
32
  <RecordManagement
40
- record={JSON.parse(recordManagementAppDiv.dataset.record)}
33
+ record={record}
41
34
  permissions={JSON.parse(recordManagementAppDiv.dataset.permissions)}
42
35
  isDraft={JSON.parse(recordManagementAppDiv.dataset.isDraft)}
43
36
  isPreviewSubmissionRequest={JSON.parse(
44
37
  recordManagementAppDiv.dataset.isPreviewSubmissionRequest
45
38
  )}
46
39
  currentUserId={recordManagementAppDiv.dataset.currentUserId}
47
- recordOwnerID={recordManagementAppDiv.dataset.recordOwnerId}
40
+ recordOwnerID={record.parent.access.owned_by.user}
48
41
  groupsEnabled={JSON.parse(recordManagementAppDiv.dataset.groupsEnabled)}
42
+ recordDeletion={JSON.parse(recordManagementAppDiv.dataset.recordDeletion)}
43
+ recordDeletionOptions={JSON.parse(
44
+ recordManagementAppDiv.dataset.recordDeletionOptions
45
+ )}
49
46
  />
50
47
  </OverridableContext.Provider>,
51
48
  element
52
49
  );
53
50
  }
54
51
 
52
+ const recordVersionsAppDiv = document.getElementById("recordVersions");
55
53
  if (recordVersionsAppDiv) {
56
54
  ReactDOM.render(
57
55
  <RecordVersionsList
@@ -62,10 +60,11 @@ if (recordVersionsAppDiv) {
62
60
  );
63
61
  }
64
62
 
63
+ const recordCitationAppDiv = document.getElementById("recordCitation");
65
64
  if (recordCitationAppDiv) {
66
65
  ReactDOM.render(
67
66
  <RecordCitationField
68
- record={JSON.parse(recordCitationAppDiv.dataset.record)}
67
+ recordLinks={JSON.parse(recordCitationAppDiv.dataset.recordLinks)}
69
68
  styles={JSON.parse(recordCitationAppDiv.dataset.styles)}
70
69
  defaultStyle={JSON.parse(recordCitationAppDiv.dataset.defaultstyle)}
71
70
  includeDeleted={JSON.parse(recordCitationAppDiv.dataset.includeDeleted)}
@@ -74,6 +73,7 @@ if (recordCitationAppDiv) {
74
73
  );
75
74
  }
76
75
 
76
+ const recordExportDownloadDiv = document.getElementById("recordExportDownload");
77
77
  if (recordExportDownloadDiv) {
78
78
  ReactDOM.render(
79
79
  <ExportDropdown formats={JSON.parse(recordExportDownloadDiv.dataset.formats)} />,
@@ -81,44 +81,46 @@ if (recordExportDownloadDiv) {
81
81
  );
82
82
  }
83
83
 
84
+ const sidebarCommunitiesManageDiv = document.getElementById(
85
+ "sidebar-communities-manage"
86
+ );
84
87
  if (sidebarCommunitiesManageDiv) {
88
+ const userCommunitiesMemberships = JSON.parse(
89
+ sidebarCommunitiesManageDiv.dataset.userCommunitiesMemberships
90
+ );
91
+ const recordCommunityEndpoint =
92
+ sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint;
85
93
  const recordCommunitySearchConfig = JSON.parse(
86
94
  sidebarCommunitiesManageDiv.dataset.recordCommunitySearchConfig
87
95
  );
88
- const pendingCommunitiesSearchConfig =
89
- sidebarCommunitiesManageDiv.dataset.pendingCommunitiesSearchConfig;
96
+ const recordUserCommunitySearchConfig = JSON.parse(
97
+ sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
98
+ );
99
+ const pendingCommunitiesSearchConfig = JSON.parse(
100
+ sidebarCommunitiesManageDiv.dataset.pendingCommunitiesSearchConfig
101
+ );
102
+ const permissions = JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions);
103
+ const record = JSON.parse(sidebarCommunitiesManageDiv.dataset.record);
90
104
  ReactDOM.render(
91
105
  <OverridableContext.Provider value={overriddenComponents}>
92
106
  <Overridable
93
107
  id="InvenioAppRdm.RecordLandingPage.CommunitiesManagement.container"
94
- userCommunitiesMemberships={JSON.parse(
95
- sidebarCommunitiesManageDiv.dataset.userCommunitiesMemberships
96
- )}
97
- recordCommunityEndpoint={
98
- sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint
99
- }
100
- recordUserCommunitySearchConfig={JSON.parse(
101
- sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
102
- )}
108
+ userCommunitiesMemberships={userCommunitiesMemberships}
109
+ recordCommunityEndpoint={recordCommunityEndpoint}
110
+ recordUserCommunitySearchConfig={recordUserCommunitySearchConfig}
103
111
  recordCommunitySearchConfig={recordCommunitySearchConfig}
104
- permissions={JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions)}
105
- searchConfig={JSON.parse(pendingCommunitiesSearchConfig)}
106
- record={JSON.parse(recordCitationAppDiv.dataset.record)}
112
+ permissions={permissions}
113
+ searchConfig={pendingCommunitiesSearchConfig}
114
+ record={record}
107
115
  >
108
116
  <CommunitiesManagement
109
- userCommunitiesMemberships={JSON.parse(
110
- sidebarCommunitiesManageDiv.dataset.userCommunitiesMemberships
111
- )}
112
- recordCommunityEndpoint={
113
- sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint
114
- }
115
- recordUserCommunitySearchConfig={JSON.parse(
116
- sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
117
- )}
117
+ userCommunitiesMemberships={userCommunitiesMemberships}
118
+ recordCommunityEndpoint={recordCommunityEndpoint}
119
+ recordUserCommunitySearchConfig={recordUserCommunitySearchConfig}
118
120
  recordCommunitySearchConfig={recordCommunitySearchConfig}
119
- permissions={JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions)}
120
- searchConfig={JSON.parse(pendingCommunitiesSearchConfig)}
121
- record={JSON.parse(recordCitationAppDiv.dataset.record)}
121
+ permissions={permissions}
122
+ searchConfig={pendingCommunitiesSearchConfig}
123
+ record={record}
122
124
  />
123
125
  </Overridable>
124
126
  </OverridableContext.Provider>,
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2020-2021 CERN.
2
+ // Copyright (C) 2020-2025 CERN.
3
3
  // Copyright (C) 2020-2021 Northwestern University.
4
4
  // Copyright (C) 2021 Graz University of Technology.
5
5
  //
@@ -12,6 +12,10 @@ $("#record-doi-badge").on("click", function () {
12
12
  $("#doi-modal").modal("show");
13
13
  });
14
14
 
15
+ $("#record-conceptdoi-badge").on("click", function () {
16
+ $("#conceptdoi-modal").modal("show");
17
+ });
18
+
15
19
  $(".preview-link").on("click", function (event) {
16
20
  $("#preview-file-title").html(event.target.dataset.fileKey);
17
21
  });
@@ -28,7 +32,7 @@ $(".dropdown.export").dropdown({
28
32
  },
29
33
  });
30
34
 
31
- const $licensesPopup = $("#licenses li.has-popup .license.clickable");
35
+ const $licensesPopup = $("#licenses .has-popup .license.clickable");
32
36
 
33
37
  // Licenses description popup
34
38
  $licensesPopup.popup({
@@ -45,18 +49,18 @@ $licensesPopup.popup({
45
49
 
46
50
  $licensesPopup.on("keydown", function (event) {
47
51
  if (event.key === "Enter") {
48
- $("#licenses li.has-popup .license.clickable").popup("hide");
52
+ $licensesPopup.popup("hide");
49
53
  $(event.target).popup("show");
50
54
  }
51
55
  });
52
56
 
53
57
  $("#licenses .licenses-description .close.icon").on({
54
58
  click: function () {
55
- $("#licenses li.has-popup .license.clickable").popup("hide");
59
+ $licensesPopup.popup("hide");
56
60
  },
57
61
  keydown: function (event) {
58
62
  if (event.key === "Enter") {
59
- $("#licenses li.has-popup .license.clickable").popup("hide");
63
+ $licensesPopup.popup("hide");
60
64
  }
61
65
  },
62
66
  });
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2023 CERN.
2
+ // Copyright (C) 2023-2025 CERN.
3
3
  //
4
4
  // Invenio App RDM is free software; you can redistribute it and/or modify it
5
5
  // under the terms of the MIT License; see LICENSE file for more details.
@@ -46,7 +46,7 @@ export class AccessRequestTimelineEdit extends Component {
46
46
  links: { self: selfLink },
47
47
  } = request;
48
48
  const { secret_link_expiration: secretLinkExpiration } = values;
49
- if (secretLinkExpiration === null) {
49
+ if (secretLinkExpiration === null || secretLinkExpiration === "") {
50
50
  payload["secret_link_expiration"] = "0";
51
51
  } else {
52
52
  const date = DateTime.fromISO(secretLinkExpiration);
@@ -76,17 +76,17 @@ export class AccessRequestTimelineEdit extends Component {
76
76
  initFormValues = () => {
77
77
  const {
78
78
  request: {
79
- payload: { secret_link_expiration },
79
+ payload: { secret_link_expiration: secretLinkExpiration },
80
80
  },
81
81
  } = this.props;
82
82
 
83
- if (parseInt(secret_link_expiration) === 0) {
83
+ if (parseInt(secretLinkExpiration) === 0 || secretLinkExpiration === "NaN") {
84
84
  return {
85
85
  secret_link_expiration: "",
86
86
  };
87
87
  }
88
88
  const dateFromDays = DateTime.now().plus({
89
- days: parseInt(secret_link_expiration),
89
+ days: parseInt(secretLinkExpiration),
90
90
  });
91
91
  return {
92
92
  secret_link_expiration: dateFromDays.toISODate(),
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2023 CERN.
2
+ // Copyright (C) 2023-2025 CERN.
3
3
  //
4
4
  // Invenio App RDM is free software; you can redistribute it and/or modify it
5
5
  // under the terms of the MIT License; see LICENSE file for more details.
@@ -20,7 +20,7 @@ export class AccessRequestTimelineRead extends Component {
20
20
  } = this.props;
21
21
 
22
22
  const expirationDate =
23
- secretLinkExpiration === 0
23
+ parseInt(secretLinkExpiration) === 0
24
24
  ? i18next.t("Never")
25
25
  : DateTime.fromISO(updated)
26
26
  .plus({
@@ -31,7 +31,6 @@ import {
31
31
  } from "semantic-ui-react";
32
32
  import RecordsResultsListItem from "../components/RecordsResultsListItem";
33
33
  import PropTypes from "prop-types";
34
- import { Trans } from "react-i18next";
35
34
 
36
35
  export const RDMRecordResultsListItemWithState = withState(
37
36
  ({ currentQueryState, result, appName }) => (
@@ -205,7 +204,7 @@ export const RDMEmptyResults = ({ queryString, searchPath, resetQuery }) => {
205
204
  <Grid.Column width={12} textAlign="center">
206
205
  <Header as="h2">
207
206
  {i18next.t("We couldn't find any matches for {{- search}}", {
208
- search: (queryString && `'${queryString}'`) || "your search",
207
+ search: (queryString && `'${queryString}'`) || i18next.t("your search"),
209
208
  })}
210
209
  </Header>
211
210
  </Grid.Column>
@@ -224,23 +223,19 @@ export const RDMEmptyResults = ({ queryString, searchPath, resetQuery }) => {
224
223
  <Header as="h3" size="small">
225
224
  {i18next.t("ProTip")}!
226
225
  </Header>
227
- <Trans>
228
- <p>
229
- <a href={`${searchPath}?q=metadata.publication_date:[2017-01-01 TO *]`}>
230
- metadata.publication_date:[2017-01-01 TO *]
231
- </a>{" "}
232
- will give you all the publications from 2017 until today.
233
- </p>
234
- </Trans>
235
- <Trans>
236
- <p>
237
- For more tips, check out our{" "}
238
- <a href="/help/search" title={i18next.t("Search guide")}>
239
- search guide
240
- </a>{" "}
241
- for defining advanced search queries.
242
- </p>
243
- </Trans>
226
+ <p>
227
+ <a href={`${searchPath}?q=metadata.publication_date:[2025-01-01 TO *]`}>
228
+ metadata.publication_date:[2025-01-01 TO *]
229
+ </a>{" "}
230
+ {i18next.t("will give you all the publications from 2025 until today.")}
231
+ </p>
232
+ <p>
233
+ {i18next.t("For more tips, check out our ")}{" "}
234
+ <a href="/help/search" title={i18next.t("Search guide")}>
235
+ {i18next.t("search guide")}
236
+ </a>{" "}
237
+ {i18next.t("for defining advanced search queries.")}
238
+ </p>
244
239
  </Segment>
245
240
  </Grid.Column>
246
241
  </Grid.Row>
@@ -7,6 +7,7 @@
7
7
 
8
8
  import $ from "jquery";
9
9
  import { MultipleOptionsSearchBar } from "@js/invenio_search_ui/components";
10
+ import { CopyButton } from "@js/invenio_app_rdm/components/CopyButton";
10
11
  import { i18next } from "@translations/invenio_app_rdm/i18next";
11
12
  import ReactDOM from "react-dom";
12
13
  import React from "react";
@@ -153,3 +154,11 @@ if (window.invenio) {
153
154
  }
154
155
  };
155
156
  }
157
+
158
+ // Copy Buttons for DOI
159
+ document.querySelectorAll(".copy-doi-button").forEach((element) => {
160
+ ReactDOM.render(
161
+ <CopyButton text={element.dataset.value} size={element.dataset.size} />,
162
+ element
163
+ );
164
+ });
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright (C) 2025 CESNET
3
+ *
4
+ * Invenio RDM Records is free software; you can redistribute it and/or modify
5
+ * it under the terms of the MIT License; see LICENSE file for more details.
6
+ */
7
+
8
+ @import "@uppy/core/dist/style.min.css";
9
+ @import "@uppy/dashboard/dist/style.min.css";
10
+ @import "@uppy/image-editor/dist/style.min.css";
11
+
12
+ .uppy-Dashboard-AddFiles {
13
+ padding: 1.2rem;
14
+ }
15
+ .uppy-Dashboard-AddFiles-info {
16
+ display: block;
17
+ }
18
+
19
+ .uppy-Dashboard-note {
20
+ padding-top: 3rem;
21
+ }
22
+
23
+ .uppy-Dashboard-inner {
24
+ border-radius: 0 0 5px 5px;
25
+ }
26
+
27
+ .uppy-Dashboard-innerWrap {
28
+ height: 350px;
29
+
30
+ &:has(#uppy-DashboardContent-panel--editor) {
31
+ height: 500px;
32
+ }
33
+ }
34
+
35
+ .uppy-DashboardContent-bar, .uppy-StatusBar {
36
+ z-index: 10;
37
+ }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2020-2022 CERN.
2
+ * Copyright (C) 2020-2025 CERN.
3
3
  * Copyright (C) 2020 Northwestern University.
4
4
  * Copyright (C) 2021 Graz University of Technology.
5
5
  * Copyright (C) 2021 New York University.
@@ -8,10 +8,12 @@
8
8
  * it under the terms of the MIT License; see LICENSE file for more details.
9
9
  */
10
10
 
11
- #licenses ul.details-list {
11
+ #licenses ul.details-list,
12
+ #licenses dl.details-list {
12
13
  list-style-type: none;
13
14
 
14
- li {
15
+ li,
16
+ dd {
15
17
  margin: .5rem 0;
16
18
 
17
19
  &:first-child {
@@ -553,4 +553,9 @@ dl.details-list {
553
553
  }
554
554
  }
555
555
 
556
-
556
+ .details-doi-section {
557
+ cursor: pointer;
558
+ display: flex;
559
+ align-items: center;
560
+ justify-content: space-between;
561
+ }
@@ -3,6 +3,15 @@
3
3
  &.tab-menu-accordion {
4
4
  transform: none;
5
5
  }
6
+
7
+ transform: @activeIconTransform;
8
+ }
9
+
10
+ .ui.accordion .title .icon,
11
+ .ui.accordion .accordion .title .icon {
12
+ transition: @iconTransition;
13
+ width: auto;
14
+ height: auto;
6
15
  }
7
16
 
8
17
  /* use these classes to change accordion title when up/down */
@@ -31,7 +40,7 @@ div.affiliations.accordion div.title button.down {
31
40
  &.invenio-accordion-field {
32
41
  margin-bottom: 2rem;
33
42
 
34
- .title {
43
+ .title:not(.ui) {
35
44
  background-color: @brandColor;
36
45
  color: @white;
37
46
  padding: 1em;
@@ -0,0 +1,7 @@
1
+ .ui.search > .results .result {
2
+ .requests-avatar-container .image {
3
+ float: left;
4
+ height: 1em;
5
+ width: unset;
6
+ }
7
+ }
@@ -1,4 +1,4 @@
1
- // This file is part of React-Invenio-Deposit
1
+ // This file is part of invenio-app-rdm.
2
2
  // Copyright (C) 2021 Graz University of Technology.
3
3
  //
4
4
  // Invenio-app-rdm is free software; you can redistribute it and/or modify it
@@ -0,0 +1,66 @@
1
+ // AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
2
+ // This file exports all available translations for i18next
3
+
4
+ import TRANSLATE_AR from "./ar/translations.json";
5
+ import TRANSLATE_BG from "./bg/translations.json";
6
+ import TRANSLATE_CA from "./ca/translations.json";
7
+ import TRANSLATE_CS from "./cs/translations.json";
8
+ import TRANSLATE_DA from "./da/translations.json";
9
+ import TRANSLATE_DE from "./de/translations.json";
10
+ import TRANSLATE_EL from "./el/translations.json";
11
+ import TRANSLATE_EN from "./en/translations.json";
12
+ import TRANSLATE_ES from "./es/translations.json";
13
+ import TRANSLATE_ET from "./et/translations.json";
14
+ import TRANSLATE_FA from "./fa/translations.json";
15
+ import TRANSLATE_FR from "./fr/translations.json";
16
+ import TRANSLATE_HR from "./hr/translations.json";
17
+ import TRANSLATE_HU from "./hu/translations.json";
18
+ import TRANSLATE_IT from "./it/translations.json";
19
+ import TRANSLATE_JA from "./ja/translations.json";
20
+ import TRANSLATE_KA from "./ka/translations.json";
21
+ import TRANSLATE_KO from "./ko/translations.json";
22
+ import TRANSLATE_LT from "./lt/translations.json";
23
+ import TRANSLATE_NO from "./no/translations.json";
24
+ import TRANSLATE_PL from "./pl/translations.json";
25
+ import TRANSLATE_PT from "./pt/translations.json";
26
+ import TRANSLATE_RO from "./ro/translations.json";
27
+ import TRANSLATE_RU from "./ru/translations.json";
28
+ import TRANSLATE_SK from "./sk/translations.json";
29
+ import TRANSLATE_SV from "./sv/translations.json";
30
+ import TRANSLATE_TR from "./tr/translations.json";
31
+ import TRANSLATE_UK from "./uk/translations.json";
32
+ import TRANSLATE_ZH_CN from "./zh_CN/translations.json";
33
+ import TRANSLATE_ZH_TW from "./zh_TW/translations.json";
34
+
35
+ export const translations = {
36
+ ar: { translation: TRANSLATE_AR },
37
+ bg: { translation: TRANSLATE_BG },
38
+ ca: { translation: TRANSLATE_CA },
39
+ cs: { translation: TRANSLATE_CS },
40
+ da: { translation: TRANSLATE_DA },
41
+ de: { translation: TRANSLATE_DE },
42
+ el: { translation: TRANSLATE_EL },
43
+ en: { translation: TRANSLATE_EN },
44
+ es: { translation: TRANSLATE_ES },
45
+ et: { translation: TRANSLATE_ET },
46
+ fa: { translation: TRANSLATE_FA },
47
+ fr: { translation: TRANSLATE_FR },
48
+ hr: { translation: TRANSLATE_HR },
49
+ hu: { translation: TRANSLATE_HU },
50
+ it: { translation: TRANSLATE_IT },
51
+ ja: { translation: TRANSLATE_JA },
52
+ ka: { translation: TRANSLATE_KA },
53
+ ko: { translation: TRANSLATE_KO },
54
+ lt: { translation: TRANSLATE_LT },
55
+ no: { translation: TRANSLATE_NO },
56
+ pl: { translation: TRANSLATE_PL },
57
+ pt: { translation: TRANSLATE_PT },
58
+ ro: { translation: TRANSLATE_RO },
59
+ ru: { translation: TRANSLATE_RU },
60
+ sk: { translation: TRANSLATE_SK },
61
+ sv: { translation: TRANSLATE_SV },
62
+ tr: { translation: TRANSLATE_TR },
63
+ uk: { translation: TRANSLATE_UK },
64
+ zh_CN: { translation: TRANSLATE_ZH_CN },
65
+ zh_TW: { translation: TRANSLATE_ZH_TW },
66
+ };