@open-mercato/core 0.4.5-develop-610fbb24ec → 0.4.5-develop-811deeb983
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.
- package/dist/modules/catalog/backend/catalog/categories/[id]/edit/page.js +17 -2
- package/dist/modules/catalog/backend/catalog/categories/[id]/edit/page.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/[id]/page.js +15 -0
- package/dist/modules/catalog/backend/catalog/products/[id]/page.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js +30 -0
- package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js.map +2 -2
- package/dist/modules/catalog/data/validators.js +4 -3
- package/dist/modules/catalog/data/validators.js.map +2 -2
- package/dist/modules/catalog/lib/messageObjectPreviews.js +146 -0
- package/dist/modules/catalog/lib/messageObjectPreviews.js.map +7 -0
- package/dist/modules/catalog/message-objects.js +95 -0
- package/dist/modules/catalog/message-objects.js.map +7 -0
- package/dist/modules/currencies/backend/currencies/[id]/page.js +21 -0
- package/dist/modules/currencies/backend/currencies/[id]/page.js.map +2 -2
- package/dist/modules/currencies/lib/messageObjectPreviews.js +51 -0
- package/dist/modules/currencies/lib/messageObjectPreviews.js.map +7 -0
- package/dist/modules/currencies/message-objects.js +41 -0
- package/dist/modules/currencies/message-objects.js.map +7 -0
- package/dist/modules/customers/backend/customers/companies/[id]/page.js +20 -0
- package/dist/modules/customers/backend/customers/companies/[id]/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/deals/[id]/page.js +12 -1
- package/dist/modules/customers/backend/customers/deals/[id]/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/people/[id]/page.js +20 -0
- package/dist/modules/customers/backend/customers/people/[id]/page.js.map +2 -2
- package/dist/modules/customers/components/detail/CompanyHighlights.js +18 -14
- package/dist/modules/customers/components/detail/CompanyHighlights.js.map +2 -2
- package/dist/modules/customers/components/detail/PersonHighlights.js +18 -14
- package/dist/modules/customers/components/detail/PersonHighlights.js.map +2 -2
- package/dist/modules/customers/lib/messageObjectPreviews.js +41 -5
- package/dist/modules/customers/lib/messageObjectPreviews.js.map +2 -2
- package/dist/modules/customers/message-objects.js +31 -11
- package/dist/modules/customers/message-objects.js.map +2 -2
- package/dist/modules/messages/commands/messages.js +3 -0
- package/dist/modules/messages/commands/messages.js.map +2 -2
- package/dist/modules/messages/components/message-detail/panels/objects-panel.js +6 -1
- package/dist/modules/messages/components/message-detail/panels/objects-panel.js.map +2 -2
- package/dist/modules/messages/components/message-detail/panels/thread-panel.js +4 -1
- package/dist/modules/messages/components/message-detail/panels/thread-panel.js.map +2 -2
- package/dist/modules/messages/frontend/messages/view/[token]/page.js +1 -0
- package/dist/modules/messages/frontend/messages/view/[token]/page.js.map +2 -2
- package/dist/modules/resources/backend/resources/resources/[id]/page.js +24 -7
- package/dist/modules/resources/backend/resources/resources/[id]/page.js.map +2 -2
- package/dist/modules/resources/lib/messageObjectPreviews.js +43 -0
- package/dist/modules/resources/lib/messageObjectPreviews.js.map +7 -0
- package/dist/modules/resources/message-objects.js +37 -0
- package/dist/modules/resources/message-objects.js.map +7 -0
- package/dist/modules/sales/backend/sales/channels/[channelId]/edit/page.js +19 -0
- package/dist/modules/sales/backend/sales/channels/[channelId]/edit/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/documents/[id]/page.js +23 -2
- package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/quotes/[id]/page.js +1 -1
- package/dist/modules/sales/backend/sales/quotes/[id]/page.js.map +2 -2
- package/dist/modules/sales/lib/messageObjectPreviews.js +49 -4
- package/dist/modules/sales/lib/messageObjectPreviews.js.map +2 -2
- package/dist/modules/sales/message-objects.js +44 -2
- package/dist/modules/sales/message-objects.js.map +2 -2
- package/dist/modules/sales/widgets/messages/SalesDocumentMessageDetail.js +59 -30
- package/dist/modules/sales/widgets/messages/SalesDocumentMessageDetail.js.map +2 -2
- package/dist/modules/sales/widgets/messages/SalesDocumentMessagePreview.js +1 -1
- package/dist/modules/sales/widgets/messages/SalesDocumentMessagePreview.js.map +1 -1
- package/dist/modules/staff/backend/staff/leave-requests/[id]/page.js +8 -30
- package/dist/modules/staff/backend/staff/leave-requests/[id]/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/my-availability/page.js +13 -0
- package/dist/modules/staff/backend/staff/my-availability/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/my-leave-requests/[id]/page.js +8 -31
- package/dist/modules/staff/backend/staff/my-leave-requests/[id]/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/team-members/[id]/page.js +32 -10
- package/dist/modules/staff/backend/staff/team-members/[id]/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/team-roles/[id]/edit/page.js +14 -1
- package/dist/modules/staff/backend/staff/team-roles/[id]/edit/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +14 -1
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
- package/dist/modules/staff/components/TeamForm.js +4 -2
- package/dist/modules/staff/components/TeamForm.js.map +2 -2
- package/dist/modules/staff/components/TeamRoleForm.js +4 -2
- package/dist/modules/staff/components/TeamRoleForm.js.map +2 -2
- package/dist/modules/staff/lib/messageObjectPreviews.js +111 -2
- package/dist/modules/staff/lib/messageObjectPreviews.js.map +2 -2
- package/dist/modules/staff/message-objects.js +79 -8
- package/dist/modules/staff/message-objects.js.map +2 -2
- package/package.json +3 -3
- package/src/modules/catalog/backend/catalog/categories/[id]/edit/page.tsx +19 -5
- package/src/modules/catalog/backend/catalog/products/[id]/page.tsx +14 -0
- package/src/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.tsx +40 -0
- package/src/modules/catalog/data/validators.ts +47 -45
- package/src/modules/catalog/lib/messageObjectPreviews.ts +176 -0
- package/src/modules/catalog/message-objects.ts +102 -0
- package/src/modules/currencies/backend/currencies/[id]/page.tsx +20 -0
- package/src/modules/currencies/lib/messageObjectPreviews.ts +65 -0
- package/src/modules/currencies/message-objects.ts +40 -0
- package/src/modules/customers/backend/customers/companies/[id]/page.tsx +19 -0
- package/src/modules/customers/backend/customers/deals/[id]/page.tsx +13 -0
- package/src/modules/customers/backend/customers/people/[id]/page.tsx +19 -0
- package/src/modules/customers/components/detail/CompanyHighlights.tsx +14 -9
- package/src/modules/customers/components/detail/PersonHighlights.tsx +14 -9
- package/src/modules/customers/lib/messageObjectPreviews.ts +43 -3
- package/src/modules/customers/message-objects.ts +31 -11
- package/src/modules/customers/migrations/.snapshot-open-mercato.json +236 -0
- package/src/modules/customers/migrations/.snapshot-openmercato.json +236 -0
- package/src/modules/messages/commands/messages.ts +4 -0
- package/src/modules/messages/components/message-detail/panels/objects-panel.tsx +8 -1
- package/src/modules/messages/components/message-detail/panels/thread-panel.tsx +3 -0
- package/src/modules/messages/frontend/messages/view/[token]/page.tsx +1 -0
- package/src/modules/resources/backend/resources/resources/[id]/page.tsx +20 -4
- package/src/modules/resources/lib/messageObjectPreviews.ts +55 -0
- package/src/modules/resources/message-objects.ts +36 -0
- package/src/modules/sales/backend/sales/channels/[channelId]/edit/page.tsx +18 -0
- package/src/modules/sales/backend/sales/documents/[id]/page.tsx +23 -0
- package/src/modules/sales/backend/sales/quotes/[id]/page.tsx +1 -1
- package/src/modules/sales/lib/messageObjectPreviews.ts +54 -4
- package/src/modules/sales/message-objects.ts +44 -2
- package/src/modules/sales/widgets/messages/SalesDocumentMessageDetail.tsx +72 -34
- package/src/modules/sales/widgets/messages/SalesDocumentMessagePreview.tsx +1 -1
- package/src/modules/staff/backend/staff/leave-requests/[id]/page.tsx +7 -29
- package/src/modules/staff/backend/staff/my-availability/page.tsx +14 -0
- package/src/modules/staff/backend/staff/my-leave-requests/[id]/page.tsx +8 -30
- package/src/modules/staff/backend/staff/team-members/[id]/page.tsx +28 -7
- package/src/modules/staff/backend/staff/team-roles/[id]/edit/page.tsx +12 -0
- package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +12 -0
- package/src/modules/staff/components/TeamForm.tsx +3 -0
- package/src/modules/staff/components/TeamRoleForm.tsx +3 -0
- package/src/modules/staff/lib/messageObjectPreviews.ts +133 -2
- package/src/modules/staff/message-objects.ts +79 -8
- package/dist/modules/customers/widgets/messages/CustomerMessageObjectDetail.js +0 -51
- package/dist/modules/customers/widgets/messages/CustomerMessageObjectDetail.js.map +0 -7
- package/dist/modules/customers/widgets/messages/CustomerMessageObjectPreview.js +0 -35
- package/dist/modules/customers/widgets/messages/CustomerMessageObjectPreview.js.map +0 -7
- package/dist/modules/customers/widgets/messages/index.js +0 -7
- package/dist/modules/customers/widgets/messages/index.js.map +0 -7
- package/dist/modules/staff/widgets/messages/StaffMessageObjectDetail.js +0 -51
- package/dist/modules/staff/widgets/messages/StaffMessageObjectDetail.js.map +0 -7
- package/dist/modules/staff/widgets/messages/StaffMessageObjectPreview.js +0 -34
- package/dist/modules/staff/widgets/messages/StaffMessageObjectPreview.js.map +0 -7
- package/dist/modules/staff/widgets/messages/index.js +0 -7
- package/dist/modules/staff/widgets/messages/index.js.map +0 -7
- package/src/modules/customers/widgets/messages/CustomerMessageObjectDetail.tsx +0 -57
- package/src/modules/customers/widgets/messages/CustomerMessageObjectPreview.tsx +0 -49
- package/src/modules/customers/widgets/messages/index.ts +0 -2
- package/src/modules/staff/widgets/messages/StaffMessageObjectDetail.tsx +0 -57
- package/src/modules/staff/widgets/messages/StaffMessageObjectPreview.tsx +0 -44
- package/src/modules/staff/widgets/messages/index.ts +0 -2
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import * as React from 'react'
|
|
4
|
-
import { useT } from '@open-mercato/shared/lib/i18n/context'
|
|
5
|
-
import type { ObjectDetailProps } from '@open-mercato/shared/modules/messages/types'
|
|
6
|
-
import { Button } from '@open-mercato/ui/primitives/button'
|
|
7
|
-
import { CustomerMessageObjectPreview } from './CustomerMessageObjectPreview'
|
|
8
|
-
|
|
9
|
-
export function CustomerMessageObjectDetail(props: ObjectDetailProps) {
|
|
10
|
-
const t = useT()
|
|
11
|
-
const [executingActionId, setExecutingActionId] = React.useState<string | null>(null)
|
|
12
|
-
|
|
13
|
-
return (
|
|
14
|
-
<div className="space-y-3 rounded border p-3">
|
|
15
|
-
<CustomerMessageObjectPreview
|
|
16
|
-
entityId={props.entityId}
|
|
17
|
-
entityModule={props.entityModule}
|
|
18
|
-
entityType={props.entityType}
|
|
19
|
-
snapshot={props.snapshot}
|
|
20
|
-
previewData={props.previewData}
|
|
21
|
-
actionRequired={props.actionRequired}
|
|
22
|
-
actionType={props.actionType}
|
|
23
|
-
actionLabel={props.actionLabel}
|
|
24
|
-
/>
|
|
25
|
-
|
|
26
|
-
{props.actions.length > 0 ? (
|
|
27
|
-
<div className="flex flex-wrap gap-2">
|
|
28
|
-
{props.actions.map((action) => (
|
|
29
|
-
<Button
|
|
30
|
-
key={action.id}
|
|
31
|
-
type="button"
|
|
32
|
-
size="sm"
|
|
33
|
-
variant={action.variant ?? 'default'}
|
|
34
|
-
disabled={executingActionId !== null}
|
|
35
|
-
onClick={async () => {
|
|
36
|
-
if (executingActionId) return
|
|
37
|
-
setExecutingActionId(action.id)
|
|
38
|
-
try {
|
|
39
|
-
await props.onAction(action.id, { id: props.entityId })
|
|
40
|
-
} finally {
|
|
41
|
-
setExecutingActionId(null)
|
|
42
|
-
}
|
|
43
|
-
}}
|
|
44
|
-
>
|
|
45
|
-
{executingActionId === action.id
|
|
46
|
-
? t('messages.actions.executing', 'Executing...')
|
|
47
|
-
: t(action.labelKey ?? action.id, action.id)}
|
|
48
|
-
</Button>
|
|
49
|
-
))}
|
|
50
|
-
</div>
|
|
51
|
-
) : null}
|
|
52
|
-
</div>
|
|
53
|
-
)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export default CustomerMessageObjectDetail
|
|
57
|
-
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import { Building2, BriefcaseBusiness, UserRound } from 'lucide-react'
|
|
4
|
-
import { useT } from '@open-mercato/shared/lib/i18n/context'
|
|
5
|
-
import type { ObjectPreviewProps } from '@open-mercato/shared/modules/messages/types'
|
|
6
|
-
import { Badge } from '@open-mercato/ui/primitives/badge'
|
|
7
|
-
|
|
8
|
-
export function CustomerMessageObjectPreview({
|
|
9
|
-
entityType,
|
|
10
|
-
entityId,
|
|
11
|
-
previewData,
|
|
12
|
-
actionRequired,
|
|
13
|
-
actionLabel,
|
|
14
|
-
}: ObjectPreviewProps) {
|
|
15
|
-
const t = useT()
|
|
16
|
-
|
|
17
|
-
const isCompany = entityType === 'company'
|
|
18
|
-
const isDeal = entityType === 'deal'
|
|
19
|
-
const Icon = isDeal ? BriefcaseBusiness : isCompany ? Building2 : UserRound
|
|
20
|
-
|
|
21
|
-
const fallbackTitle = isDeal
|
|
22
|
-
? t('customers.deals.list.title', 'Deals')
|
|
23
|
-
: isCompany
|
|
24
|
-
? t('customers.companies.list.title', 'Companies')
|
|
25
|
-
: t('customers.people.list.title', 'People')
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<div className="flex items-start gap-3 rounded-md border bg-muted/20 p-3">
|
|
29
|
-
<Icon className="mt-0.5 h-4 w-4 text-muted-foreground" />
|
|
30
|
-
<div className="min-w-0 flex-1 space-y-1">
|
|
31
|
-
<div className="flex items-center gap-2">
|
|
32
|
-
<p className="truncate text-sm font-medium">{previewData?.title || fallbackTitle}</p>
|
|
33
|
-
{actionRequired ? (
|
|
34
|
-
<Badge variant="secondary" className="text-xs">
|
|
35
|
-
{actionLabel || t('messages.composer.objectActionRequired', 'Action required')}
|
|
36
|
-
</Badge>
|
|
37
|
-
) : null}
|
|
38
|
-
</div>
|
|
39
|
-
<p className="truncate text-xs text-muted-foreground">{previewData?.subtitle || entityId}</p>
|
|
40
|
-
{previewData?.status ? (
|
|
41
|
-
<Badge variant="outline" className="text-xs">{previewData.status}</Badge>
|
|
42
|
-
) : null}
|
|
43
|
-
</div>
|
|
44
|
-
</div>
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export default CustomerMessageObjectPreview
|
|
49
|
-
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import * as React from 'react'
|
|
4
|
-
import { useT } from '@open-mercato/shared/lib/i18n/context'
|
|
5
|
-
import type { ObjectDetailProps } from '@open-mercato/shared/modules/messages/types'
|
|
6
|
-
import { Button } from '@open-mercato/ui/primitives/button'
|
|
7
|
-
import { StaffMessageObjectPreview } from './StaffMessageObjectPreview'
|
|
8
|
-
|
|
9
|
-
export function StaffMessageObjectDetail(props: ObjectDetailProps) {
|
|
10
|
-
const t = useT()
|
|
11
|
-
const [executingActionId, setExecutingActionId] = React.useState<string | null>(null)
|
|
12
|
-
|
|
13
|
-
return (
|
|
14
|
-
<div className="space-y-3 rounded border p-3">
|
|
15
|
-
<StaffMessageObjectPreview
|
|
16
|
-
entityId={props.entityId}
|
|
17
|
-
entityModule={props.entityModule}
|
|
18
|
-
entityType={props.entityType}
|
|
19
|
-
snapshot={props.snapshot}
|
|
20
|
-
previewData={props.previewData}
|
|
21
|
-
actionRequired={props.actionRequired}
|
|
22
|
-
actionType={props.actionType}
|
|
23
|
-
actionLabel={props.actionLabel}
|
|
24
|
-
/>
|
|
25
|
-
|
|
26
|
-
{props.actions.length > 0 ? (
|
|
27
|
-
<div className="flex flex-wrap gap-2">
|
|
28
|
-
{props.actions.map((action) => (
|
|
29
|
-
<Button
|
|
30
|
-
key={action.id}
|
|
31
|
-
type="button"
|
|
32
|
-
size="sm"
|
|
33
|
-
variant={action.variant ?? 'default'}
|
|
34
|
-
disabled={executingActionId !== null}
|
|
35
|
-
onClick={async () => {
|
|
36
|
-
if (executingActionId) return
|
|
37
|
-
setExecutingActionId(action.id)
|
|
38
|
-
try {
|
|
39
|
-
await props.onAction(action.id, { id: props.entityId })
|
|
40
|
-
} finally {
|
|
41
|
-
setExecutingActionId(null)
|
|
42
|
-
}
|
|
43
|
-
}}
|
|
44
|
-
>
|
|
45
|
-
{executingActionId === action.id
|
|
46
|
-
? t('messages.actions.executing', 'Executing...')
|
|
47
|
-
: t(action.labelKey ?? action.id, action.id)}
|
|
48
|
-
</Button>
|
|
49
|
-
))}
|
|
50
|
-
</div>
|
|
51
|
-
) : null}
|
|
52
|
-
</div>
|
|
53
|
-
)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export default StaffMessageObjectDetail
|
|
57
|
-
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import { UserRound, Users } from 'lucide-react'
|
|
4
|
-
import { useT } from '@open-mercato/shared/lib/i18n/context'
|
|
5
|
-
import type { ObjectPreviewProps } from '@open-mercato/shared/modules/messages/types'
|
|
6
|
-
import { Badge } from '@open-mercato/ui/primitives/badge'
|
|
7
|
-
|
|
8
|
-
export function StaffMessageObjectPreview({
|
|
9
|
-
entityType,
|
|
10
|
-
entityId,
|
|
11
|
-
previewData,
|
|
12
|
-
actionRequired,
|
|
13
|
-
actionLabel,
|
|
14
|
-
}: ObjectPreviewProps) {
|
|
15
|
-
const t = useT()
|
|
16
|
-
const isTeam = entityType === 'team'
|
|
17
|
-
const Icon = isTeam ? Users : UserRound
|
|
18
|
-
const fallbackTitle = isTeam
|
|
19
|
-
? t('staff.teams.page.title', 'Teams')
|
|
20
|
-
: t('staff.teamMembers.page.title', 'Team members')
|
|
21
|
-
|
|
22
|
-
return (
|
|
23
|
-
<div className="flex items-start gap-3 rounded-md border bg-muted/20 p-3">
|
|
24
|
-
<Icon className="mt-0.5 h-4 w-4 text-muted-foreground" />
|
|
25
|
-
<div className="min-w-0 flex-1 space-y-1">
|
|
26
|
-
<div className="flex items-center gap-2">
|
|
27
|
-
<p className="truncate text-sm font-medium">{previewData?.title || fallbackTitle}</p>
|
|
28
|
-
{actionRequired ? (
|
|
29
|
-
<Badge variant="secondary" className="text-xs">
|
|
30
|
-
{actionLabel || t('messages.composer.objectActionRequired', 'Action required')}
|
|
31
|
-
</Badge>
|
|
32
|
-
) : null}
|
|
33
|
-
</div>
|
|
34
|
-
<p className="truncate text-xs text-muted-foreground">{previewData?.subtitle || entityId}</p>
|
|
35
|
-
{previewData?.status ? (
|
|
36
|
-
<Badge variant="outline" className="text-xs">{previewData.status}</Badge>
|
|
37
|
-
) : null}
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
)
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export default StaffMessageObjectPreview
|
|
44
|
-
|