diff --git a/front/src/locales/en_US.json b/front/src/locales/en_US.json index 9470f292f..182af5d50 100644 --- a/front/src/locales/en_US.json +++ b/front/src/locales/en_US.json @@ -4067,7 +4067,8 @@ "activity": "Activity", "domainView": "View on {domain}", "moderation": "Open in moderation interface", - "overview": "Overview" + "overview": "Overview", + "manageUploads": "Manage uploads" }, "title": "{username}'s profile" }, diff --git a/front/src/ui/routes/user.ts b/front/src/ui/routes/user.ts index 381462dbb..16a8b8990 100644 --- a/front/src/ui/routes/user.ts +++ b/front/src/ui/routes/user.ts @@ -28,6 +28,11 @@ export default [ path: 'activity', name: `profile${route.suffix}.activity`, component: () => import('~/views/auth/ProfileActivity.vue') + }, + { + path: 'manageUploads', + name: `profile${route.suffix}.manageUploads`, + component: () => import('~/views/auth/ManageUploads.vue') } ] } diff --git a/front/src/views/auth/ManageUploads.vue b/front/src/views/auth/ManageUploads.vue new file mode 100644 index 000000000..33f9faeda --- /dev/null +++ b/front/src/views/auth/ManageUploads.vue @@ -0,0 +1,603 @@ + + + + + + + + + + + + + + + {{ t('components.manage.library.UploadsTable.label.visibility') }} + + + {{ t('components.manage.library.UploadsTable.option.all') }} + + + {{ sharedLabels.fields.privacy_level.shortChoices.me }} + + + {{ sharedLabels.fields.privacy_level.shortChoices.instance }} + + + {{ sharedLabels.fields.privacy_level.shortChoices.everyone }} + + + + + {{ t('components.manage.library.UploadsTable.label.status') }} + + + {{ t('components.manage.library.UploadsTable.option.all') }} + + + {{ t('components.manage.library.UploadsTable.option.pending') }} + + + {{ t('components.manage.library.UploadsTable.option.skipped') }} + + + {{ t('components.manage.library.UploadsTable.option.failed') }} + + + {{ t('components.manage.library.UploadsTable.option.finished') }} + + + + + {{ t('components.manage.library.UploadsTable.ordering.label') }} + + + {{ sharedLabels.filters[option[1]] }} + + + + + {{ t('components.manage.library.UploadsTable.ordering.direction.label') }} + + + {{ t('components.manage.library.UploadsTable.ordering.direction.ascending') }} + + + {{ t('components.manage.library.UploadsTable.ordering.direction.descending') }} + + + + + + + + + + + + + + + + + + + + + + + + + {{ t('components.manage.library.UploadsTable.table.upload.header.name') }} + + + + {{ t('components.manage.library.UploadsTable.table.upload.header.visibility') }} + + + + {{ t('components.manage.library.UploadsTable.table.upload.header.importStatus') }} + + + + {{ t('components.manage.library.UploadsTable.table.upload.header.size') }} + + + + {{ t('components.manage.library.UploadsTable.table.upload.header.accessedDate') }} + + + + + + + + + + + {{ truncate(displayName(item), 30, undefined, true) }} + + + + + + {{ item.privacy_level }} + + + + + + {{ item.import_status }} + + + + + + + + + {{ item.size + ? humanSize(item.size) + : t('components.manage.library.UploadsTable.notApplicable') + }} + + + + + + + {{ t('components.manage.library.UploadsTable.notApplicable') }} + + + + + + + + + + {{ t('components.manage.library.UploadsTable.table.upload.header.name') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.library') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.account') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.domain') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.visibility') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.importStatus') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.size') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.creationDate') }} + + + {{ t('components.manage.library.UploadsTable.table.upload.header.accessedDate') }} + + + + + + {{ truncate(displayName(scope.obj), 30, undefined, true) }} + + + + + + + + + + + + + + {{ getPrivacyLevelChoice(scope.obj.library.privacy_level) }} + + + + + {{ getImportStatusChoice(scope.obj.import_status).label }} + + + + + {{ humanSize(scope.obj.size) }} + + {{ t('components.manage.library.UploadsTable.notApplicable') }} + + + + + + + + + {{ t('components.manage.library.UploadsTable.notApplicable') }} + + + + + + + + {{ t('components.manage.library.UploadsTable.pagination.results', {start: ((page-1) * paginateBy) + 1, end: ((page-1) * paginateBy) + result.results.length, total: result.count}) }} + + diff --git a/front/src/views/auth/ProfileBase.vue b/front/src/views/auth/ProfileBase.vue index bb19d8c9b..e0a1cfad0 100644 --- a/front/src/views/auth/ProfileBase.vue +++ b/front/src/views/auth/ProfileBase.vue @@ -155,6 +155,17 @@ const recentActivity = ref(0) @updated="fetchData" /> + + + +