@vtex/faststore-plugin-buyer-portal 1.3.81 → 1.3.83

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/CHANGELOG.md CHANGED
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.3.83] - 2026-05-05
11
+
12
+ ### Added
13
+ - Show Contract ID in AboutDrawer component
14
+
15
+ ## [1.3.82] - 2026-04-29
16
+
17
+ ### Changed
18
+
19
+ - Updates the Buyer Organization Agent from `b2b-agent` to `buyer-organization-manager`
20
+
10
21
  ## [1.3.81] - 2026-04-29
11
22
 
12
23
  ### Changed
@@ -604,7 +615,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
604
615
  - Add CHANGELOG file
605
616
  - Add README file
606
617
 
607
- [unreleased]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.81...HEAD
618
+ [unreleased]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.83...HEAD
608
619
  [1.3.55]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.54...v1.3.55
609
620
  [1.3.54]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.53...v1.3.54
610
621
  [1.3.53]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.52...v1.3.53
@@ -672,6 +683,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
672
683
  [1.3.65]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.64...v1.3.65
673
684
  [1.3.64]: https://github.com/vtex/faststore-plugin-buyer-portal/releases/tag/1.3.64
674
685
  [1.3.69]: https://github.com/vtex/faststore-plugin-buyer-portal/releases/tag/1.3.69
686
+ [1.3.83]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.82...v1.3.83
687
+ [1.3.82]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.81...v1.3.82
675
688
  [1.3.81]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.80...v1.3.81
676
689
  [1.3.80]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.79...v1.3.80
677
690
  [1.3.79]: https://github.com/vtex/faststore-plugin-buyer-portal/compare/v1.3.78...v1.3.79
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtex/faststore-plugin-buyer-portal",
3
- "version": "1.3.81",
3
+ "version": "1.3.83",
4
4
  "description": "A plugin for faststore with buyer portal",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/plugin.config.js CHANGED
@@ -88,8 +88,8 @@ module.exports = {
88
88
  path: "/pvt/organization-account/org-unit/[orgUnitId]",
89
89
  appLayout: false,
90
90
  },
91
- "b2b-agent": {
92
- path: "/pvt/organization-account/b2b-agent",
91
+ "buyer-organization-manager": {
92
+ path: "/pvt/organization-account/buyer-organization-manager",
93
93
  appLayout: false,
94
94
  },
95
95
  },
@@ -12,6 +12,7 @@ import { doLogout } from "../../../shared/utils";
12
12
 
