contentoh-components-library 21.1.62 → 21.1.65

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.
Files changed (63) hide show
  1. package/.env.development +1 -0
  2. package/.env.production +1 -0
  3. package/dist/assets/images/versionSelector/acceptIcon.svg +3 -0
  4. package/dist/assets/images/versionSelector/addVersion.svg +5 -0
  5. package/dist/assets/images/versionSelector/closeVersionSelector.svg +4 -0
  6. package/dist/assets/images/versionSelector/createVersion.svg +3 -0
  7. package/dist/assets/images/versionSelector/nullIcon.svg +3 -0
  8. package/dist/assets/images/versionSelector/versionSelected.svg +3 -0
  9. package/dist/components/atoms/GeneralButton/index.js +3 -1
  10. package/dist/components/atoms/GeneralButton/styles.js +2 -2
  11. package/dist/components/atoms/Select/VersionSelect.js +37 -0
  12. package/dist/components/atoms/Select/index.js +4 -3
  13. package/dist/components/atoms/Select/style.js +10 -4
  14. package/dist/components/atoms/SliderToolTip/styles.js +2 -2
  15. package/dist/components/molecules/StatusAsignationInfo/index.js +9 -1
  16. package/dist/components/molecules/VersionItem/VersionItem.stories.js +28 -0
  17. package/dist/components/molecules/VersionItem/index.js +64 -0
  18. package/dist/components/molecules/VersionItem/styles.js +20 -0
  19. package/dist/components/organisms/CreateVersion/CreateVersion.stories.js +31 -0
  20. package/dist/components/organisms/CreateVersion/RenderChilds.js +157 -0
  21. package/dist/components/organisms/CreateVersion/index.js +170 -0
  22. package/dist/components/organisms/CreateVersion/styles.js +28 -0
  23. package/dist/components/organisms/FullTabsMenu/index.js +6 -2
  24. package/dist/components/organisms/VersionSelector/VersionSelector.stories.js +32 -0
  25. package/dist/components/organisms/VersionSelector/index.js +129 -0
  26. package/dist/components/organisms/VersionSelector/styles.js +20 -0
  27. package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +78 -104
  28. package/dist/components/pages/ProviderProductEdition/index.js +35 -16
  29. package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +49 -56
  30. package/dist/components/pages/RetailerProductEdition/index.js +46 -15
  31. package/dist/global-files/customHooks.js +35 -0
  32. package/dist/global-files/global-styles.css +1 -0
  33. package/package.json +1 -1
  34. package/src/assets/images/versionSelector/acceptIcon.svg +3 -0
  35. package/src/assets/images/versionSelector/addVersion.svg +5 -0
  36. package/src/assets/images/versionSelector/closeVersionSelector.svg +4 -0
  37. package/src/assets/images/versionSelector/createVersion.svg +3 -0
  38. package/src/assets/images/versionSelector/nullIcon.svg +3 -0
  39. package/src/assets/images/versionSelector/versionSelected.svg +3 -0
  40. package/src/components/atoms/GeneralButton/index.js +2 -0
  41. package/src/components/atoms/GeneralButton/styles.js +18 -0
  42. package/src/components/atoms/Select/VersionSelect.js +25 -0
  43. package/src/components/atoms/Select/index.js +1 -1
  44. package/src/components/atoms/Select/style.js +19 -0
  45. package/src/components/atoms/SliderToolTip/styles.js +18 -14
  46. package/src/components/molecules/StatusAsignationInfo/index.js +10 -1
  47. package/src/components/molecules/VersionItem/VersionItem.stories.js +14 -0
  48. package/src/components/molecules/VersionItem/index.js +47 -0
  49. package/src/components/molecules/VersionItem/styles.js +32 -0
  50. package/src/components/organisms/CreateVersion/CreateVersion.stories.js +14 -0
  51. package/src/components/organisms/CreateVersion/RenderChilds.js +137 -0
  52. package/src/components/organisms/CreateVersion/index.js +88 -0
  53. package/src/components/organisms/CreateVersion/styles.js +79 -0
  54. package/src/components/organisms/FullTabsMenu/index.js +5 -1
  55. package/src/components/organisms/VersionSelector/VersionSelector.stories.js +15 -0
  56. package/src/components/organisms/VersionSelector/index.js +75 -0
  57. package/src/components/organisms/VersionSelector/styles.js +28 -0
  58. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +97 -134
  59. package/src/components/pages/ProviderProductEdition/index.js +19 -2
  60. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +49 -56
  61. package/src/components/pages/RetailerProductEdition/index.js +28 -2
  62. package/src/global-files/customHooks.js +26 -0
  63. package/src/global-files/global-styles.css +1 -0
