diff --git a/src/views/User/UserActivities.jsx b/src/views/User/UserActivities.jsx index 4a4d5f6..c1b2692 100644 --- a/src/views/User/UserActivities.jsx +++ b/src/views/User/UserActivities.jsx @@ -37,6 +37,7 @@ import { useFilter } from '../../hooks/useFilter' import { useLocalization } from '../../contexts/LocalizationContext' import { useChores, useChoresHistory } from '../../queries/ChoreQueries' +import HistoryDetailModal from '../Modals/HistoryDetailModal' import NoteViewerModal from '../Modals/Inputs/NoteViewerModal' import { useCircleMembers, useUserProfile } from '../../queries/UserQueries.jsx' import { useLabels } from '../Labels/LabelQueries' @@ -69,11 +70,31 @@ const statusConfig = { 6: { color: 'warning', icon: }, } -const ChoreHistoryItem = ({ time, name, points, status, performer, notes, onViewNote }) => { +const ChoreHistoryItem = ({ + time, + name, + points, + status, + notes, + onViewNote, + onViewDetails, +}) => { const cfg = statusConfig[status] ?? statusConfig[1] return ( - + {time} @@ -134,16 +155,16 @@ const ChoreHistoryItem = ({ time, name, points, status, performer, notes, onView ) } - -const ChoreHistoryTimeline = ({ history, onViewNote }) => { +const ChoreHistoryTimeline = ({ + history, + performers, + onViewNote, + onViewDetails, +}) => { const { fmt } = useLocalization() const groupedHistory = groupByDate(history) - const sortedEntries = Object.entries(groupedHistory).sort( - ([a], [b]) => new Date(b) - new Date(a), - ) - return ( @@ -164,20 +185,16 @@ const ChoreHistoryTimeline = ({ history, onViewNote }) => { {items.map(record => ( - <> - - + onViewDetails?.(record, performers)} + /> ))} @@ -396,6 +413,7 @@ const UserActivites = () => { const [enrichedHistory, setEnrichedHistory] = React.useState([]) const [selectedChart, setSelectedChart] = React.useState('history') const [noteViewerConfig, setNoteViewerConfig] = useState({ isOpen: false }) + const [detailModalConfig, setDetailModalConfig] = useState({ isOpen: false }) const [historyPieChartData, setHistoryPieChartData] = React.useState([]) const [choreDuePieChartData, setChoreDuePieChartData] = React.useState([]) @@ -1038,6 +1056,7 @@ const UserActivites = () => { { setNoteViewerConfig({ isOpen: true, @@ -1046,6 +1065,14 @@ const UserActivites = () => { onClose: () => setNoteViewerConfig({ isOpen: false }), }) }} + onViewDetails={(entry, performers) => { + setDetailModalConfig({ + isOpen: true, + entry, + performers, + onClose: () => setDetailModalConfig({ isOpen: false }), + }) + }} /> @@ -1197,6 +1224,7 @@ const UserActivites = () => { )} + ) }