13
13
  export type OrgUnitDetailsNavbarProps = {
14
14
  orgId: string;
15
+ contractId?: string;
15
16
  orgName: string;
16
17
  person: {
17
18
  image?: string;
@@ -26,6 +27,7 @@ export const OrgUnitDetailsNavbar = ({
26
27
  person,
27
28
  orgName,
28
29
  orgId,
30
+ contractId = "",
29
31
  }: OrgUnitDetailsNavbarProps) => {
30
32
  const {
31
33
  open: openAboutMenu,
@@ -73,6 +75,7 @@ export const OrgUnitDetailsNavbar = ({
73
75
  </div>
74
76
  {isOpenAboutMenu && (
75
77
  <AboutDrawer
78
+ contractId={contractId}
76
79
  {...aboutMenuDrawerProps}
77
80
  isOpen={isOpenAboutMenu}
78
81
  unitId={orgId}
@@ -63,6 +63,7 @@ export const OrgUnitsDetailsLayout = ({
63
63
  <OrgUnitDetailsNavbar
64
64
  orgId={orgUnit.id}
65
65
  orgName={orgUnit.name}
66
+ contractId={isSingleContract ? contracts[0]?.id : ""}
66
67
  person={{
67
68
  name: user?.name ?? "",
68
69
  email: user?.email ?? "",
@@ -18,6 +18,7 @@ import type { OrgUnitBasicData } from "../../../org-units/types";
18
18
 
19
19
  export type NavbarProps = {
20
20
  orgUnit?: OrgUnitBasicData | null;
21
+ contractId?: string;
21
22
  pageName: string;
22
23
  person: {
23
24
  image?: ReactNode;
@@ -34,6 +35,7 @@ export const Navbar = ({
34
35
  person,
35
36
  pageName,
36
37
  loading = false,
38
+ contractId = "",
37
39
  ...otherProps
38
40
  }: NavbarProps) => {
39
41
  const {
@@ -111,6 +113,7 @@ export const Navbar = ({
111
113
  )}
112
114
  {isOpenAboutMenu && (
113
115
  <AboutDrawer
116
+ contractId={contractId}
114
117
  {...aboutMenuDrawerProps}
115
118
  unitId={orgUnit?.id ?? ""}
116
119
  isOpen={isOpenAboutMenu}
@@ -6,10 +6,16 @@ import { CURRENT_VERSION } from "../../../utils/constants";
6
6
 
7
7
  export type AboutDrawerProps = Omit<BasicDrawerProps, "children"> & {
8
8
  unitId: string;
9
+ contractId?: string;
9
10
  close: () => void;
10
11
  };
11
12
 
12
- export const AboutDrawer = ({ unitId, close, ...props }: AboutDrawerProps) => {
13
+ export const AboutDrawer = ({
14
+ unitId,
15
+ close,
16
+ contractId = "",
17
+ ...props
18
+ }: AboutDrawerProps) => {
13
19
  const { dependenciesVersion, isDependenciesVersionLoading } =
14
20
  useGetDependenciesVersion(unitId);
15
21
 
@@ -22,24 +28,20 @@ export const AboutDrawer = ({ unitId, close, ...props }: AboutDrawerProps) => {
22
28
  >
23
29
  <BasicDrawer.Heading title="About" onClose={close} />
24
30
  <BasicDrawer.Body data-bp-about-menu-drawer-body>
25
- Version details
26
- {isDependenciesVersionLoading && (
27
- <div data-fs-bp-basic-buying-policy-drawer-skeleton>
31
+ <div data-fs-bp-about-information>
32
+ <p data-fs-bp-about-information-title>Version details</p>
33
+ {isDependenciesVersionLoading ? (
28
34
  <Skeleton size={{ width: "100%", height: "3.5rem" }} />
29
- </div>
30
- )}
31
- {!isDependenciesVersionLoading && (
32
- <div data-fs-bp-about-information>
33
- <div data-fs-bp-about-row>
34
- <span data-fs-bp-about-row-label>Organization Account</span>
35
- <span data-fs-bp-about-row-value>{CURRENT_VERSION}</span>
36
- </div>
37
- <hr data-fs-bp-about-divider />
38
- {dependenciesVersion &&
39
- dependenciesVersion.buyerPortalApps.map((buyerPortalApp) => {
40
- return (
41
- <div key={buyerPortalApp.appName}>
42
- <div data-fs-bp-about-row>
35
+ ) : (
36
+ <>
37
+ <div data-fs-bp-about-row>
38
+ <span data-fs-bp-about-row-label>Organization Account</span>
39
+ <span data-fs-bp-about-row-value>{CURRENT_VERSION}</span>
40
+ </div>
41
+ {dependenciesVersion &&
42
+ dependenciesVersion.buyerPortalApps.map((buyerPortalApp) => {
43
+ return (
44
+ <div data-fs-bp-about-row key={buyerPortalApp.appName}>
43
45
  <span data-fs-bp-about-row-label>
44
46
  {buyerPortalApp.appName}
45
47
  </span>
@@ -47,12 +49,22 @@ export const AboutDrawer = ({ unitId, close, ...props }: AboutDrawerProps) => {
47
49
  {buyerPortalApp.appVersion}
48
50
  </span>
49
51
  </div>
50
- <hr data-fs-bp-about-divider />
51
- </div>
52
- );
53
- })}
54
- </div>
55
- )}
52
+ );
53
+ })}
54
+ </>
55
+ )}
56
+ </div>
57
+ <div data-fs-bp-about-information>
58
+ <p data-fs-bp-about-information-title>Navigation Details</p>
59
+ {!!contractId && (
60
+ <>
61
+ <div data-fs-bp-about-row data-fs-bp-about-row-contract-id>
62
+ <span data-fs-bp-about-row-label>Contract ID</span>
63
+ <span data-fs-bp-about-row-value>{contractId}</span>
64
+ </div>
65
+ </>
66
+ )}
67
+ </div>
56
68
  </BasicDrawer.Body>
57
69
  </BasicDrawer>
58
70
  );
@@ -29,29 +29,44 @@
29
29
 
30
30
  [data-fs-bp-about-row] {
31
31
  display: flex;
32
- padding: 1.375rem 0;
33
- font-weight: var(--fs-text-weight-medium);
34
- size: var(--fs-text-size-1);
35
- line-height: calc(var(--fs-spacing-3) + var(--fs-spacing-0));
32
+ padding: var(--fs-bp-padding-4) var(--fs-bp-padding-1);
33
+ color: var(--fs-bp-color-black);
34
+ border-bottom: var(--fs-border-width) solid var(--fs-bp-color-neutral-3);
35
+ @include text-style('body');
36
+ line-height: var(--fs-bp-line-height-lg);
37
+
38
+ &[data-fs-bp-about-row-contract-id] {
39
+ flex-direction: column;
40
+ align-items: flex-start;
41
+ gap: var(--fs-bp-gap-2);
42
+
43
+ [data-fs-bp-about-row-value] {
44
+ word-break: break-word;
45
+ }
46
+
47
+ [data-fs-bp-about-row-label] {
48
+ flex: 0 0 auto;
49
+ }
50
+ }
36
51
 
37
52
  [data-fs-bp-about-row-label] {
38
- width: 12.5rem;
39
- color: #707070;
40
- font-size: var(--fs-text-size-1);
41
- font-weight: 500;
53
+ flex: 0 0 12.5rem;
54
+ color: var(--fs-bp-color-neutral-7);
42
55
  }
43
56
 
44
- [data-fs-bp-about-row-details] {
45
- color: #000;
46
- font-size: var(--fs-text-size-1);
47
- font-weight: 500;
57
+ [data-fs-bp-about-row-value] {
58
+ flex: 1;
48
59
  }
49
60
  }
50
61
 
51
- [data-fs-bp-about-divider] {
52
- border: calc(var(--fs-border-width) / 2) solid #e0e0e0;
53
- }
54
62
  [data-fs-bp-about-information] {
55
- padding-top: 1rem;
63
+ padding-bottom: var(--fs-bp-padding-8);
64
+
65
+ [data-fs-bp-about-information-title] {
66
+ @include text-style('body-big');
67
+ color: var(--fs-bp-color-black);
68
+ padding-bottom: var(--fs-bp-padding-4);
69
+ font-weight: var(--fs-bp-weight-semibold);
70
+ }
56
71
  }
57
72
  }
@@ -35,6 +35,7 @@ export const ContractTabsLayout = ({
35
35
  return (
36
36
  <BaseTabsLayout data-fs-bp-contract-tabs-layout>
37
37
  <BaseTabsLayout.Navbar
38
+ contractId={currentContract?.id ?? contractId ?? ""}
38
39
  orgUnit={currentOrgUnit}
39
40
  pageName={pageName}
40
41
  person={{
@@ -107,6 +107,7 @@ export const ErrorTabsLayout = ({ children, error }: ErrorTabsLayoutProps) => {
107
107
  name: user?.name ?? "",
108
108
  }}
109
109
  loading={false}
110
+ contractId={contract?.id ?? ""}
110
111
  />
111
112
  <ErrorTabsLayoutContent title={pageTitle} error={error} />
112
113
  </div>
@@ -25,6 +25,7 @@ export const FinanceTabsLayout = ({
25
25
  return (
26
26
  <BaseTabsLayout data-fs-bp-finance-tabs-layout>
27
27
  <BaseTabsLayout.Navbar
28
+ contractId={currentContract?.id ?? ""}
28
29
  orgUnit={currentOrgUnit}
29
30
  pageName={pageName}
30
31
  person={{
@@ -15,13 +15,14 @@ export const OrgUnitTabsLayout = ({
15
15
  children,
16
16
  loading = false,
17
17
  }: OrgUnitTabsLayoutProps) => {
18
- const { currentOrgUnit, currentUser } = useBuyerPortal();
18
+ const { currentOrgUnit, currentUser, currentContract } = useBuyerPortal();
19
19
 
20
20
  const verticalLinks = getOrganizationSettingsLinks(currentOrgUnit?.id ?? "");
21
21
 
22
22
  return (
23
23
  <BaseTabsLayout data-fs-bp-org-unit-tabs-layout>
24
24
  <BaseTabsLayout.Navbar
25
+ contractId={currentContract?.id ?? ""}
25
26
  orgUnit={currentOrgUnit}
26
27
  pageName={pageName}
27
28
  person={{
@@ -15,7 +15,7 @@ export const buyerPortalRoutes = {
15
15
  profileDetails: (params: { orgUnitId: string; contractId: string }) =>
16
16
  replaceParams(`${base}/profile/[orgUnitId]/[contractId]`, params),
17
17
 
18
- b2bAgent: `${base}/b2b-agent`,
18
+ b2bAgent: `${base}/buyer-organization-manager`,
19
19
 
20
20
  addresses: (params: { orgUnitId: string; contractId: string }) =>
21
21
  replaceParams(`${base}/addresses/[orgUnitId]/[contractId]`, params),
@@ -22,7 +22,7 @@ export const SCOPE_KEYS = {
22
22
  CREDIT_CARDS: "creditCards",
23
23
  } as const;
24
24
 
25
- export const CURRENT_VERSION = "1.3.81";
25
+ export const CURRENT_VERSION = "1.3.83";
26
26
 
27
27
  export const CHANGES_TIMEOUT_MESSAGE =
28
28
  "Changes may take up to 10 minutes to apply.";