@open-mercato/core 0.9.1-develop.7462.1.94c09f158f → 0.9.1-develop.7466.1.2b0cea0016

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.
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/modules/staff/lib/time-tracking-ui/reportLinks.ts"],
4
+ "sourcesContent": ["export const REPORTS_PATH = '/backend/staff/time-tracking/reports'\n\nexport function reportDetailHref(reportId: string): string {\n return `${REPORTS_PATH}/${encodeURIComponent(reportId)}`\n}\n"],
5
+ "mappings": "AAAO,MAAM,eAAe;AAErB,SAAS,iBAAiB,UAA0B;AACzD,SAAO,GAAG,YAAY,IAAI,mBAAmB,QAAQ,CAAC;AACxD;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-mercato/core",
3
- "version": "0.9.1-develop.7462.1.94c09f158f",
3
+ "version": "0.9.1-develop.7466.1.2b0cea0016",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -264,16 +264,16 @@
264
264
  "zod": "^4.4.3"
265
265
  },
266
266
  "peerDependencies": {
267
- "@open-mercato/ai-assistant": "0.9.1-develop.7462.1.94c09f158f",
268
- "@open-mercato/shared": "0.9.1-develop.7462.1.94c09f158f",
269
- "@open-mercato/ui": "0.9.1-develop.7462.1.94c09f158f",
267
+ "@open-mercato/ai-assistant": "0.9.1-develop.7466.1.2b0cea0016",
268
+ "@open-mercato/shared": "0.9.1-develop.7466.1.2b0cea0016",
269
+ "@open-mercato/ui": "0.9.1-develop.7466.1.2b0cea0016",
270
270
  "react": "^19.0.0",
271
271
  "react-dom": "^19.0.0"
272
272
  },
273
273
  "devDependencies": {
274
- "@open-mercato/ai-assistant": "0.9.1-develop.7462.1.94c09f158f",
275
- "@open-mercato/shared": "0.9.1-develop.7462.1.94c09f158f",
276
- "@open-mercato/ui": "0.9.1-develop.7462.1.94c09f158f",
274
+ "@open-mercato/ai-assistant": "0.9.1-develop.7466.1.2b0cea0016",
275
+ "@open-mercato/shared": "0.9.1-develop.7466.1.2b0cea0016",
276
+ "@open-mercato/ui": "0.9.1-develop.7466.1.2b0cea0016",
277
277
  "@testing-library/dom": "^10.4.1",
278
278
  "@testing-library/jest-dom": "^7.0.1",
279
279
  "@testing-library/react": "^16.3.3",
@@ -109,6 +109,7 @@ export function ActivitiesSection({
109
109
  useCanonicalInteractions = false,
110
110
  onActionChange,
111
111
  onLoadingChange,
112
+ onDataRefresh,
112
113
  refreshKey = 0,
113
114
  onEditActivity,
114
115
  runGuardedMutation,
@@ -294,8 +295,14 @@ export function ActivitiesSection({
294
295
  } catch (err) {
295
296
  logger.warn('Mark done failed', { component: 'ActivitiesSection', activityId, err })
296
297
  flash(t('customers.activities.actions.markDoneError', 'Could not mark activity as done'), 'error')
298
+ return
299
+ }
300
+ try {
301
+ await Promise.resolve(onDataRefresh?.())
302
+ } catch (err) {
303
+ logger.warn('Parent refresh after mark done failed', { component: 'ActivitiesSection', activityId, err })
297
304
  }
298
- }, [loadActivities, runGuardedMutation, t])
305
+ }, [loadActivities, onDataRefresh, runGuardedMutation, t])
299
306
 
300
307
  const resolvedUserIdsRef = React.useRef(new Set<string>())
301
308
 
@@ -81,6 +81,7 @@ import { useT } from '@open-mercato/shared/lib/i18n/context'
81
81
  import { useOrganizationScopeVersion } from '@open-mercato/shared/lib/frontend/useOrganizationScope'
