gatsby-matrix-theme 34.0.14 → 34.0.16
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 +22 -0
- package/package.json +1 -1
- package/src/components/molecules/operator-summary/index.js +3 -0
- package/src/components/molecules/operator-summary/template-one/index.js +2 -2
- package/src/components/molecules/operator-summary/template-three/index.js +83 -0
- package/src/components/molecules/operator-summary/template-three/template-three.module.scss +139 -0
- package/src/components/molecules/operator-summary/template-three/template-three.stories.js +61 -0
- package/src/components/molecules/operator-summary/template-three/template-three.test.js +31 -0
- package/src/components/molecules/operator-summary/template-two/index.js +37 -40
- package/storybook/public/{660.c91ab12c.iframe.bundle.js → 970.1250b6b4.iframe.bundle.js} +3 -3
- package/storybook/public/{660.c91ab12c.iframe.bundle.js.map → 970.1250b6b4.iframe.bundle.js.map} +1 -1
- package/storybook/public/iframe.html +1 -1
- package/storybook/public/main.533502d9.iframe.bundle.js +2 -0
- package/tests/factories/pages/operator.factory.js +1 -0
- package/storybook/public/main.8bef41e5.iframe.bundle.js +0 -2
- /package/storybook/public/{660.c91ab12c.iframe.bundle.js.LICENSE.txt → 970.1250b6b4.iframe.bundle.js.LICENSE.txt} +0 -0
- /package/storybook/public/{main.8bef41e5.iframe.bundle.js.LICENSE.txt → main.533502d9.iframe.bundle.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## [34.0.16](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v34.0.15...v34.0.16) (2023-10-12)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* make default template one for summery ([5ded7dc](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/5ded7dccf4f7dffb5dce62d2269b085b265493aa))
|
|
7
|
+
* remove tnc it will be part of bonus module ([1b4277a](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/1b4277a8c9be6345d7b37306cc45279d13d209f7))
|
|
8
|
+
|
|
9
|
+
## [34.0.15](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v34.0.14...v34.0.15) (2023-10-12)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* add option for fixed Tnc ([0f26fb5](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/0f26fb5ceaf42a265e5ca18a1532da1152598874))
|
|
15
|
+
* expert review tempalte three ([5535875](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/55358755429970662cae35d8d9c6c28c3a723898))
|
|
16
|
+
* fix test ([804cccf](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/804cccf482a5060af7e62faee9ffa6bfc5307df6))
|
|
17
|
+
* make style ([a1b49fd](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/a1b49fddeb87077482603d079994ce52323ce22e))
|
|
18
|
+
* show img ([3eecee1](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/3eecee12d4d09635dac51845f3b6faeb9f27ece3))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
* Merge branch 'tm-3692-expert-review-summary' into 'master' ([e8f8946](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/e8f894633868aa366a6c4bdb3c5c801f4359943a))
|
|
22
|
+
|
|
1
23
|
## [34.0.14](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v34.0.13...v34.0.14) (2023-10-11)
|
|
2
24
|
|
|
3
25
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import TemplateOne from './template-one';
|
|
3
3
|
import TemplateTwo from './template-two';
|
|
4
|
+
import TemplateThree from './template-three';
|
|
4
5
|
|
|
5
6
|
export default function index({ template = 'template_one', ...props }) {
|
|
6
7
|
switch (template) {
|
|
7
8
|
case 'template_two':
|
|
8
9
|
return <TemplateTwo {...props} />;
|
|
10
|
+
case 'template_three':
|
|
11
|
+
return <TemplateThree {...props} />;
|
|
9
12
|
default:
|
|
10
13
|
return <TemplateOne {...props} />;
|
|
11
14
|
}
|
|
@@ -29,7 +29,7 @@ const TemplateOne = ({
|
|
|
29
29
|
return (
|
|
30
30
|
<div className={styles?.summaryLayout || ''}>
|
|
31
31
|
<div className={styles.details}>
|
|
32
|
-
<h2>{translate(translations, '
|
|
32
|
+
<h2>{translate(translations, 'expert_casino_review_title', 'Expert Casino Review')}</h2>
|
|
33
33
|
<div className={styles.img}>
|
|
34
34
|
<LazyImage src={imagePrettyUrl(img)} width={imgWidth} height={imgHeight} alt={name} />
|
|
35
35
|
{operatorImg && <Ratings rating={operatorData?.rating} />}
|
|
@@ -65,7 +65,7 @@ const TemplateOne = ({
|
|
|
65
65
|
);
|
|
66
66
|
};
|
|
67
67
|
TemplateOne.propTypes = {
|
|
68
|
-
imgWidth: PropTypes.
|
|
68
|
+
imgWidth: PropTypes.string,
|
|
69
69
|
imgHeight: PropTypes.string,
|
|
70
70
|
tnc: PropTypes.bool,
|
|
71
71
|
operatorImg: PropTypes.bool,
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { imagePrettyUrl, getExtraField, translate } from 'gatsby-core-theme/src/helpers/getters';
|
|
5
|
+
import { generatePlaceholderString } from 'gatsby-core-theme/src/helpers/generators.mjs';
|
|
6
|
+
import { Context } from 'gatsby-core-theme/src/context/MainProvider';
|
|
7
|
+
import Bonus from 'gatsby-core-theme/src/components/molecules/bonus/template-one';
|
|
8
|
+
import LazyImage from 'gatsby-core-theme/src/hooks/lazy-image';
|
|
9
|
+
import AuthorName from '../../../atoms/author/template-one';
|
|
10
|
+
import styles from './template-three.module.scss';
|
|
11
|
+
|
|
12
|
+
const TemplateTwo = ({
|
|
13
|
+
page,
|
|
14
|
+
tnc = false,
|
|
15
|
+
tncFixed = false,
|
|
16
|
+
imgWidth = 128,
|
|
17
|
+
imgHeight = 146,
|
|
18
|
+
verify = '../../../../images/verifiedAuthor.svg',
|
|
19
|
+
}) => {
|
|
20
|
+
const { translations } = useContext(Context) || {};
|
|
21
|
+
const operatorData = page?.relation;
|
|
22
|
+
const operatorSummary = getExtraField(page.extra_fields, 'operator_review_summary', null);
|
|
23
|
+
const author = page?.reviewer;
|
|
24
|
+
const title = generatePlaceholderString(
|
|
25
|
+
translate(translations, 'expert_casino_review_title', 'Expert Casino Review [operator_name]'),
|
|
26
|
+
translations,
|
|
27
|
+
operatorData
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<div className={styles?.summaryLayout || ''}>
|
|
32
|
+
<div className={styles.details}>
|
|
33
|
+
<h2>{title}</h2>
|
|
34
|
+
|
|
35
|
+
{operatorSummary && (
|
|
36
|
+
<div
|
|
37
|
+
className={styles.description}
|
|
38
|
+
dangerouslySetInnerHTML={{ __html: operatorSummary }}
|
|
39
|
+
/>
|
|
40
|
+
)}
|
|
41
|
+
<div className={styles.author}>
|
|
42
|
+
<LazyImage
|
|
43
|
+
src={imagePrettyUrl(author?.image)}
|
|
44
|
+
width={imgWidth}
|
|
45
|
+
height={imgHeight}
|
|
46
|
+
alt={author?.name}
|
|
47
|
+
/>
|
|
48
|
+
<div>
|
|
49
|
+
<AuthorName verify={verify} authorName={author?.name} />
|
|
50
|
+
<span>{author?.author_title}</span>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
<Bonus
|
|
55
|
+
tncFixed={tncFixed}
|
|
56
|
+
tncEnable={tnc}
|
|
57
|
+
operator={operatorData}
|
|
58
|
+
template={page?.template}
|
|
59
|
+
/>
|
|
60
|
+
</div>
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
TemplateTwo.propTypes = {
|
|
65
|
+
imgWidth: PropTypes.string,
|
|
66
|
+
imgHeight: PropTypes.string,
|
|
67
|
+
tnc: PropTypes.bool,
|
|
68
|
+
tncFixed: PropTypes.bool,
|
|
69
|
+
verify: PropTypes.string,
|
|
70
|
+
page: PropTypes.shape({
|
|
71
|
+
reviewer: PropTypes.shape({}),
|
|
72
|
+
relation_type: PropTypes.string,
|
|
73
|
+
extra_fields: PropTypes.shape({}),
|
|
74
|
+
template: PropTypes.string,
|
|
75
|
+
updated_at: PropTypes.string,
|
|
76
|
+
relation: PropTypes.shape({
|
|
77
|
+
name: PropTypes.string,
|
|
78
|
+
logo_url: PropTypes.string,
|
|
79
|
+
}),
|
|
80
|
+
}),
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export default TemplateTwo;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
.summaryLayout {
|
|
2
|
+
border-radius: 1.6rem;
|
|
3
|
+
background: var(--operator-summery-backgorund, #fff);
|
|
4
|
+
box-shadow: 0px 4px 6px -2px rgba(27, 27, 28, 0.02), 0px 12px 16px -4px rgba(27, 27, 28, 0.05);
|
|
5
|
+
width: calc(100% - 32px);
|
|
6
|
+
padding:0 1.6rem;
|
|
7
|
+
|
|
8
|
+
// Bonus module
|
|
9
|
+
> div:last-of-type {
|
|
10
|
+
padding-bottom: 2.4rem;
|
|
11
|
+
> div {
|
|
12
|
+
@include min(tablet) {
|
|
13
|
+
padding: 1.6rem;
|
|
14
|
+
}
|
|
15
|
+
> div {
|
|
16
|
+
//img, details and onliner
|
|
17
|
+
@include flex-direction(row);
|
|
18
|
+
|
|
19
|
+
> a {
|
|
20
|
+
// hide deatils
|
|
21
|
+
height: 4rem;
|
|
22
|
+
> div {
|
|
23
|
+
display: none;
|
|
24
|
+
@include min(laptop) {
|
|
25
|
+
display: block;
|
|
26
|
+
min-width: 12rem;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
> img {
|
|
30
|
+
width: 4rem;
|
|
31
|
+
height: 4rem;
|
|
32
|
+
min-width: 4rem;
|
|
33
|
+
}
|
|
34
|
+
@include min(tablet) {
|
|
35
|
+
height: 6.4rem;
|
|
36
|
+
> img {
|
|
37
|
+
width: 6.4rem;
|
|
38
|
+
height: 6.4rem;
|
|
39
|
+
min-width: 6.4rem;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// onliner
|
|
44
|
+
> div {
|
|
45
|
+
background-color: transparent;
|
|
46
|
+
border: 0;
|
|
47
|
+
height: fit-content;
|
|
48
|
+
min-height: fit-content;
|
|
49
|
+
align-items: start;
|
|
50
|
+
> span {
|
|
51
|
+
text-align: left;
|
|
52
|
+
margin: 0;
|
|
53
|
+
display: inline-block;
|
|
54
|
+
color: #1b1b1c;
|
|
55
|
+
font-size: 1.2rem;
|
|
56
|
+
font-style: normal;
|
|
57
|
+
font-weight: 700;
|
|
58
|
+
line-height: 1.8rem;
|
|
59
|
+
}
|
|
60
|
+
@include min(tablet) {
|
|
61
|
+
border-radius: 8px;
|
|
62
|
+
background: #fff;
|
|
63
|
+
min-height: 6.4rem;
|
|
64
|
+
@include flex-direction(column);
|
|
65
|
+
@include flex-align(center, center);
|
|
66
|
+
> span {
|
|
67
|
+
font-weight: 700;
|
|
68
|
+
&:first-of-type {
|
|
69
|
+
font-size: 1.6rem;
|
|
70
|
+
line-height: 2.7rem;
|
|
71
|
+
}
|
|
72
|
+
&:last-of-type {
|
|
73
|
+
font-size: 1.4rem;
|
|
74
|
+
line-height: 2.2rem;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
.details {
|
|
84
|
+
box-sizing: border-box;
|
|
85
|
+
h2 {
|
|
86
|
+
padding: 2.4rem 0;
|
|
87
|
+
margin: 0;
|
|
88
|
+
color: #1b1b1c;
|
|
89
|
+
font-size: 2.4rem;
|
|
90
|
+
font-style: normal;
|
|
91
|
+
font-weight: 700;
|
|
92
|
+
line-height: 3.2rem;
|
|
93
|
+
text-transform: capitalize;
|
|
94
|
+
@include min(tablet){
|
|
95
|
+
font-size: 3.2rem;
|
|
96
|
+
line-height: 4rem;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.description {
|
|
102
|
+
color: #515156;
|
|
103
|
+
text-align: justify;
|
|
104
|
+
font-size: 1.6rem;
|
|
105
|
+
font-style: normal;
|
|
106
|
+
font-weight: 400;
|
|
107
|
+
line-height: 2.7rem;
|
|
108
|
+
margin-top: 0.8rem;
|
|
109
|
+
margin-bottom: 1.6rem;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.author {
|
|
113
|
+
@include flex-direction(row);
|
|
114
|
+
@include flex-align(center, flex-start);
|
|
115
|
+
gap: 1.6rem;
|
|
116
|
+
margin-bottom: 3.2rem;
|
|
117
|
+
> img {
|
|
118
|
+
width: 6.4rem;
|
|
119
|
+
height: 6.4rem;
|
|
120
|
+
border-radius: 100%;
|
|
121
|
+
}
|
|
122
|
+
> div {
|
|
123
|
+
@include flex-direction(column);
|
|
124
|
+
> span:first-of-type {
|
|
125
|
+
color: #1b1b1c;
|
|
126
|
+
font-size: 1.6rem;
|
|
127
|
+
font-style: normal;
|
|
128
|
+
font-weight: 700;
|
|
129
|
+
line-height: 2.4rem;
|
|
130
|
+
}
|
|
131
|
+
> span:last-of-type {
|
|
132
|
+
color: #515156;
|
|
133
|
+
font-size: 1.4rem;
|
|
134
|
+
font-style: normal;
|
|
135
|
+
font-weight: 700;
|
|
136
|
+
line-height: 2.2rem;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import {
|
|
4
|
+
Title,
|
|
5
|
+
Description,
|
|
6
|
+
Primary,
|
|
7
|
+
PRIMARY_STORY,
|
|
8
|
+
ArgsTable,
|
|
9
|
+
} from '@storybook/addon-docs/blocks';
|
|
10
|
+
import MainProvider from '~context/MainProvider';
|
|
11
|
+
import getOperatorData from '../../../../../tests/factories/pages/operator.factory';
|
|
12
|
+
import verifyIcon from '../../../../../storybook-images/verifiedAuthor.svg';
|
|
13
|
+
import TemplateThree from '.';
|
|
14
|
+
|
|
15
|
+
const pageData = getOperatorData();
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
title: 'Theme/Modules/Template Blocks/Operator review page/Review Summary/Template Three',
|
|
19
|
+
component: TemplateThree,
|
|
20
|
+
argTypes: {
|
|
21
|
+
page: {
|
|
22
|
+
name: 'Page Object',
|
|
23
|
+
type: { name: 'Object' },
|
|
24
|
+
defaultValue: pageData,
|
|
25
|
+
},
|
|
26
|
+
verify: {
|
|
27
|
+
defaultValue: verifyIcon,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
parameters: {
|
|
31
|
+
docs: {
|
|
32
|
+
description: {
|
|
33
|
+
component: 'Operator Review Header - Template Two',
|
|
34
|
+
},
|
|
35
|
+
page: () => (
|
|
36
|
+
<>
|
|
37
|
+
<Title />
|
|
38
|
+
<Description />
|
|
39
|
+
<Primary />
|
|
40
|
+
<ArgsTable story={PRIMARY_STORY} />
|
|
41
|
+
</>
|
|
42
|
+
),
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const Template = (args) => (
|
|
48
|
+
<MainProvider
|
|
49
|
+
value={{
|
|
50
|
+
bannerIsActive: false,
|
|
51
|
+
cookieAccepted: true,
|
|
52
|
+
translations: {
|
|
53
|
+
online_casino: 'Online Casino',
|
|
54
|
+
},
|
|
55
|
+
}}
|
|
56
|
+
>
|
|
57
|
+
<TemplateThree {...args} />
|
|
58
|
+
</MainProvider>
|
|
59
|
+
);
|
|
60
|
+
export const Default = Template.bind({});
|
|
61
|
+
Default.args = {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import OperatorSummary from '.';
|
|
4
|
+
|
|
5
|
+
const mockPage = {
|
|
6
|
+
reviewer: {},
|
|
7
|
+
relation_type: 'casino',
|
|
8
|
+
extra_fields: {},
|
|
9
|
+
template: 'operator',
|
|
10
|
+
relation: {
|
|
11
|
+
name: 'Rizk',
|
|
12
|
+
logo_url: 'logo.png',
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
test('renders with default props', () => {
|
|
17
|
+
const { getByText, getByAltText } = render(<OperatorSummary page={mockPage} />);
|
|
18
|
+
|
|
19
|
+
expect(getByText('Expert Casino Review Rizk')).toBeInTheDocument();
|
|
20
|
+
expect(getByAltText('Rizk')).toBeInTheDocument();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('renders with custom props', () => {
|
|
24
|
+
const { getByText, getByAltText } = render(
|
|
25
|
+
<OperatorSummary page={mockPage} imgWidth={200} imgHeight="200px" />
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
expect(getByText('Expert Casino Review Rizk')).toBeInTheDocument();
|
|
29
|
+
expect(getByAltText('Rizk')).toBeInTheDocument();
|
|
30
|
+
expect(document.querySelector('.description')).not.toBeInTheDocument();
|
|
31
|
+
});
|
|
@@ -26,53 +26,50 @@ const TemplateTwo = ({
|
|
|
26
26
|
const author = page?.reviewer;
|
|
27
27
|
const img = operatorImg ? imageObject : author?.image;
|
|
28
28
|
return (
|
|
29
|
-
<div>
|
|
30
|
-
<div className={styles
|
|
31
|
-
<div className={styles.
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
{author?.pages_count} {translate(translations, 'reviews', 'Reviews')}
|
|
63
|
-
</span>
|
|
64
|
-
</div>
|
|
29
|
+
<div className={styles?.summaryLayout || ''}>
|
|
30
|
+
<div className={styles.details}>
|
|
31
|
+
<div className={styles.img}>
|
|
32
|
+
<LazyImage
|
|
33
|
+
src={imagePrettyUrl(img, imgWidth, imgHeight)}
|
|
34
|
+
width={imgWidth}
|
|
35
|
+
height={imgHeight}
|
|
36
|
+
alt={name}
|
|
37
|
+
/>
|
|
38
|
+
</div>
|
|
39
|
+
<div className={styles.title}>
|
|
40
|
+
<h2>{translate(translations, 'expert_casino_review', 'Expert Casino Review')}</h2>
|
|
41
|
+
<Ratings halfStars={false} rating={operatorData?.rating} numOfStars={5} />
|
|
42
|
+
<p>
|
|
43
|
+
{translate(translations, 'published_on', 'Published on')} {formatDate(page.updated_at)}
|
|
44
|
+
</p>
|
|
45
|
+
</div>
|
|
46
|
+
{operatorSummary && (
|
|
47
|
+
<div
|
|
48
|
+
className={styles.description}
|
|
49
|
+
dangerouslySetInnerHTML={{ __html: operatorSummary }}
|
|
50
|
+
/>
|
|
51
|
+
)}
|
|
52
|
+
<div className={styles.author}>
|
|
53
|
+
<Author
|
|
54
|
+
label="By"
|
|
55
|
+
authorName={author?.name}
|
|
56
|
+
verify={imagePrettyUrl(author?.image)}
|
|
57
|
+
authorPath={author?.profile_page_path}
|
|
58
|
+
/>
|
|
59
|
+
<span>
|
|
60
|
+
{author?.pages_count} {translate(translations, 'reviews', 'Reviews')}
|
|
61
|
+
</span>
|
|
65
62
|
</div>
|
|
66
|
-
|
|
67
|
-
<OperatorBanner logo={imageObject} operator={operatorData} template={page?.template} />
|
|
68
|
-
{tnc && <Tnc hasCollapse={false} />}
|
|
69
63
|
</div>
|
|
64
|
+
|
|
65
|
+
<OperatorBanner logo={imageObject} operator={operatorData} template={page?.template} />
|
|
66
|
+
{tnc && <Tnc hasCollapse={false} />}
|
|
70
67
|
</div>
|
|
71
68
|
);
|
|
72
69
|
};
|
|
73
70
|
|
|
74
71
|
TemplateTwo.propTypes = {
|
|
75
|
-
imgWidth: PropTypes.
|
|
72
|
+
imgWidth: PropTypes.string,
|
|
76
73
|
imgHeight: PropTypes.string,
|
|
77
74
|
tnc: PropTypes.bool,
|
|
78
75
|
operatorImg: PropTypes.bool,
|