diff --git a/api/typeDefs/item.js b/api/typeDefs/item.js index f09885cf8..c50b425d3 100644 --- a/api/typeDefs/item.js +++ b/api/typeDefs/item.js @@ -105,6 +105,7 @@ export default gql` uploadId: Int pollCost: Int deletedAt: Date + originalItemId: Int } type Comments { diff --git a/components/item-history.js b/components/item-history.js index 5382e06f4..4f755c77a 100644 --- a/components/item-history.js +++ b/components/item-history.js @@ -19,10 +19,21 @@ export function OldItem ({ version }) { ) } -export default function HistoryDropdownItem ({ item }) { +export default function HistoryDropdown ({ item }) { const router = useRouter() const showModal = useShowModal() + const lastEdited = new Date(item.oldVersions[0].cloneDiedAt) + + // TODO: overengineering? not handling it just closes the modal + /* const handleLastEdit = () => { + if (!item.parentId) { + router.replace(`/items/${item.id}`) + } else { + router.replace(`/items/${item.parentId}/?commentId=${item.id}`) + } + } */ + return ( e.preventDefault()}> @@ -33,11 +44,18 @@ export default function HistoryDropdownItem ({ item }) { edited {item.oldVersions.length} times
- router.push(`/items/${item.id}`)}> - edited {timeSince(new Date(item.oldVersions[0].cloneDiedAt))} ago (most recent) + + edited {timeSince(lastEdited)} ago (most recent) - {item.oldVersions.map((version) => ( // TODO: prettier - showModal((onClose) => )}> + {item.oldVersions.map((version) => ( + showModal((onClose) => )} + > {!version.cloneBornAt ? 'created' : 'edited'} {timeSince(new Date(version.cloneBornAt || version.createdAt))} ago ))} diff --git a/components/item-info.js b/components/item-info.js index 60aaca9bc..40d142570 100644 --- a/components/item-info.js +++ b/components/item-info.js @@ -29,7 +29,7 @@ import { useShowModal } from './modal' import classNames from 'classnames' import SubPopover from './sub-popover' import useCanShadowEdit from './use-can-edit' -import HistoryDropdownItem from './item-history' +import HistoryDropdown from './item-history' function itemTitle (item) { let title = '' @@ -149,7 +149,7 @@ export default function ItemInfo ({ {item.oldVersions?.length > 0 && !item.deletedAt && <> - + } {item.subName && diff --git a/fragments/comments.js b/fragments/comments.js index 6855aada6..da23706ab 100644 --- a/fragments/comments.js +++ b/fragments/comments.js @@ -65,6 +65,7 @@ export const COMMENT_FIELDS = gql` uploadId pollCost deletedAt + originalItemId } rel apiKey diff --git a/fragments/items.js b/fragments/items.js index fdc652872..f1f8fe5ea 100644 --- a/fragments/items.js +++ b/fragments/items.js @@ -90,6 +90,7 @@ export const ITEM_FIELDS = gql` uploadId pollCost deletedAt + originalItemId } rel apiKey