82
82
  import { createLogger } from '@open-mercato/shared/lib/logger'
83
83
  import { TimeEntryDialog } from '../../../../lib/time-tracking-ui/TimeEntryDialog'
84
+ import { REPORTS_PATH, reportDetailHref } from '../../../../lib/time-tracking-ui/reportLinks'
84
85
  import { TimeEntryDurationCell } from '../../../../lib/time-tracking-ui/TimeEntryDurationCell'
85
86
  import { TimeEntriesSummaryFooter } from '../../../../lib/time-tracking-ui/TimeEntriesSummaryFooter'
86
87
  import {
@@ -120,7 +121,6 @@ const MANAGE_ALL_FEATURE = 'staff.timesheets.manage_all'
120
121
  * ordinary filter values, so they carry a removable chip like anything else.
121
122
  */
122
123
  const DEEP_LINK_PARAMS = ['taskId', 'ids'] as const
123
- const REPORTS_PATH = '/backend/staff/time-tracking/reports'
124
124
  const MUTATION_CONTEXT_ID = 'staff.time_tracking.entriesList'
125
125
  const RESOURCE_KIND = 'staff.timesheets.time_entry'
126
126
 
@@ -1171,7 +1171,7 @@ export default function TimeTrackingEntriesPage() {
1171
1171
  id: 'show-report',
1172
1172
  label: labels.showReport,
1173
1173
  href: row.lockedReportId
1174
- ? `${REPORTS_PATH}?id=${encodeURIComponent(row.lockedReportId)}`
1174
+ ? reportDetailHref(row.lockedReportId)
1175
1175
  : REPORTS_PATH,
1176
1176
  },
1177
1177
  ]}
@@ -56,6 +56,7 @@ import { useT } from '@open-mercato/shared/lib/i18n/context'
56
56
  import { useOrganizationScopeVersion } from '@open-mercato/shared/lib/frontend/useOrganizationScope'
57
57
  import { createLogger } from '@open-mercato/shared/lib/logger'
58
58
  import { DurationInput } from './DurationInput'
59
+ import { reportDetailHref } from './reportLinks'
59
60
  import { formatDuration } from '../time-tracking/duration'
60
61
  import { parseClock } from '../time-tracking/interval'
61
62
  import { applicableRate, entryAmount } from '../time-tracking/cost'
@@ -102,7 +103,7 @@ function fieldValueSnapshot(value: unknown): string {
102
103
  }
103
104
  export const RATES_FEATURE = 'staff.timesheets.rates.view'
104
105
  export const ENTRIES_LIST_PATH = '/backend/staff/time-tracking/entries'
105
- export const REPORTS_PATH = '/backend/staff/time-tracking/reports'
106
+ export { REPORTS_PATH } from './reportLinks'
106
107
 
107
108
  const DIALOG_QUERY_ROOT = ['staff', 'time-tracking', 'entry-dialog'] as const
108
109
  const DIRECTORY_PAGE_SIZE = 100
@@ -1390,7 +1391,7 @@ function DefaultTimeEntryDialog({
1390
1391
  className="mt-2"
1391
1392
  data-testid="entry-dialog-locked-report"
1392
1393
  onClick={() =>
1393
- window.open(`${REPORTS_PATH}?id=${encodeURIComponent(lockedReportId)}`, '_blank', 'noopener')
1394
+ window.open(reportDetailHref(lockedReportId), '_blank', 'noopener')
1394
1395
  }
1395
1396
  >
1396
1397
  {t('staff.time_tracking.entryDialog.locked.showReport', 'Show the report')}
@@ -0,0 +1,5 @@
1
+ export const REPORTS_PATH = '/backend/staff/time-tracking/reports'
2
+
3
+ export function reportDetailHref(reportId: string): string {
4
+ return `${REPORTS_PATH}/${encodeURIComponent(reportId)}`
5
+ }