@@ -5,10 +5,14 @@ export const Container = styled.div`
5
5
  background: transparent;
6
6
  cursor: pointer;
7
7
  position: relative;
8
+ height: 100%;
9
+ display: flex;
10
+ align-items: center;
8
11
  & + * {
9
12
  margin-left: 10px;
10
13
  }
11
14
  img {
15
+ margin: auto 0;
12
16
  &.small-image {
13
17
  width: 20px;
14
18
  height: 20px;
@@ -101,22 +105,22 @@ export const Slider = styled.div`
101
105
  }
102
106
  }
103
107
  span {
104
- font-family: "Avenir Next";
105
- font-style: normal;
106
- font-weight: 500;
107
- font-size: 15px;
108
- line-height: 15px;
109
- text-align: center;
110
- letter-spacing: -0.015em;
111
- color: #fafafa;
112
- display: flex;
113
- justify-content: center;
114
- background-color: #281f33;
115
- & + * {
116
- margin-top: 10px;
108
+ font-family: "Avenir Next";
109
+ font-style: normal;
110
+ font-weight: 500;
111
+ font-size: 15px;
112
+ line-height: 15px;
113
+ text-align: center;
114
+ letter-spacing: -0.015em;
115
+ color: #fafafa;
116
+ display: flex;
117
+ justify-content: center;
118
+ background-color: #281f33;
119
+ & + * {
120
+ margin-top: 10px;
121
+ }
117
122
  }
118
123
  }
