From 481cd14cb15b18dcac8961ac58afb9b1d722487b Mon Sep 17 00:00:00 2001 From: Alexandre Bourdin Date: Wed, 12 Apr 2023 10:34:56 +0200 Subject: [PATCH] Merge pull request #12557 from overleaf/ii-history-react-labels-only [web] History labels only list GitOrigin-RevId: 58b8e5a5af0754e32841223f9c478c25900df526 --- .../web/frontend/extracted-translations.json | 1 + .../components/change-list/changes.tsx | 10 +- .../change-list/history-version.tsx | 36 +++---- .../components/change-list/label-badges.tsx | 96 ------------------- .../components/change-list/labels-list.tsx | 60 +++++++++++- .../change-list/metadata-users-list.tsx | 28 ++---- .../components/change-list/tag-tooltip.tsx | 90 +++++++++++++++++ .../user-name-with-colored-badge.tsx | 39 ++++++++ .../context/types/history-context-value.ts | 10 +- .../js/features/history/services/api.ts | 3 +- .../features/history/services/types/label.ts | 22 +++++ .../features/history/services/types/update.ts | 22 +---- .../features/history/utils/history-details.ts | 7 +- .../js/features/history/utils/label.ts | 18 ++-- .../frontend/js/shared/components/badge.tsx | 43 +++++++++ .../frontend/stylesheets/_style_includes.less | 1 + .../stylesheets/app/editor/history-react.less | 42 ++++---- .../stylesheets/components/badge.less | 32 +++++++ .../frontend/stylesheets/core/variables.less | 1 + .../web/frontend/stylesheets/main-style.less | 1 + services/web/locales/en.json | 1 + 21 files changed, 357 insertions(+), 206 deletions(-) create mode 100644 services/web/frontend/js/features/history/components/change-list/tag-tooltip.tsx create mode 100644 services/web/frontend/js/features/history/components/change-list/user-name-with-colored-badge.tsx create mode 100644 services/web/frontend/js/features/history/services/types/label.ts create mode 100644 services/web/frontend/js/shared/components/badge.tsx create mode 100644 services/web/frontend/stylesheets/components/badge.less diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 9e04a45306..9902c620d9 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -711,6 +711,7 @@ "save_x_percent_or_more": "", "saved_bibtex_appended_to_galileo_bib": "", "saved_bibtex_to_new_galileo_bib": "", + "saved_by": "", "saving": "", "search": "", "search_bib_files": "", diff --git a/services/web/frontend/js/features/history/components/change-list/changes.tsx b/services/web/frontend/js/features/history/components/change-list/changes.tsx index 5ac4825b07..4f94a345a6 100644 --- a/services/web/frontend/js/features/history/components/change-list/changes.tsx +++ b/services/web/frontend/js/features/history/components/change-list/changes.tsx @@ -3,21 +3,21 @@ import { getProjectOpDoc } from '../../utils/history-details' import { LoadedUpdate } from '../../services/types/update' type ChangesProps = { - pathNames: LoadedUpdate['pathnames'] + pathnames: LoadedUpdate['pathnames'] projectOps: LoadedUpdate['project_ops'] } -function Changes({ pathNames, projectOps }: ChangesProps) { +function Changes({ pathnames, projectOps }: ChangesProps) { const { t } = useTranslation() return (
    - {pathNames.map(pathName => ( -
  1. + {pathnames.map(pathname => ( +
  2. {t('file_action_edited')}
    -
    {pathName}
    +
    {pathname}
  3. ))} {projectOps.map((op, index) => ( diff --git a/services/web/frontend/js/features/history/components/change-list/history-version.tsx b/services/web/frontend/js/features/history/components/change-list/history-version.tsx index fc2beb1391..57a9a8a768 100644 --- a/services/web/frontend/js/features/history/components/change-list/history-version.tsx +++ b/services/web/frontend/js/features/history/components/change-list/history-version.tsx @@ -1,9 +1,10 @@ -import LabelBadges from './label-badges' +import TagTooltip from './tag-tooltip' import Changes from './changes' import MetadataUsersList from './metadata-users-list' import Origin from './origin' import { useUserContext } from '../../../../shared/context/user-context' import { relativeDate, formatTime } from '../../../utils/format-date' +import { orderBy } from 'lodash' import { LoadedUpdate } from '../../services/types/update' type HistoryEntryProps = { @@ -12,6 +13,7 @@ type HistoryEntryProps = { function HistoryVersion({ update }: HistoryEntryProps) { const { id: currentUserId } = useUserContext() + const orderedLabels = orderBy(update.labels, ['created_at'], ['desc']) return (
    @@ -21,26 +23,24 @@ function HistoryVersion({ update }: HistoryEntryProps) { )}
    -
    - - + {formatTime(update.meta.end_ts, 'Do MMMM, h:mm a')} + + {orderedLabels.map(label => ( + - - - -
    + ))} + + +
    ) diff --git a/services/web/frontend/js/features/history/components/change-list/label-badges.tsx b/services/web/frontend/js/features/history/components/change-list/label-badges.tsx index 4958142489..e69de29bb2 100644 --- a/services/web/frontend/js/features/history/components/change-list/label-badges.tsx +++ b/services/web/frontend/js/features/history/components/change-list/label-badges.tsx @@ -1,96 +0,0 @@ -import { Fragment } from 'react' -import { useTranslation } from 'react-i18next' -import Icon from '../../../../shared/components/icon' -import Tooltip from '../../../../shared/components/tooltip' -import { useHistoryContext } from '../../context/history-context' -import { isPseudoLabel } from '../../utils/label' -import { formatDate } from '../../../../utils/dates' -import { orderBy } from 'lodash' -import { Label, PseudoCurrentStateLabel } from '../../services/types/update' - -type LabelBadgesProps = { - showTooltip: boolean - currentUserId: string - labels: Array