gatsby-matrix-theme 46.0.2 → 46.0.3

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 (38) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +2 -2
  3. package/src/components/atoms/cards/operator-card/template-one/index.js +6 -19
  4. package/src/components/atoms/cards/operator-card/template-one/template-one.module.scss +37 -76
  5. package/src/components/atoms/cards/operator-card/template-one/template-one.stories.js +0 -12
  6. package/src/components/atoms/cards/operator-card/template-one/template-one.test.js +7 -58
  7. package/src/components/atoms/cards/operator-card/template-two/index.js +5 -18
  8. package/src/components/atoms/cards/operator-card/template-two/template-two.module.scss +40 -75
  9. package/src/components/atoms/cards/popup-card/index.js +1 -13
  10. package/src/components/atoms/cards/popup-card/popup-card.module.scss +38 -4
  11. package/src/components/atoms/social-icons/index.js +1 -1
  12. package/src/components/molecules/header/variants/default/template-two/index.js +3 -5
  13. package/src/components/molecules/header/variants/slot/template-two/index.js +8 -6
  14. package/src/components/molecules/operator-summary/template-three/index.js +1 -23
  15. package/src/components/molecules/operator-summary/template-three/template-three.test.js +7 -0
  16. package/src/components/molecules/operator-summary/template-two/index.js +1 -3
  17. package/src/components/molecules/sportstake/lotto-module/winning-numbers/index.js +1 -1
  18. package/src/components/molecules/toplist/row/variant-one.js +5 -16
  19. package/src/components/molecules/toplist/row/variant-one.module.scss +19 -6
  20. package/storybook/public/232.b9d605b3.iframe.bundle.js +1 -0
  21. package/storybook/public/778.562e95ad.iframe.bundle.js +1 -0
  22. package/storybook/public/838.6f0032c5.iframe.bundle.js +7 -0
  23. package/storybook/public/{251.3e57192d.iframe.bundle.js.map → 838.6f0032c5.iframe.bundle.js.map} +1 -1
  24. package/storybook/public/943.801cc128.iframe.bundle.js +1 -0
  25. package/storybook/public/iframe.html +1 -1
  26. package/storybook/public/main.ae586936.iframe.bundle.js +1 -0
  27. package/storybook/public/project.json +1 -2
  28. package/storybook/public/{runtime~main.910996cd.iframe.bundle.js → runtime~main.1e5fdc71.iframe.bundle.js} +1 -1
  29. package/test/factories/pages/slot.js +2 -0
  30. package/tests/factories/pages/default.factory.js +2 -5
  31. package/src/components/atoms/table/column/column.module.scss +0 -132
  32. package/src/components/atoms/table/column/index.js +0 -183
  33. package/storybook/public/232.0187b657.iframe.bundle.js +0 -1
  34. package/storybook/public/251.3e57192d.iframe.bundle.js +0 -7
  35. package/storybook/public/778.de88d4c5.iframe.bundle.js +0 -1
  36. package/storybook/public/943.7c05ec0f.iframe.bundle.js +0 -1
  37. package/storybook/public/main.0b00b25c.iframe.bundle.js +0 -1
  38. /package/storybook/public/{251.3e57192d.iframe.bundle.js.LICENSE.txt → 838.6f0032c5.iframe.bundle.js.LICENSE.txt} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## [46.0.3](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v46.0.2...v46.0.3) (2024-07-09)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * removed extra prop ([0b2b883](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/0b2b8836495361aa24bfedc6c1334aa661c88eaf))
7
+ * tests ([3715383](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/371538396ac8c0e0b2b0a2d5e024adaa270e0ea4))
8
+ * udpate theme ([1214c5f](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/1214c5ff457509a86fac6f514139faf1c2427f38))
9
+ * update props ([68ad761](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/68ad7612c2153b5c5fcc71310849a005e6a6ead7))
10
+ * update tests ([5ddbae2](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/5ddbae2b2955d7d04a8e2237c0a5475e5ec11377))
11
+ * update version ([026095e](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/026095e53f7d30a20d0dc1b5a557f889b16f88df))
12
+ * updated references for tncs + fixed review credits ([e04e956](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/e04e9562f487c93f09b4c976e0306a5cf6359964))
13
+
14
+
15
+ * Merge branch 'tm-4453-tnc-update' into 'master' ([7e53bc9](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/7e53bc9210efee55e069af3ac62db36741525e43))
16
+ * Merge branch 'tm-4453-tnc-update' into 'master' ([2c77bbb](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/2c77bbbe99e72a8eb7e84228790cc26ff035726e))
17
+
1
18
  ## [46.0.2](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v46.0.1...v46.0.2) (2024-07-02)