119
- }
120
124
  .end-div {
121
125
  div {
122
126
  height: 130px;
@@ -26,6 +26,8 @@ export const StatusAsignationInfo = ({
26
26
  onClickSave,
27
27
  showSaveButton,
28
28
  canAssign,
29
+ version,
30
+ setShowVersionSelector,
29
31
  }) => {
30
32
  const [showAsignationPanel, setShowAsignationPanel] = useState(false);
31
33
  const [layout, setLayout] = useState(false);
@@ -71,7 +73,14 @@ export const StatusAsignationInfo = ({
71
73
  slidefront={slidefront}
72
74
  iconSize={"medium-image"}
73
75
  slidePosition={"bottom-slide"}
74
- ></SliderToolTip>
76
+ />
77
+ <Button
78
+ buttonType={"general circular-button version-button"}
79
+ onClick={() => {
80
+ setShowVersionSelector(true);
81
+ }}
82
+ label={`V${version}`}
83
+ />
75
84
  {status !== "-" && <StatusTag statusType={status} ovalForm={true} />}
76
85
  {showSaveButton && (
77
86
  <Button
@@ -0,0 +1,14 @@
1
+ import { VersionItem } from "./index";
2
+
3
+ export default {
4
+ title: "Components/molecules/VersionItem",
5
+ component: VersionItem,
6
+ };
7
+
8
+ const Template = (args) => <VersionItem {...args} />;
9
+
10
+ export const VersionItemDefault = Template.bind({});
11
+
12
+ VersionItemDefault.args = {
13
+
14
+ };
@@ -0,0 +1,47 @@
1
+ import { Avatar } from "../../atoms/Avatar/index";
2
+ import { Container } from "./styles";
3
+ import nullIcon from "../../../assets/images/versionSelector/nullIcon.svg";
4
+ import acceptIcon from "../../../assets/images/versionSelector/acceptIcon.svg";
5
+ import versionSelected from "../../../assets/images/versionSelector/versionSelected.svg";
6
+ import { Button } from "../../atoms/GeneralButton";
7
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
8
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
9
+
10
+ export const VersionItem = ({
11
+ version = "",
12
+ articleStatus,
13
+ currentVersion,
14
+ productOwner = "owner test",
15
+ setVersion,
16
+ }) => {
17
+ return (
18
+ <Container>
19
+ <div className="header">
20
+ <Button
21
+ buttonType={"circular-button" + (currentVersion ? " disabled" : "")}
22
+ image={versionSelected}
23
+ onClick={() => setVersion && setVersion(version)}
24
+ />
25
+ <img
26
+ src={articleStatus ? acceptIcon : nullIcon}
27
+ alt={articleStatus ? "Validated version" : "Unvalidated version"}
28
+ />
29
+ </div>
30
+ <div className="version-info">
31
+ <ScreenHeader
32
+ text={"Version " + version}
33
+ headerType={"input-name-header"}
34
+ color={GlobalColors.magenta_s2}
35
+ />
36
+ <p>
37
+ {currentVersion
38
+ ? "Version actual"
39
+ : articleStatus
40
+ ? "Edición Content-oh!"
41
+ : "Version de " + productOwner}
42
+ </p>
43
+ <p>{articleStatus ? "Content-oh! Digital" : productOwner}</p>
44
+ </div>
45
+ </Container>
46
+ );
47
+ };
@@ -0,0 +1,32 @@
1
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
2
+ import styled from "styled-components";
3
+
4
+ export const Container = styled.div`
5
+ background-color: ${GlobalColors.deep_gray};
6
+ padding-bottom: 5px;
7
+ border-bottom: 1px solid ${GlobalColors.s4};
8
+ .header {
9
+ display: flex;
10
+ justify-content: space-between;
11
+ align-items: center;
12
+ }
13
+ .version-info {
14
+ text-align: right;
15
+ h2,
16
+ p {
17
+ & + * {
18
+ margin-top: 5px;
19
+ }
20
+ }
21
+
22
+ p {
23
+ font-size: 12px;
24
+ font-family: ${FontFamily.AvenirNext};
25
+ color: ${GlobalColors.s2};
26
+ }
27
+ }
28
+
29
+ & + * {
30
+ margin-top: 18px;
31
+ }
32
+ `;
@@ -0,0 +1,14 @@
1
+ import { CreateVersion } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/CreateVersion",
5
+ component: CreateVersion,
6
+ };
7
+
8
+ const Template = (args) => <CreateVersion {...args} />;
9
+
10
+ export const CreateVersionDefault = Template.bind({});
11
+ CreateVersionDefault.args = {
12
+ idArticle: 76201,
13
+ version: 2,
14
+ };
@@ -0,0 +1,137 @@
1
+ import { GlobalColors, FontFamily } from "../../../global-files/variables";
2
+ import { Button } from "../../atoms/GeneralButton";
3
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
4
+ import { VersionOptions, EmptyVersion, CreateVersion } from "./styles";
5
+ import createVersionImg from "../../../assets/images/versionSelector/createVersion.svg";
6
+ import genericModalWarning from "../../../assets/images/genericModal/genericModalWarning.svg";
7
+ import { VersionSelect } from "../../atoms/Select/VersionSelect";
8
+
9
+ export const Children = (
10
+ step,
11
+ setStep,
12
+ versions,
13
+ selectedVersions,
14
+ onChange,
15
+ createVersion
16
+ ) => {
17
+ switch (step) {
18
+ case "version-options":
19
+ return (
20
+ <VersionOptions>
21
+ <img src={createVersionImg} alt="create version icon" />
22
+ <ScreenHeader
23
+ fontFamily={FontFamily.Raleway_500}
24
+ headerType={"product-name-header"}
25
+ color={GlobalColors.white}
26
+ text={"Crea una nueva versión"}
27
+ />
28
+ <ScreenHeader
29
+ fontFamily={FontFamily.Raleway}
30
+ headerType={"retailer-name-header"}
31
+ color={GlobalColors.white}
32
+ text={
33
+ "Puedes elegir el contenido de versiones anteriores o crear una versión desde cero"
34
+ }
35
+ />
36
+ <div className="buttons-container">
37
+ <Button
38
+ label={"Versión desde cero"}
39
+ buttonType={"general-transparent-button"}
40
+ onClick={() => setStep("empty-version")}
41
+ />
42
+ <Button
43
+ label={"Versión personalizada"}
44
+ buttonType={"general-default-button"}
45
+ onClick={() => setStep("create-version")}
46
+ />
47
+ </div>
48
+ </VersionOptions>
49
+ );
50
+ case "empty-version":
51
+ return (
52
+ <EmptyVersion>
53
+ <img src={genericModalWarning} alt="warning icon" />
54
+ <ScreenHeader
55
+ fontFamily={FontFamily.Raleway_500}
56
+ headerType={"product-name-header"}
57
+ color={GlobalColors.white}
58
+ text={
59
+ "Si creas una versión desde cero perderas la información actual"
60
+ }
61
+ />
62
+ <ScreenHeader
63
+ fontFamily={FontFamily.Raleway}
64
+ headerType={"retailer-name-header"}
65
+ color={GlobalColors.white}
66
+ text={"¿Deseas Continuar?"}
67
+ />
68
+ <div className="buttons-container">
69
+ <Button
70
+ label={"Atrás"}
71
+ buttonType={"general-transparent-button"}
72
+ onClick={() => setStep("version-options")}
73
+ />
74
+ <Button
75
+ label={"Continuar"}
76
+ buttonType={"general-default-button"}
77
+ onClick={() => createVersion(true)}
78
+ />
79
+ </div>
80
+ </EmptyVersion>
81
+ );
82
+ case "create-version":
83
+ return (
84
+ <CreateVersion>
85
+ <ScreenHeader
86
+ fontFamily={FontFamily.Raleway_500}
87
+ headerType={"retailer-name-header"}
88
+ color={GlobalColors.white}
89
+ text={
90
+ "Elige el contenido que deseas utilizar de versiones anteriores"
91
+ }
92
+ />
93
+ <div className="version-selector">
94
+ <div className="selector">
95
+ <VersionSelect
96
+ versions={versions}
97
+ label={"Ficha técnica"}
98
+ id={"datasheet"}
99
+ selectedVersions={selectedVersions}
100
+ onChange={(e) => onChange(e)}
101
+ />
102
+ </div>
103
+ <div className="selector">
104
+ <VersionSelect
105
+ versions={versions}
106
+ label={"Descripción"}
107
+ id={"description"}
108
+ selectedVersions={selectedVersions}
109
+ onChange={(e) => onChange(e)}
110
+ />
111
+ </div>
112
+ <div className="selector">
113
+ <VersionSelect
114
+ versions={versions}
115
+ label={"Imágenes"}
116
+ id={"image"}
117
+ selectedVersions={selectedVersions}
118
+ onChange={(e) => onChange(e)}
119
+ />
120
+ </div>
121
+ </div>
122
+ <div className="buttons-container">
123
+ <Button
124
+ label={"Atrás"}
125
+ buttonType={"general-transparent-button"}
126
+ onClick={() => setStep("version-options")}
127
+ />
128
+ <Button
129
+ label={"Continuar"}
130
+ buttonType={"general-default-button"}
131
+ onClick={() => createVersion()}
132
+ />
133
+ </div>
134
+ </CreateVersion>
135
+ );
136
+ }
137
+ };
@@ -0,0 +1,88 @@
1
+ import { Button } from "../../atoms/GeneralButton";
2
+ import { Container } from "./styles";
3
+ import closeIcon from "../../../assets/images/versionSelector/closeVersionSelector.svg";
4
+ import { useEffect, useState } from "react";
5
+ import { Children } from "./RenderChilds";
6
+ import axios from "axios";
7
+
8
+ export const CreateVersion = ({ idArticle, version, setShowCreateVersion }) => {
9
+ const [step, setStep] = useState("version-options");
10
+ const [versions, setVersions] = useState([]);
11
+ const [selectedVersions, setSelectedVersions] = useState({
12
+ datasheet: version,
13
+ description: version,
14
+ image: version,
15
+ });
16
+
17
+ const getVersions = async () => {
18
+ try {
19
+ const response = await axios({
20
+ method: "get",
21
+ url: `${process.env.REACT_APP_VERSIONS_ENDPOINT}?articleId=${idArticle}&provider=true`,
22
+ headers: {
23
+ Authorization: sessionStorage.getItem("jwt"),
24
+ },
25
+ });
26
+ setVersions(JSON.parse(response.data.body).data);
27
+ } catch (error) {
28
+ console.log(error);
29
+ }
30
+ };
31
+
32
+ const createVersion = async (isEmpty) => {
33
+ try {
34
+ let data = {
35
+ articleId: idArticle,
36
+ isEmpty
37
+ };
38
+
39
+ isEmpty && (data["version"] = selectedVersions);
40
+
41
+ await axios({
42
+ method: "post",
43
+ url: process.env.REACT_APP_VERSIONS_ENDPOINT,
44
+ data: data,
45
+ headers: {
46
+ Authorization: sessionStorage.getItem("jwt"),
47
+ },
48
+ });
49
+ setShowCreateVersion(false);
50
+ } catch (error) {
51
+ console.log(error);
52
+ }
53
+ };
54
+
55
+ const onChange = (e) => {
56
+ setSelectedVersions({
57
+ ...selectedVersions,
58
+ [e.target.name]: parseInt(e.target.value.slice(-1)),
59
+ });
60
+ };
61
+
62
+ useEffect(() => {
63
+ getVersions();
64
+ }, []);
65
+
66
+ return (
67
+ <Container>
68
+ <div className="modal-container">
69
+ <div className="button-container">
70
+ <Button
71
+ image={closeIcon}
72
+ buttonType={"circular-button"}
73
+ id="close-modal-button"
74
+ onClick={() => setShowCreateVersion(false)}
75
+ />
76
+ </div>
77
+ {Children(
78
+ step,
79
+ setStep,
80
+ versions,
81
+ selectedVersions,
82
+ onChange,
83
+ createVersion
84
+ )}
85
+ </div>
86
+ </Container>
87
+ );
88
+ };
@@ -0,0 +1,79 @@
1
+ import styled from "styled-components";
2
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ position: fixed;
6
+ top: 0;
7
+ left: 0;
8
+ z-index: 1000;
9
+ background-color: #281f3366;
10
+ height: 100vh;
11
+ width: 100%;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+
16
+ .modal-container {
17
+ position: relative;
18
+ padding: 40px 20px;
19
+ background: #281f33;
20
+ border-radius: 39px;
21
+
22
+ .button-container {
23
+ display: flex;
24
+ justify-content: flex-end;
25
+ padding-right: 15px;
26
+ }
27
+ }
28
+ `;
29
+
30
+ export const VersionOptions = styled.div`
31
+ max-width: 560px;
32
+ text-align: center;
33
+
34
+ & > * + * {
35
+ margin-top: 20px;
36
+ }
37
+
38
+ img + * {
39
+ margin-top: 0;
40
+ }
41
+
42
+ .buttons-container {
43
+ display: flex;
44
+ justify-content: space-evenly;
45
+
46
+ button {
47
+ flex: 0.3 0 30%;
48
+ }
49
+
50
+ .general-transparent-button {
51
+ color: ${GlobalColors.white};
52
+ border: 1px solid ${GlobalColors.white};
53
+ }
54
+ }
55
+ `;
56
+
57
+ export const EmptyVersion = VersionOptions;
58
+
59
+ export const CreateVersion = styled(VersionOptions)`
60
+ .retailer-name-header {
61
+ margin: 30px 0;
62
+ }
63
+ .version-selector {
64
+ display: flex;
65
+ justify-content: space-evenly;
66
+
67
+ .selector {
68
+ flex: 0.1 1 20%;
69
+ font-family: ${FontFamily.Lato};
70
+ color: ${GlobalColors.white};
71
+ font-size: 11px;
72
+ font-weight: normal;
73
+ }
74
+
75
+ & + * {
76
+ margin-top: 50px;
77
+ }
78
+ }
79
+ `;
@@ -17,6 +17,8 @@ export const FullTabsMenu = ({
17
17
  onClickSave,
18
18
  showSaveButton,
19
19
  canAssign,
20
+ version,
21
+ setShowVersionSelector,
20
22
  }) => {
21
23
  const [imagesSection, setImagesSection] = useState(false);
22
24
 
@@ -28,7 +30,7 @@ export const FullTabsMenu = ({
28
30
  setActiveTab={setActiveTab}
29
31
  />
30
32
  <StatusAsignationInfo
31
- canAssign={canAssign}
33
+ canAssign={canAssign}
32
34
  status={status}
33
35
  activeTab={activeTab}
34
36
  setImageLayout={setImageLayout}
@@ -40,6 +42,8 @@ export const FullTabsMenu = ({
40
42
  onClickSave={onClickSave}
41
43
  askToDeleteImages={askToDeleteImages}
42
44
  showSaveButton={showSaveButton}
45
+ version={version}
46
+ setShowVersionSelector={setShowVersionSelector}
43
47
  />
44
48
  </Container>
45
49
  );
@@ -0,0 +1,15 @@
1
+ import { VersionSelector } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/VersionSelector",
5
+ component: VersionSelector,
6
+ };
7
+
8
+ const Template = (args) => <VersionSelector {...args} />;
9
+
10
+ export const VersionSelectorDefault = Template.bind({});
11
+ VersionSelectorDefault.args = {
12
+ articleId: 35707,
13
+ companyName: "COMPANY DEV",
14
+ currentVersion: 7,
15
+ };
@@ -0,0 +1,75 @@
1
+ import { Container } from "./styles";
2
+ import axios from "axios";
3
+ import { useEffect, useState } from "react";
4
+ import { ScreenHeader } from "../../atoms/ScreenHeader";
5
+ import { Button } from "../../atoms/GeneralButton";
6
+ import addVersion from "../../../assets/images/versionSelector/addVersion.svg";
7
+ import closeIcon from "../../../assets/images/versionSelector/closeVersionSelector.svg";
8
+ import { GlobalColors } from "contentoh-components-library/dist/global-files/variables";
9
+ import { FontFamily } from "../../../global-files/variables";
10
+ import { VersionItem } from "../../molecules/VersionItem";
11
+
12
+ export const VersionSelector = ({
13
+ modalId,
14
+ articleId,
15
+ setVersion,
16
+ companyName,
17
+ currentVersion,
18
+ setShowCreateVersion,
19
+ }) => {
20
+ const [versions, setVersions] = useState();
21
+
22
+ const loadProductVersions = async (articleId) => {
23
+ try {
24
+ const response = await axios.get(
25
+ `${process.env.REACT_APP_VERSIONS_ENDPOINT}?articleId=${articleId}&provider=true`
26
+ );
27
+
28
+ const versionList = JSON.parse(response.data.body).data;
29
+ setVersions(versionList);
30
+ } catch (error) {
31
+ console.log(error);
32
+ }
33
+ };
34
+
35
+ useEffect(() => {
36
+ loadProductVersions(articleId);
37
+ }, []);
38
+
39
+ return (
40
+ <Container id={modalId}>
41
+ <div className="versions-header">
42
+ <ScreenHeader
43
+ text={"Version del producto"}
44
+ headerType={"input-name-header"}
45
+ color={GlobalColors.white}
46
+ fontFamily={FontFamily.Lato}
47
+ />
48
+ <div className="buttons-container">
49
+ <Button
50
+ image={addVersion}
51
+ buttonType={"circular-button"}
52
+ onClick={() => setShowCreateVersion(true)}
53
+ id="add-version"
54
+ />
55
+ <Button
56
+ image={closeIcon}
57
+ buttonType={"circular-button"}
58
+ id="close-button"
59
+ />
60
+ </div>
61
+ </div>
62
+ <div className="versions-container">
63
+ {versions?.map((item) => (
64
+ <VersionItem
65
+ version={item.version}
66
+ articleStatus={item.article_status}
67
+ currentVersion={item.version === currentVersion}
68
+ productOwner={companyName}
69
+ setVersion={setVersion}
70
+ />
71
+ ))}
72
+ </div>
73
+ </Container>
74
+ );
75
+ };
@@ -0,0 +1,28 @@
1
+ import styled from "styled-components";
2
+ import { GlobalColors } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ width: 300px;
6
+ height: 100%;
7
+ background-color: ${GlobalColors.deep_gray};
8
+ padding: 15px;
9
+ overflow: auto;
10
+ position: absolute;
11
+ right: 0;
12
+ top: 0;
13
+
14
+ .versions-header {
15
+ display: flex;
16
+ justify-content: space-between;
17
+ align-items: center;
18
+
19
+ .buttons-container {
20
+ display: flex;
21
+ align-items: center;
22
+
23
+ button + * {
24
+ margin-left: 10px;
25
+ }
26
+ }
27
+ }
28
+ `;