|
7 | 7 | textSans15, |
8 | 8 | } from '@guardian/source/foundations'; |
9 | 9 | import { Hide } from '@guardian/source/react-components'; |
| 10 | +import { useEffect } from 'react'; |
| 11 | +import { submitComponentEvent } from '../client/ophan/ophan'; |
10 | 12 | import { palette as themePalette } from '../palette'; |
11 | 13 |
|
12 | 14 | const disclaimerLeftColStyles = css` |
@@ -75,36 +77,59 @@ const DisclaimerText = () => ( |
75 | 77 | </p> |
76 | 78 | ); |
77 | 79 |
|
78 | | -const AffiliateDisclaimer = () => ( |
79 | | - <Hide until="leftCol"> |
80 | | - <aside |
81 | | - css={[disclaimerLeftColStyles]} |
82 | | - data-testid="affiliate-disclaimer" |
83 | | - > |
84 | | - <DisclaimerText /> |
85 | | - </aside> |
86 | | - </Hide> |
87 | | -); |
| 80 | +const useAffiliateDisclaimerEvent = () => { |
| 81 | + useEffect(() => { |
| 82 | + void submitComponentEvent( |
| 83 | + { |
| 84 | + action: 'DETECT', |
| 85 | + component: { |
| 86 | + componentType: 'AFFILIATE_DISCLAIMER', |
| 87 | + }, |
| 88 | + }, |
| 89 | + 'Web', |
| 90 | + ); |
| 91 | + }, []); |
| 92 | +}; |
| 93 | + |
| 94 | +const AffiliateDisclaimer = () => { |
| 95 | + useAffiliateDisclaimerEvent(); |
| 96 | + return ( |
| 97 | + <Hide until="leftCol"> |
| 98 | + <aside |
| 99 | + css={[disclaimerLeftColStyles]} |
| 100 | + data-testid="affiliate-disclaimer" |
| 101 | + > |
| 102 | + <DisclaimerText /> |
| 103 | + </aside> |
| 104 | + </Hide> |
| 105 | + ); |
| 106 | +}; |
| 107 | + |
| 108 | +const AffiliateDisclaimerInline = () => { |
| 109 | + useAffiliateDisclaimerEvent(); |
| 110 | + return ( |
| 111 | + <Hide from="leftCol"> |
| 112 | + <aside |
| 113 | + css={[disclaimerInlineStyles]} |
| 114 | + data-testid="affiliate-disclaimer-inline" |
| 115 | + > |
| 116 | + <DisclaimerText /> |
| 117 | + </aside> |
| 118 | + </Hide> |
| 119 | + ); |
| 120 | +}; |
88 | 121 |
|
89 | | -const AffiliateDisclaimerInline = () => ( |
90 | | - <Hide from="leftCol"> |
| 122 | +const GalleryAffiliateDisclaimer = () => { |
| 123 | + useAffiliateDisclaimerEvent(); |
| 124 | + return ( |
91 | 125 | <aside |
92 | | - css={[disclaimerInlineStyles]} |
93 | | - data-testid="affiliate-disclaimer-inline" |
| 126 | + css={[disclaimerLeftColStyles, galleryDisclaimerStyles]} |
| 127 | + data-testid="affiliate-disclaimer" |
94 | 128 | > |
95 | 129 | <DisclaimerText /> |
96 | 130 | </aside> |
97 | | - </Hide> |
98 | | -); |
99 | | - |
100 | | -const GalleryAffiliateDisclaimer = () => ( |
101 | | - <aside |
102 | | - css={[disclaimerLeftColStyles, galleryDisclaimerStyles]} |
103 | | - data-testid="affiliate-disclaimer" |
104 | | - > |
105 | | - <DisclaimerText /> |
106 | | - </aside> |
107 | | -); |
| 131 | + ); |
| 132 | +}; |
108 | 133 |
|
109 | 134 | export { |
110 | 135 | AffiliateDisclaimer, |
|
0 commit comments