2
19
 
3
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gatsby-matrix-theme",
3
- "version": "46.0.2",
3
+ "version": "46.0.3",
4
4
  "main": "index.js",
5
5
  "description": "Matrix Theme NPM Package",
6
6
  "author": "",
@@ -25,7 +25,7 @@
25
25
  "dependencies": {
26
26
  "@react-icons/all-files": "^4.1.0",
27
27
  "gatsby": "^5.11.0",
28
- "gatsby-core-theme": "33.1.8",
28
+ "gatsby-core-theme": "33.1.13",
29
29
  "gatsby-plugin-sharp": "^5.11.0",
30
30
  "gatsby-transformer-sharp": "^5.11.0",
31
31
  "prop-types": "15.7.2",
@@ -20,9 +20,6 @@ const TemplateOne = ({
20
20
  item,
21
21
  useOneStarRating = true,
22
22
  page,
23
- tncCollapse = false,
24
- tncFixed = false,
25
- showTnc = true,
26
23
  showPaymentMethods = true,
27
24
  showSellingPoints = true,
28
25
  showAuthor = true,
@@ -44,7 +41,6 @@ const TemplateOne = ({
44
41
  const { relation, path } = item;
45
42
  const { name, status, selling_points: sellingPoints, bonus } = relation || {};
46
43
  const paymentMethods = bonus?.deposit_methods;
47
- const hasTnc = showTnc && relation?.extra_fields?.terms_and_conditions_text_enabled;
48
44
  const reviewPath = path || relation.path;
49
45
  const isInactive = status === 'inactive';
50
46
 
@@ -147,15 +143,7 @@ const TemplateOne = ({
147
143
  </ul>
148
144
  )}
149
145
  </div>
150
- {hasTnc === '1' && (
151
- <div
152
- className={`${styles?.tnc || ''} ${
153
- tncCollapse && styles.tncCollapse ? styles.tncCollapse || '' : ''
154
- } ${tncFixed && styles.tncFixed ? styles.tncFixed || '' : ''}`}
155
- >
156
- <Tnc hasCollapse={tncCollapse} operator={relation} isFixed={tncFixed} />
157
- </div>
158
- )}
146
+ <Tnc operator={item?.relation} />
159
147
  </div>
160
148
  </div>
161
149
  );
@@ -171,13 +159,15 @@ TemplateOne.propTypes = {
171
159
  rating: PropTypes.string,
172
160
  name: PropTypes.string,
173
161
  path: PropTypes.string,
174
- extra_fields: PropTypes.shape({
175
- terms_and_conditions_text_enabled: PropTypes.string,
176
- }),
177
162
  status: PropTypes.string,
178
163
  logo: PropTypes.shape({
179
164
  filename: PropTypes.string,
180
165
  }),
166
+ one_liners: PropTypes.shape({
167
+ main: PropTypes.shape({
168
+ terms_and_conditions_enabled: PropTypes.bool,
169
+ }),
170
+ }),
181
171
  selling_points: PropTypes.shape([]),
182
172
  }),
183
173
  path: PropTypes.string,
@@ -189,9 +179,6 @@ TemplateOne.propTypes = {
189
179
  page: PropTypes.shape({
190
180
  template: PropTypes.string,
191
181
  }),
192
- showTnc: PropTypes.bool,
193
- tncCollapse: PropTypes.bool,
194
- tncFixed: PropTypes.bool,
195
182
  authorTemplateTwo: PropTypes.bool,
196
183
  showPaymentMethods: PropTypes.bool,
197
184
  showSellingPoints: PropTypes.bool,
@@ -56,6 +56,43 @@
56
56
  text-align: center;
57
57
  width: 100%;
58
58
  }
59
+
60
+ & > div:last-child:not(.cardFooter){
61
+ height: 45px;
62
+ overflow: auto;
63
+ padding-right: 1.6rem;
64
+
65
+ &::-webkit-scrollbar {
66
+ -webkit-appearance: none;
67
+ width: 0.4rem;
68
+ }
69
+ &::-webkit-scrollbar-thumb {
70
+ border-radius: 2px;
71
+ background-color: var(--color-57);
72
+ }
73
+ &::-webkit-scrollbar-track {
74
+ background: var(--color-52);
75
+ border-radius: 2px;
76
+ }
77
+
78
+ padding: 0.8rem 1.6rem;
79
+ border-top: 1.5px solid var(--color-52);
80
+ background: var(--color-56);
81
+ border-radius: 0 0 var(--cards-border-radius) var(--cards-border-radius);
82
+ width: 100%;
83
+ text-align: center;
84
+ font-size: 1rem;
85
+ font-weight: 400;
86
+ line-height: 1.5rem;
87
+
88
+ a {
89
+ font-size: 1rem;
90
+ font-weight: 400;
91
+ line-height: 1.5rem;
92
+ margin: 0;
93
+ width: auto;
94
+ }
95
+ }
59
96
  }
60
97
 
61
98
  .cardFooter {
@@ -108,82 +145,6 @@
108
145
  }
109
146
  }
110
147
 
111
- .tnc {
112
- padding: 0.8rem 1.6rem;
113
- border-top: 1.5px solid var(--color-52);
114
- background: var(--color-56);
115
- border-radius: 0 0 var(--cards-border-radius) var(--cards-border-radius);
116
- width: 100%;
117
- text-align: center;
118
- font-size: 1rem;
119
- font-weight: 400;
120
- line-height: 1.5rem;
121
-
122
- a {
123
- font-size: 1rem;
124
- font-weight: 400;
125
- line-height: 1.5rem;
126
- margin: 0;
127
- width: auto;
128
- }
129
- }
130
-
131
- .tncFixed {
132
- text-align: justify;
133
- &:not(.tncCollapse) {
134
- > div {
135
- max-height: 45px;
136
- padding-right: 1.6rem;
137
-
138
- &::-webkit-scrollbar {
139
- -webkit-appearance: none;
140
- width: 0.4rem;
141
- }
142
-
143
- &::-webkit-scrollbar-thumb {
144
- border-radius: 2px;
145
- background-color: var(--color-57);
146
- }
147
-
148
- /* Track */
149
- &::-webkit-scrollbar-track {
150
- background: var(--color-52);
151
- border-radius: 2px;
152
- }
153
- }
154
- }
155
- }
156
-
157
- .tncCollapse {
158
- text-align: left;
159
-
160
- // override colours from collapse module
161
- button {
162
- font-weight: 700;
163
- font-size: 1.2rem !important;
164
- line-height: 1.8rem;
165
- text-decoration: underline;
166
- color: var(--color-49);
167
- width: 100%;
168
- text-align: left;
169
-
170
- &::after {
171
- left: auto !important;
172
- right: 0;
173
- border-color: var(--color-49) !important;
174
- }
175
- }
176
-
177
- div:last-of-type {
178
- font-weight: 400;
179
- font-size: 1rem;
180
- line-height: 1.5rem;
181
- text-align: justify;
182
- color: var(--color-57);
183
- margin-top: 0.8rem;
184
- }
185
- }
186
-
187
148
  .cardContentContainer {
188
149
  padding: 0 1.6rem 1.6rem;
189
150
  @include flex-direction(column);
@@ -23,18 +23,6 @@ export default {
23
23
  defaultValue: operatorData.items[0],
24
24
  description: 'item',
25
25
  },
26
- showTnc: {
27
- name: 'showTnc',
28
- type: { name: 'boolean', required: false },
29
- defaultValue: true,
30
- description: 'show tnc?',
31
- },
32
- tncCollapse: {
33
- name: 'tncCollapse',
34
- type: { name: 'boolean', required: false },
35
- defaultValue: false,
36
- description: 'is T&C collapsed? Will only work if showTnc is set to true',
37
- },
38
26
  tncFixed: {
39
27
  name: 'tncFixed',
40
28
  type: { name: 'boolean', required: false },
@@ -17,6 +17,9 @@ beforeEach(() => {
17
17
  true_votes: 134,
18
18
  false_votes: 20,
19
19
  },
20
+ tnc: {
21
+ operator: data.items[0].relation,
22
+ },
20
23
  };
21
24
 
22
25
  relation = props.item.relation;
@@ -43,24 +46,6 @@ describe('TemplateOne component', () => {
43
46
  expect(getByText(relation.name)).toBeTruthy();
44
47
  });
45
48
  });
46
- // test('show correct author image', async () => {
47
- // // eslint-disable-next-line global-require
48
- // const func = require('gatsby-core-theme/src/helpers/device-detect');
49
- // func.isNativeImageLazyLoadingSupported = jest.fn(() => true);
50
-
51
- // render(<TemplateOne {...props} />);
52
-
53
- // await waitFor(() => {
54
- // const img = screen.getByAltText(props.item.author.name);
55
- // expect(img).toBeVisible();
56
- // expect(img).toHaveAttribute(
57
- // 'src',
58
- // 'https://cdn.images.com/fit-in/21x21/1666946339/cameron-murphy.png'
59
- // );
60
- // expect(img).toHaveAttribute('width', '21');
61
- // expect(img).toHaveAttribute('height', '21');
62
- // });
63
- // });
64
49
  test('if no author data, show nothing', async () => {
65
50
  props.item.author = null;
66
51
  const { container } = render(<TemplateOne {...props} />);
@@ -99,19 +84,6 @@ describe('TemplateOne component', () => {
99
84
  expect(container.querySelector('.sellingPoints')).toBeFalsy();
100
85
  });
101
86
  });
102
- // test('show correct bonus text', async () => {
103
- // const { container } = render(<TemplateOne {...props} />);
104
-
105
- // await waitFor(() => {
106
- // expect(container.querySelectorAll('.detailsBox span').length).toBe(2);
107
- // expect(container.querySelectorAll('.detailsBox span')[0].innerHTML).toBe(
108
- // relation.one_liners.main.one_liner.split('+')[0].replace('&', '&amp;')
109
- // );
110
- // expect(container.querySelectorAll('.detailsBox span')[1].innerHTML).toBe(
111
- // `+${relation.one_liners.main.one_liner.split('+')[1]}`
112
- // );
113
- // });
114
- // });
115
87
  test('hide bonus text if operator inactive', async () => {
116
88
  props.item.relation.status = 'inactive';
117
89
  const { container } = render(<TemplateOne {...props} />);
@@ -149,35 +121,12 @@ describe('TemplateOne component', () => {
149
121
  expect(container.querySelector('.paymentMethods')).toBeFalsy();
150
122
  });
151
123
  });
152
- test('show correct tnc text not fixed, not collapsed', async () => {
153
- const { container } = render(<TemplateOne {...props} />);
154
-
155
- await waitFor(() => {
156
- expect(container.querySelectorAll('.tnc div')[0].innerHTML).toEqual(
157
- '18+ New Players only. Play responsibly.'
158
- );
159
- expect(container.querySelectorAll('.tnc.tncCollapse')[0]).toBeFalsy();
160
- expect(container.querySelectorAll('.tnc.tncFixed')[0]).toBeFalsy();
161
- });
162
- });
163
- test('show correct tnc collapsed', async () => {
164
- const { container } = render(<TemplateOne {...props} tncCollapse />);
165
-
166
- await waitFor(() => {
167
- expect(container.querySelectorAll('.tnc.tncCollapse')[0]).toBeTruthy();
168
- expect(container.querySelectorAll('.tnc.tncFixed')[0]).toBeFalsy();
169
- });
170
- });
171
- test('show correct tnc fixed', async () => {
172
- const { container } = render(<TemplateOne {...props} tncFixed />);
173
-
174
- await waitFor(() => {
175
- expect(container.querySelectorAll('.tnc.tncCollapse')[0]).toBeFalsy();
176
- expect(container.querySelectorAll('.tnc.tncFixed')[0]).toBeTruthy();
177
- });
124
+ test('show correct tnc fixed', () => {
125
+ const { getByText } = render(<TemplateOne {...props} />);
126
+ expect(getByText('test tncs')).toBeTruthy();
178
127
  });
179
128
  test('if no tnc, show nothing', async () => {
180
- props.item.relation.extra_fields.terms_and_conditions_text_enabled = '0';
129
+ props.item.relation.one_liners.main.terms_and_conditions_enabled = '0';
181
130
  const { container } = render(<TemplateOne {...props} />);
182
131
 
183
132
  await waitFor(() => {
@@ -16,9 +16,6 @@ const TemplateTwo = ({
16
16
  item,
17
17
  useOneStarRating = true,
18
18
  page,
19
- tncCollapse = false,
20
- tncFixed = false,
21
- showTnc = false,
22
19
  showPaymentMethods = true,
23
20
  showAuthor = true,
24
21
  showRatingLabel = false,
@@ -38,7 +35,6 @@ const TemplateTwo = ({
38
35
  const { relation, path } = item;
39
36
  const { name, status, bonus } = relation || {};
40
37
  const paymentMethods = bonus?.deposit_methods;
41
- const hasTnc = showTnc && relation?.extra_fields?.terms_and_conditions_text_enabled;
42
38
  const reviewPath = path || relation.path;
43
39
  const isInactive = status === 'inactive';
44
40
 
@@ -125,16 +121,8 @@ const TemplateTwo = ({
125
121
  operatorName={name}
126
122
  reviewPath={reviewPath}
127
123
  />
128
- {hasTnc === '1' && (
129
- <div
130
- className={`${styles.tnc || ''} ${
131
- tncCollapse && styles.tncCollapse ? styles.tncCollapse || '' : ''
132
- } ${tncFixed && styles.tncFixed ? styles.tncFixed || '' : ''}`}
133
- >
134
- <Tnc hasCollapse={tncCollapse} operator={relation} isFixed={tncFixed} />
135
- </div>
136
- )}
137
124
  </div>
125
+ <Tnc operator={item?.relation} />
138
126
 
139
127
  {hasVariableComponent && (
140
128
  <VariableComponent item={item} page={page} featured={false} template="templateTwo" />
@@ -153,8 +141,10 @@ TemplateTwo.propTypes = {
153
141
  rating: PropTypes.string,
154
142
  name: PropTypes.string,
155
143
  path: PropTypes.string,
156
- extra_fields: PropTypes.shape({
157
- terms_and_conditions_text_enabled: PropTypes.string,
144
+ one_liners: PropTypes.shape({
145
+ main: PropTypes.shape({
146
+ terms_and_conditions_text_enabled: PropTypes.string,
147
+ }),
158
148
  }),
159
149
  status: PropTypes.string,
160
150
  logo: PropTypes.shape({
@@ -171,9 +161,6 @@ TemplateTwo.propTypes = {
171
161
  template: PropTypes.string,
172
162
  }),
173
163
  authorTemplateTwo: PropTypes.bool,
174
- showTnc: PropTypes.bool,
175
- tncCollapse: PropTypes.bool,
176
- tncFixed: PropTypes.bool,
177
164
  showPaymentMethods: PropTypes.bool,
178
165
  showAuthor: PropTypes.bool,
179
166
  verifyIcon: PropTypes.string,
@@ -60,6 +60,46 @@
60
60
  position: relative;
61
61
  min-height: 27rem;
62
62
  @include flex-direction(column);
63
+
64
+ & > div:last-child:not(.cardContent){
65
+ height: 45px;
66
+ overflow: auto;
67
+ padding-right: 1.6rem;
68
+
69
+ &::-webkit-scrollbar {
70
+ -webkit-appearance: none;
71
+ width: 0.4rem;
72
+ }
73
+
74
+ &::-webkit-scrollbar-thumb {
75
+ border-radius: 2px;
76
+ background-color: var(--color-57);
77
+ }
78
+
79
+ /* Track */
80
+ &::-webkit-scrollbar-track {
81
+ background: var(--color-52);
82
+ border-radius: 2px;
83
+ }
84
+
85
+ padding: 0.8rem 1.6rem;
86
+ border-top: 1.5px solid var(--color-52);
87
+ background: var(--color-56);
88
+ border-radius: 0 0 var(--cards-border-radius) var(--cards-border-radius);
89
+ width: 100%;
90
+ text-align: center;
91
+ font-size: 1rem;
92
+ font-weight: 400;
93
+ line-height: 1.5rem;
94
+
95
+ a {
96
+ font-size: 1rem;
97
+ font-weight: 400;
98
+ line-height: 1.5rem;
99
+ margin: 0;
100
+ width: auto;
101
+ }
102
+ }
63
103
  }
64
104
 
65
105
  .cardContent {
@@ -168,81 +208,6 @@
168
208
  }
169
209
  }
170
210
 
171
- .tnc {
172
- padding: 0.8rem 1.6rem;
173
- border-top: 1.5px solid var(--color-52);
174
- background: var(--color-56);
175
- border-radius: 0 0 var(--cards-border-radius) var(--cards-border-radius);
176
- width: 100%;
177
- text-align: center;
178
- font-size: 1rem;
179
- font-weight: 400;
180
- line-height: 1.5rem;
181
-
182
- a {
183
- font-size: 1rem;
184
- font-weight: 400;
185
- line-height: 1.5rem;
186
- margin: 0;
187
- width: auto;
188
- }
189
- }
190
-
191
- .tncFixed {
192
- text-align: justify;
193
- &:not(.tncCollapse) {
194
- > div {
195
- max-height: 45px;
196
- padding-right: 1.6rem;
197
-
198
- &::-webkit-scrollbar {
199
- -webkit-appearance: none;
200
- width: 0.4rem;
201
- }
202
-
203
- &::-webkit-scrollbar-thumb {
204
- border-radius: 2px;
205
- background-color: var(--color-57);
206
- }
207
-
208
- /* Track */
209
- &::-webkit-scrollbar-track {
210
- background: var(--color-52);
211
- border-radius: 2px;
212
- }
213
- }
214
- }
215
- }
216
-
217
- .tncCollapse {
218
- text-align: left;
219
-
220
- button {
221
- font-weight: 700;
222
- font-size: 1.2rem !important;
223
- line-height: 1.8rem;
224
- text-decoration: underline;
225
- color: var(--color-49);
226
- width: 100%;
227
- text-align: left;
228
-
229
- &::after {
230
- left: auto !important;
231
- right: 0;
232
- border-color: var(--color-49) !important;
233
- }
234
- }
235
-
236
- div:last-of-type {
237
- font-weight: 400;
238
- font-size: 1rem;
239
- line-height: 1.5rem;
240
- text-align: justify;
241
- color: var(--color-57);
242
- margin-top: 0.8rem;
243
- }
244
- }
245
-
246
211
  .cardContentContainer {
247
212
  padding: 1.6rem;
248
213
  margin: 0 1.6rem;
@@ -14,10 +14,8 @@ const PopupCard = ({
14
14
  item,
15
15
  tracker,
16
16
  showName = false,
17
- showTnc = false,
18
17
  showRating = false,
19
18
  showReviewLink = false,
20
- hasCollapse = true,
21
19
  buttonSize = '',
22
20
  buttonType = 'primary',
23
21
  template,
@@ -27,7 +25,6 @@ const PopupCard = ({
27
25
  }) => {
28
26
  const operatorName = item.name;
29
27
  const oneLiner = item?.one_liners?.main?.one_liner;
30
- const tnc = item?.extra_fields?.terms_and_conditions_text_enabled;
31
28
  const imageObject = item?.logo;
32
29
 
33
30
  return (
@@ -71,11 +68,7 @@ const PopupCard = ({
71
68
  />
72
69
  )}
73
70
  </div>
74
- {showTnc && tnc === '1' && (
75
- <div className={styles?.tandc || ''}>
76
- <Tnc onlyMobile operator={item} hasCollapse={hasCollapse} />
77
- </div>
78
- )}
71
+ <Tnc operator={item} />
79
72
  </div>
80
73
  );
81
74
  };
@@ -97,9 +90,6 @@ PopupCard.propTypes = {
97
90
  logo_url_object: PropTypes.shape({
98
91
  alt: PropTypes.string,
99
92
  }),
100
- extra_fields: PropTypes.shape({
101
- terms_and_conditions_text_enabled: PropTypes.string,
102
- }),
103
93
  logo_url: PropTypes.string,
104
94
  one_liners: PropTypes.shape({
105
95
  main: PropTypes.shape({
@@ -112,11 +102,9 @@ PopupCard.propTypes = {
112
102
  }),
113
103
  tracker: PropTypes.string,
114
104
  showName: PropTypes.bool,
115
- showTnc: PropTypes.bool,
116
105
  showRating: PropTypes.bool,
117
106
  showReviewLink: PropTypes.bool,
118
107
  template: PropTypes.string,
119
- hasCollapse: PropTypes.bool,
120
108
  buttonSize: PropTypes.string,
121
109
  buttonType: PropTypes.string,
122
110
  showRoundedRating: PropTypes.bool,
@@ -35,10 +35,44 @@
35
35
  object-fit: contain;
36
36
  }
37
37
  }
38
- .tandc{
39
- grid-row: 3/4;
40
- grid-column: 1/3;
41
- margin-bottom: 2rem;
38
+
39
+ & > div:last-child:not(.buttonContainer){
40
+ grid-column: -1/1;
41
+ max-height: 45px;
42
+ overflow: auto;
43
+ padding-right: 1.6rem;
44
+
45
+ &::-webkit-scrollbar {
46
+ -webkit-appearance: none;
47
+ width: 0.4rem;
48
+ }
49
+
50
+ &::-webkit-scrollbar-thumb {
51
+ border-radius: 2px;
52
+ background-color: var(--color-57);
53
+ }
54
+
55
+ /* Track */
56
+ &::-webkit-scrollbar-track {
57
+ background: var(--color-52);
58
+ border-radius: 2px;
59
+ }
60
+ padding: 0.8rem 0rem;
61
+ border-top: 1.5px solid var(--color-52);
62
+ border-radius: 0 0 var(--cards-border-radius) var(--cards-border-radius);
63
+ width: 100%;
64
+ text-align: center;
65
+ font-size: 1rem;
66
+ font-weight: 400;
67
+ line-height: 1.5rem;
68
+
69
+ a {
70
+ font-size: 1rem;
71
+ font-weight: 400;
72
+ line-height: 1.5rem;
73
+ margin: 0;
74
+ width: auto;
75
+ }
42
76
  }
43
77
 
44
78
  .buttonContainer {
@@ -53,7 +53,7 @@ const SocialIcons = ({
53
53
  aria-label={`${key} Link`}
54
54
  href={socialIcons[key]}
55
55
  target="_blank"
56
- rel="noreferrer"
56
+ rel="noreferrer noopener"
57
57
  >
58
58
  {icons[key]}
59
59
  </a>
@@ -38,11 +38,9 @@ export default function TemplateTwo({ extraFields, imageObj }) {
38
38
  icon={<FaArrowRight title="Right-pointing Arrow Icon" />}
39
39
  />
40
40
  )}
41
- {getExtraField(operator?.extra_fields, 'terms_and_conditions_text_enabled') === '1' && (
42
- <span className={styles.tnc}>
43
- <Tnc hasCollapse={false} operator={operator} />
44
- </span>
45
- )}
41
+ <span className={styles.tnc}>
42
+ <Tnc operator={operator} />
43
+ </span>
46
44
  </div>
47
45
  {imageObj && (
48
46
  <div className={styles.imgContainer}>
@@ -43,13 +43,15 @@ const TemplateTwo = ({ page, image, width = '259', height = '259' }) => {
43
43
  </div>
44
44
  </div>
45
45
  {headerBonus && (
46
- <OperatorBanner
47
- logo={headerBonus?.value?.logo}
48
- operator={headerBonus?.value}
49
- template={page?.template}
50
- />
46
+ <>
47
+ <OperatorBanner
48
+ logo={headerBonus?.value?.logo}
49
+ operator={headerBonus?.value}
50
+ template={page?.template}
51
+ />
52
+ <Tnc operator={headerBonus?.value} hasCollapse={false} isFixed />
53
+ </>
51
54
  )}
52
- <Tnc operator={headerBonus?.value} hasCollapse={false} isFixed />
53
55
  </div>
54
56
  );
55
57
  };