@vtex/faststore-plugin-buyer-portal 1.1.79 → 1.1.81
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 +4 -0
- package/package.json +1 -1
- package/src/features/collections/components/AddCollectionsDrawer/add-collections-drawer.scss +10 -0
- package/src/features/collections/components/CollectionsTable/CollectionsTable.tsx +26 -23
- package/src/features/collections/components/CollectionsTable/collections-table.scss +45 -26
- package/src/features/collections/components/table/add-collections-drawer-table.scss +5 -1
- package/src/features/collections/layouts/CollectionsLayout/CollectionsLayout.tsx +50 -52
- package/src/features/collections/layouts/CollectionsLayout/collections-layout.scss +14 -22
- package/src/features/org-units/components/OrgUnitDetailsNavbar/OrgUnitDetailsNavbar.tsx +3 -1
- package/src/features/shared/layouts/BaseTabsLayout/sidebar-drawer/SidebarDrawer.tsx +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
|
+
- Change for the store title based on the SEO
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
12
16
|
- Standardization the sidebar menu throughout the navigation of the Organizational Account, regardless of the context.
|
|
13
17
|
|
|
14
18
|
### Fixed
|
package/package.json
CHANGED
package/src/features/collections/components/AddCollectionsDrawer/add-collections-drawer.scss
CHANGED
|
@@ -24,6 +24,16 @@
|
|
|
24
24
|
align-items: center;
|
|
25
25
|
justify-content: space-between;
|
|
26
26
|
height: 2.5rem;
|
|
27
|
+
|
|
28
|
+
@include media("<=tablet") {
|
|
29
|
+
[data-fs-buyer-portal-internal-search] {
|
|
30
|
+
width: 100%;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
[data-fs-bp-paginator-counter] {
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
27
37
|
}
|
|
28
38
|
|
|
29
39
|
[data-fs-bp-add-collections-drawer-empty-state] {
|
|
@@ -2,9 +2,10 @@ import { useState } from "react";
|
|
|
2
2
|
|
|
3
3
|
import { useSearchParams } from "next/navigation";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Tooltip } from "@faststore/ui";
|
|
6
6
|
|
|
7
7
|
import { Icon, Table } from "../../../shared/components";
|
|
8
|
+
import { getTableColumns } from "../../../shared/components/Table/utils/tableColumns";
|
|
8
9
|
import { useDrawerProps } from "../../../shared/hooks";
|
|
9
10
|
import { CollectionSelectedProps } from "../../layouts/CollectionsLayout/CollectionsLayout";
|
|
10
11
|
import { ScopeCollection } from "../../types";
|
|
@@ -47,39 +48,41 @@ export function CollectionsTable({
|
|
|
47
48
|
return (
|
|
48
49
|
<div data-fs-bp-collection-table>
|
|
49
50
|
<Table>
|
|
50
|
-
<Table.Head columns={
|
|
51
|
+
<Table.Head columns={getTableColumns()} />
|
|
51
52
|
<Table.Body>
|
|
52
53
|
{collections.map((item) => (
|
|
53
54
|
<Table.Row
|
|
54
55
|
iconName="Shapes"
|
|
55
56
|
title={item.name}
|
|
56
57
|
key={item.id}
|
|
58
|
+
iconSize={24}
|
|
57
59
|
searchTerm={searchTerm ?? undefined}
|
|
58
60
|
>
|
|
59
61
|
<Table.Cell data-fs-bp-table-row-options align="right">
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
<Tooltip
|
|
63
|
+
content={removeTooltipContent}
|
|
64
|
+
placement={"left-center"}
|
|
65
|
+
>
|
|
66
|
+
<button
|
|
67
|
+
data-fs-collections-row-action-button
|
|
68
|
+
disabled={removeDisabled}
|
|
69
|
+
aria-label="Remove collections"
|
|
70
|
+
type="button"
|
|
71
|
+
onClick={() =>
|
|
72
|
+
handleRemoveSelectedCollection({
|
|
73
|
+
id: item.id,
|
|
74
|
+
name: item.name,
|
|
75
|
+
})
|
|
76
|
+
}
|
|
64
77
|
>
|
|
65
|
-
<
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
size="regular"
|
|
71
|
-
icon={
|
|
72
|
-
<Icon color="black" height={20} name="DoNotDisturb" />
|
|
73
|
-
}
|
|
74
|
-
onClick={() =>
|
|
75
|
-
handleRemoveSelectedCollection({
|
|
76
|
-
id: item.id,
|
|
77
|
-
name: item.name,
|
|
78
|
-
})
|
|
79
|
-
}
|
|
78
|
+
<Icon
|
|
79
|
+
data-fs-icon
|
|
80
|
+
name={"MinusCircle"}
|
|
81
|
+
width={20}
|
|
82
|
+
height={20}
|
|
80
83
|
/>
|
|
81
|
-
</
|
|
82
|
-
</
|
|
84
|
+
</button>
|
|
85
|
+
</Tooltip>
|
|
83
86
|
</Table.Cell>
|
|
84
87
|
</Table.Row>
|
|
85
88
|
))}
|
|
@@ -43,6 +43,51 @@
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
[data-fs-bp-table-row-options] {
|
|
47
|
+
[data-fs-collections-row-action-button] {
|
|
48
|
+
margin: 0 var(--fs-spacing-1);
|
|
49
|
+
border-radius: var(--fs-border-radius-pill);
|
|
50
|
+
width: var(--fs-spacing-5);
|
|
51
|
+
aspect-ratio: 1;
|
|
52
|
+
display: flex;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
align-items: center;
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
|
|
57
|
+
&:disabled {
|
|
58
|
+
cursor: not-allowed;
|
|
59
|
+
|
|
60
|
+
[data-fs-icon] {
|
|
61
|
+
color: #adadad;
|
|
62
|
+
|
|
63
|
+
&[data-fs-icon-loading="true"] {
|
|
64
|
+
@keyframes rotate {
|
|
65
|
+
from {
|
|
66
|
+
transform: rotate(0deg);
|
|
67
|
+
}
|
|
68
|
+
to {
|
|
69
|
+
transform: rotate(360deg);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
animation: rotate 2s linear infinite;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&:hover {
|
|
78
|
+
background-color: #e0e0e0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&:active {
|
|
82
|
+
opacity: 0.8;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
[data-fs-icon] {
|
|
86
|
+
color: #000;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
46
91
|
[data-fs-table-row] {
|
|
47
92
|
height: var(--fs-spacing-8);
|
|
48
93
|
|
|
@@ -62,32 +107,6 @@
|
|
|
62
107
|
|
|
63
108
|
[data-fs-table-cell="data"] {
|
|
64
109
|
padding: var(--fs-spacing-0);
|
|
65
|
-
|
|
66
|
-
[data-fs-remove-btn-wrapper] {
|
|
67
|
-
display: flex;
|
|
68
|
-
justify-content: center;
|
|
69
|
-
align-items: center;
|
|
70
|
-
padding: 0rem;
|
|
71
|
-
height: 2.5rem;
|
|
72
|
-
width: 2.5rem;
|
|
73
|
-
border-radius: var(--fs-border-radius-circle);
|
|
74
|
-
&:hover {
|
|
75
|
-
background-color: #ebebeb;
|
|
76
|
-
}
|
|
77
|
-
[data-fs-icon] {
|
|
78
|
-
margin: 0;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
[data-fs-button] {
|
|
82
|
-
padding: 0.2rem;
|
|
83
|
-
width: 100%;
|
|
84
|
-
|
|
85
|
-
[data-fs-button-wrapper] {
|
|
86
|
-
padding: O;
|
|
87
|
-
background-color: transparent;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
110
|
}
|
|
92
111
|
}
|
|
93
112
|
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
@import "@faststore/ui/src/components/molecules/Table/styles.scss";
|
|
2
|
+
|
|
1
3
|
[data-fs-bp-add-collections-drawer-table] {
|
|
2
|
-
@import "@faststore/ui/src/components/molecules/Table/styles.scss";
|
|
3
4
|
@import "@faststore/ui/src/components/atoms/Checkbox/styles.scss";
|
|
4
5
|
@import "@faststore/ui/src/components/atoms/Skeleton/styles.scss";
|
|
5
6
|
@import "@faststore/ui/src/components/atoms/Button/styles.scss";
|
|
6
7
|
|
|
7
8
|
margin-top: 1.25rem;
|
|
9
|
+
[data-fs-table-content] {
|
|
10
|
+
table-layout: initial;
|
|
11
|
+
}
|
|
8
12
|
|
|
9
13
|
[data-fs-table-head="true"] {
|
|
10
14
|
[data-fs-table-row="true"] {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Tooltip } from "@faststore/ui";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
HeaderInside,
|
|
5
|
-
Icon,
|
|
6
5
|
InternalSearch,
|
|
7
6
|
Paginator,
|
|
8
7
|
} from "../../../shared/components";
|
|
@@ -52,8 +51,11 @@ export const CollectionsLayout = ({
|
|
|
52
51
|
page,
|
|
53
52
|
});
|
|
54
53
|
|
|
55
|
-
const {
|
|
56
|
-
|
|
54
|
+
const {
|
|
55
|
+
open: openAddCollectionDrawer,
|
|
56
|
+
isOpen: isOpenAddCollectionDrawer,
|
|
57
|
+
...AddCollectionDrawerProps
|
|
58
|
+
} = useDrawerProps();
|
|
57
59
|
|
|
58
60
|
const enabledCollections = collections.filter((c) => c.isEnabled);
|
|
59
61
|
const hasAllCollections = drawerCollections.length === 0;
|
|
@@ -72,53 +74,46 @@ export const CollectionsLayout = ({
|
|
|
72
74
|
role: user?.role ?? "",
|
|
73
75
|
}}
|
|
74
76
|
>
|
|
75
|
-
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
<IconButton
|
|
95
|
-
aria-label="Add collection"
|
|
96
|
-
variant="primary"
|
|
97
|
-
icon={<Icon name="Add" />}
|
|
98
|
-
onClick={openAddCollectionDrawer}
|
|
99
|
-
/>
|
|
100
|
-
))}
|
|
101
|
-
</HeaderInside>
|
|
77
|
+
<section data-fs-bp-collections-container>
|
|
78
|
+
<HeaderInside title="Collections">
|
|
79
|
+
{!isContractEmpty &&
|
|
80
|
+
(hasAllCollections ? (
|
|
81
|
+
<Tooltip
|
|
82
|
+
content={
|
|
83
|
+
"All available collections have already been added to this organizational unit"
|
|
84
|
+
}
|
|
85
|
+
placement={"left-center"}
|
|
86
|
+
>
|
|
87
|
+
<HeaderInside.Button aria-label="Add collection" disabled />
|
|
88
|
+
</Tooltip>
|
|
89
|
+
) : (
|
|
90
|
+
<HeaderInside.Button
|
|
91
|
+
aria-label="Add collection"
|
|
92
|
+
onClick={openAddCollectionDrawer}
|
|
93
|
+
/>
|
|
94
|
+
))}
|
|
95
|
+
</HeaderInside>
|
|
102
96
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
97
|
+
{isContractEmpty ? (
|
|
98
|
+
<EmptyState
|
|
99
|
+
iconName="Shapes"
|
|
100
|
+
title="This contract has no assigned collections."
|
|
101
|
+
description="This means it has access to the entire product catalog of the store."
|
|
102
|
+
/>
|
|
103
|
+
) : (
|
|
104
|
+
<div data-fs-bp-collection-layout>
|
|
105
|
+
<div data-fs-collection-filter>
|
|
106
|
+
<InternalSearch
|
|
107
|
+
defaultValue={searchTerm}
|
|
108
|
+
textSearch={setSearchTerm}
|
|
109
|
+
/>
|
|
110
|
+
<Paginator.Counter
|
|
111
|
+
total={enabledCollections.length}
|
|
112
|
+
itemsLength={enabledCollections.length}
|
|
113
|
+
/>
|
|
114
|
+
</div>
|
|
121
115
|
|
|
116
|
+
<section>
|
|
122
117
|
<CollectionsTable collections={collections} />
|
|
123
118
|
|
|
124
119
|
<div data-fs-bp-collections-paginator>
|
|
@@ -139,14 +134,17 @@ export const CollectionsLayout = ({
|
|
|
139
134
|
/>
|
|
140
135
|
</div>
|
|
141
136
|
</section>
|
|
142
|
-
|
|
143
|
-
|
|
137
|
+
</div>
|
|
138
|
+
)}
|
|
139
|
+
</section>
|
|
144
140
|
|
|
141
|
+
{isOpenAddCollectionDrawer && (
|
|
145
142
|
<AddCollectionsDrawer
|
|
146
143
|
collections={drawerCollections}
|
|
144
|
+
isOpen={isOpenAddCollectionDrawer}
|
|
147
145
|
{...AddCollectionDrawerProps}
|
|
148
146
|
/>
|
|
149
|
-
|
|
147
|
+
)}
|
|
150
148
|
</ContractTabsLayout>
|
|
151
149
|
</GlobalLayout>
|
|
152
150
|
);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
@import "../../components/RemoveCollectionDrawer/remove-collection-drawer.scss";
|
|
2
2
|
@import "../../components/AddCollectionsDrawer/add-collections-drawer.scss";
|
|
3
3
|
|
|
4
|
-
[data-fs-bp-collections-
|
|
4
|
+
[data-fs-bp-collections-container] {
|
|
5
5
|
@import "@faststore/ui/src/components/molecules/Tooltip/styles.scss";
|
|
6
6
|
@import "@faststore/ui/src/components/molecules/Table/styles.scss";
|
|
7
|
-
@import "@faststore/ui/src/components/atoms/Button/styles.scss";
|
|
8
7
|
|
|
9
8
|
@import "../../components/CollectionsTable/collections-table.scss";
|
|
10
9
|
|
|
@@ -15,23 +14,6 @@
|
|
|
15
14
|
|
|
16
15
|
width: 100%;
|
|
17
16
|
|
|
18
|
-
[data-fs-button] {
|
|
19
|
-
border-radius: var(--fs-border-radius-circle);
|
|
20
|
-
padding: 0;
|
|
21
|
-
min-height: 3rem;
|
|
22
|
-
width: 3rem;
|
|
23
|
-
|
|
24
|
-
[data-fs-button-wrapper] {
|
|
25
|
-
border-radius: var(--fs-border-radius-circle);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
&[data-fs-button-variant="tertiary"] {
|
|
29
|
-
[data-fs-button-wrapper] {
|
|
30
|
-
color: var(--fs-color-neutral-7);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
17
|
[data-fs-bp-header] {
|
|
36
18
|
display: flex;
|
|
37
19
|
width: 100%;
|
|
@@ -59,10 +41,10 @@
|
|
|
59
41
|
}
|
|
60
42
|
}
|
|
61
43
|
|
|
62
|
-
[data-fs-bp-collection-
|
|
44
|
+
[data-fs-bp-collection-layout] {
|
|
63
45
|
display: flex;
|
|
64
|
-
width: 100%;
|
|
65
46
|
flex-direction: column;
|
|
47
|
+
gap: calc(var(--fs-spacing-3) + var(--fs-spacing-0));
|
|
66
48
|
|
|
67
49
|
[data-fs-bp-text-regular] {
|
|
68
50
|
font-family: Inter;
|
|
@@ -78,7 +60,17 @@
|
|
|
78
60
|
display: flex;
|
|
79
61
|
justify-content: space-between;
|
|
80
62
|
align-items: center;
|
|
81
|
-
|
|
63
|
+
height: 2.5rem;
|
|
64
|
+
|
|
65
|
+
@include media("<=tablet") {
|
|
66
|
+
[data-fs-buyer-portal-internal-search] {
|
|
67
|
+
width: 100%;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
[data-fs-bp-paginator-counter] {
|
|
71
|
+
display: none;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
82
74
|
}
|
|
83
75
|
|
|
84
76
|
[data-fs-bp-collections-paginator] {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import storeConfig from "discovery.config";
|
|
2
|
+
|
|
1
3
|
import Link from "next/link";
|
|
2
4
|
|
|
3
5
|
import {
|
|
@@ -29,7 +31,7 @@ export const OrgUnitDetailsNavbar = ({
|
|
|
29
31
|
return (
|
|
30
32
|
<header data-fs-bp-org-unit-details-navbar>
|
|
31
33
|
<Link href="/" data-fs-bp-org-unit-details-navbar-link>
|
|
32
|
-
|
|
34
|
+
{storeConfig.seo.title}
|
|
33
35
|
</Link>
|
|
34
36
|
<div data-fs-bp-org-unit-details-navbar-actions>
|
|
35
37
|
<Link href="/" data-fs-bp-org-unit-details-navbar-start-shopping-link>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import storeConfig from "discovery.config";
|
|
2
|
+
|
|
1
3
|
import Link from "next/link";
|
|
2
4
|
|
|
3
5
|
import { BasicDrawer, type BasicDrawerProps } from "../../../components";
|
|
@@ -25,7 +27,7 @@ export const SidebarDrawer = ({
|
|
|
25
27
|
<BasicDrawer.Heading
|
|
26
28
|
title={
|
|
27
29
|
<Link href="/" data-fs-bp-org-unit-details-navbar-link>
|
|
28
|
-
|
|
30
|
+
{storeConfig.seo.title}
|
|
29
31
|
</Link>
|
|
30
32
|
}
|
|
31
33
|
onClose={close}
|