PageSourceSearch

https://woofz.academy/js/RoverUpsellPage.DzVbB3HR.js

js woofz.academy collected 2026-10-02 00:28:56 UTC 24,172 bytes, 467 lines download raw bytes

1import{x as e,r as t,j as i}from"./vendor.mIPXQGLM.js";import{b2 as n,e as o,F as r,b7 as p}from"./index.bundle.js";import{g as a}from"./getAppNameFromInAppBrowser.SVc_lRBz.js";import{A as l}from"./right-white-arrow.Cj46ex4p.js";import{u as d,T as s}from"./@i18n.CG4_sUzZ.js";import{m as x,M as c}from"./@constants.BGUlkrYt.js";import"./@amplitude.yMGOHWCQ.js";import"./@xstate.CEsnlirg.js";import"./@firebase.Bkc6--w4.js";import"./@lottie.KPmlgv_O.js";import"./@react-router.hFdD-ZA2.js";import"./@lodash.D8yALn-Z.js";import"./@rudderstack.DVYreKjc.js";const f=[{start:"2026-08-24",end:"2026-08-30",code:"WOOFZ-40"},{start:"2026-08-31",end:"2026-09-06",code:"WOOFZ"},{start:"2026-09-07",end:"2026-09-13",code:"WOOFZ40"},{start:"2026-09-14",end:"2026-09-20",code:"40WOOFZ"}],h=/FBAN|FBAV|FB_IAB|Instagram|TikTok|BytedanceWebview|musical_ly|Snapchat|Twitter|Pinterest|LinkedInApp|;\swv\)|WebView/i,g="data:image/svg+xml,%3csvg%20width='24'%20height='23'%20viewBox='0%200%2024%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M23.6939%2012.3454C23.8926%2012.0794%2024%2011.7565%2024%2011.4248C24%2011.093%2023.8926%2010.7701%2023.6939%2010.5041L21.9895%208.17795V5.29324C21.9836%204.9732%2021.878%204.66294%2021.6872%204.40555C21.4964%204.14817%2021.23%203.95644%2020.925%203.85702L18.1746%202.9732L16.4825%200.634745C16.2905%200.371276%2016.0197%200.175292%2015.7091%200.0749403C15.3984%20-0.0254116%2015.0639%20-0.0249695%2014.7535%200.076214L12.0092%200.972309L9.26499%200.076214C8.9546%20-0.0249695%208.62005%20-0.0254116%208.30939%200.0749403C7.99874%200.175292%207.72798%200.371276%207.53598%200.634745L5.84389%202.9732L3.08118%203.85702C2.77006%203.95705%202.49877%204.15296%202.30638%204.41657C2.11399%204.68017%202.01039%204.99788%202.01052%205.32394V8.20863L0.30615%2010.5348C0.107392%2010.8008%200%2011.1237%200%2011.4555C0%2011.7872%200.107392%2012.1101%200.30615%2012.3761L2.01052%2014.7023V17.587C2.01039%2017.9131%202.11399%2018.2308%202.30638%2018.4944C2.49877%2018.758%202.77006%2018.9539%203.08118%2019.0539L5.83157%2019.9377L7.52366%2022.2701C7.71566%2022.5335%207.98642%2022.7295%208.29707%2022.8299C8.60773%2022.9302%208.94228%2022.9298%209.25267%2022.8286L11.9969%2021.9325L14.7412%2022.8286C15.0516%2022.9298%2015.3861%2022.9302%2015.6968%2022.8299C16.0074%2022.7295%2016.2782%2022.5335%2016.4702%2022.2701L18.1623%2019.9377L20.9127%2019.0539C21.2238%2018.9539%2021.4951%2018.758%2021.6875%2018.4944C21.8799%2018.2308%2021.9835%2017.9131%2021.9833%2017.587V14.7023L23.6939%2012.3454Z'%20fill='%2335B43F'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.8911%209.81068C18.1807%209.52174%2018.3435%209.12985%2018.3435%208.72123C18.3435%208.31261%2018.1807%207.92074%2017.8911%207.6318C17.6014%207.34286%2017.2086%207.18054%2016.7989%207.18054C16.3893%207.18054%2015.9964%207.34286%2015.7068%207.6318L9.84908%2013.4749L7.85546%2011.4862C7.5658%2011.1973%207.17296%2011.035%206.76332%2011.035C6.35368%2011.035%205.9608%2011.1973%205.67114%2011.4862C5.38148%2011.7752%205.21875%2012.1671%205.21875%2012.5757C5.21875%2012.9843%205.38148%2013.3762%205.67114%2013.6651L8.74766%2016.734C8.89108%2016.877%209.06137%2016.9905%209.24876%2017.068C9.43616%2017.1454%209.63701%2017.1853%209.83984%2017.1853C10.0427%2017.1853%2010.2435%2017.1454%2010.4309%2017.068C10.6183%2016.9905%2010.7886%2016.877%2010.932%2016.734L17.8911%209.81068Z'%20fill='white'/%3e%3c/svg%3e",m="/assets/header-icons.LoXRi1Ld.png",E="data:image/png;base64,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",u=e=>{const t=(e=>{let t=e.parentElement;for(;t;){const{overflowY:e}=getComputedStyle(t);if("auto"===e||"scroll"===e)return t;t=t.parentElement}return null})(e),i=null==t?void 0:t.querySelector("[data-rover-upsell-sticky]"),n=(null==i?void 0:i.getBoundingClientRect().height)??0,o=e.getBoundingClientRect(),r=null==t?void 0:t.getBoundingClientRect(),p=r?Math.min(r.bottom,window.innerHeight)-n:window.innerHeight-n,a=o.bottom-p+8;a<=0||(t&&t.scrollHeight>t.clientHeight?t.scrollTo({top:t.scrollTop+a,behavior:"smooth"}):window.scrollBy({top:a,behavior:"smooth"}))},C={RulesSection:e.div`
2    width: 100%;
3    margin-top: 4px;
4    display: flex;
5    flex-direction: column;
6    align-items: center;
7  `,RulesToggle:e.button`
8    display: inline-flex;
9    align-items: center;
10    justify-content: center;
11    gap: 4px;
12    width: auto;
13    padding: 0;
14    border: none;
15    background: transparent;
16    font-size: 10px;
17    line-height: 12px;
18    font-weight: 540;
19    text-align: center;
20    color: #b0a099;
21    cursor: pointer;
22  `,RulesChevron:e.span`
23    display: inline-block;
24    width: 6px;
25    height: 6px;
26    border-right: 1.5px solid #b0a099;
27    border-bottom: 1.5px solid #b0a099;
28    transform: ${({$isExpanded:e})=>e?"rotate(-135deg)":"rotate(45deg)"};
29    transition: transform 0.2s ease;
30    margin-top: ${({$isExpanded:e})=>e?"2px":"-2px"};
31  `,RulesBody:e.p`
32    width: 100%;
33    margin: 8px 0 0;
34    font-size: 10px;
35    line-height: 14px;
36    font-weight: 400;
37    text-align: left;
38    color: #b0a099;
39  `,RulesLink:e.a`
40    color: inherit;
41    text-decoration: underline;
42  `},b=()=>{const{t:e}=d(),[n,o]=t.useState(!1),r=t.useRef(null),p=t.useMemo(()=>i.jsx(C.RulesLink,{href:"https://www.rover.com/",target:"_blank",rel:"noopener noreferrer"}),[]),a=t.useCallback(()=>{o(e=>!e)},[]);return t.useEffect(()=>{if(!n)return;const e=r.current;if(!e)return;let t=0;const i=()=>{u(e)},o=new ResizeObserver(()=>{cancelAnimationFrame(t),t=requestAnimationFrame(i)});return o.observe(e),t=requestAnimationFrame(i),()=>{o.disconnect(),cancelAnimationFrame(t)}},[n]),i.jsxs(C.RulesSection,{ref:r,children:[i.jsxs(C.RulesToggle,{type:"button",onClick:a,"aria-expanded":n,children:[e`roverUpsell.rulesAndConditions`,i.jsx(C.RulesChevron,{$isExpanded:n,"aria-hidden":!0})]}),n&&i.jsx(C.RulesBody,{children:i.jsx(s,{i18nKey:"roverUpsell.rulesBody",components:[p]})})]})},w={InAppChatWrapper:e.div`
43    ${n};
44    display: flex;
45    flex-direction: column;
46    gap: 8px;
47    height: 100%;
48    overflow-y: auto;
49    scroll-padding-bottom: 120px;
50    background: linear-gradient(180deg, #c2ebd0 0%, #ffffff 29.81%),
51      linear-gradient(0deg, #ffffff, #ffffff);
52  `,ExternalChatWrapper:e.div`
53    ${n};
54    display: flex;
55    flex-direction: column;
56    gap: 8px;
57    height: 100%;
58    overflow-y: auto;
59    scroll-padding-bottom: 120px;
60    background: linear-gradient(180deg, #c2ebd0 0%, #ffffff 29.81%),
61      linear-gradient(0deg, #ffffff, #ffffff);
62  `,InAppChatContent:e.div`
63    flex: 0 0 auto;
64    display: flex;
65    flex-direction: column;
66    align-items: center;
67    justify-content: flex-start;
68    width: 100vw;
69    padding: 0 16px 120px;
70
71    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
72      width: 430px;
73    }
74  `,ExternalChatContent:e.div`
75    flex: 0 0 auto;
76    display: flex;
77    flex-direction: column;
78    align-items: center;
79    justify-content: flex-start;
80    width: 100vw;
81    padding: 0 16px 120px;
82
83    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
84      width: 430px;
85    }
86  `,InAppImageContainer:e.div`
87    width: 100vw;
88    padding: 40px 0 16px;
89    display: flex;
90    justify-content: center;
91  `,ExternalImageContainer:e.div`
92    width: 100vw;
93    padding: 24px 0 16px;
94    display: flex;
95    justify-content: center;
96
97    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
98      padding: 40px 0 16px;
99    }
100  `,InAppHeaderIcons:e.img`
101    width: 328px;
102    height: 80px;
103    object-fit: contain;
104  `,ExternalHeaderIcons:e.img`
105    width: 328px;
106    height: 80px;
107    object-fit: contain;
108  `,InAppTitle:e.h1`
109    font-size: 18px;
110    line-height: 130%;
111    font-weight: 800;
112    text-align: center;
113    color: #4a3532;
114    margin-bottom: 16px;
115
116    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
117      font-size: 24px;
118    }
119  `,InAppSubtitle:e.p`
120    font-size: 16px;
121    line-height: 20px;
122    font-weight: 500;
123    text-align: center;
124    color: #4a3532;
125    margin-bottom: 16px;
126
127    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
128      font-size: 18px;
129      line-height: 24px;
130      margin-bottom: 20px;
131    }
132  `,ExternalTitle:e.h1`
133    font-size: 18px;
134    line-height: 130%;
135    font-weight: 800;
136    text-align: center;
137    color: #4a3532;
138    margin-bottom: 10px;
139
140    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
141      font-size: 24px;
142    }
143  `,ExternalSubtitle:e.p`
144    font-size: 16px;
145    line-height: 20px;
146    font-weight: 500;
147    text-align: center;
148    color: #4a3532;
149    margin-bottom: 10px;
150
151    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
152      margin-bottom: 16px;
153      font-size: 18px;
154      line-height: 24px;
155    }
156  `,InAppBenefitBox:e.div`
157    display: flex;
158    align-items: flex-start;
159    gap: 10px;
160    width: 100%;
161    padding: 16px 8px;
162    border-radius: 16px;
163    background: #F4FAF4;
164    border: 1px solid #E1F3E2;
165    margin-bottom: 16px;
166
167    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
168      gap: 16px;
169      padding: 16px;
170    }
171  `,InAppBenefitIcon:e.img`
172    width: 24px;
173    height: 24px;
174    flex-shrink: 0;
175  `,InAppBenefitText:e.p`
176    font-size: 14px;
177    line-height: 140%;
178    font-weight: 700;
179    color: #4a3532;
180    margin: 0;
181
182    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
183      font-size: 16px;
184    }
185  `,ExternalBenefitBox:e.div`
186    display: flex;
187    align-items: flex-start;
188    gap: 10px;
189    width: 100%;
190    padding: 16px 8px;
191    border-radius: 16px;
192    background: #F4FAF4;
193    border: 1px solid #E1F3E2;
194    margin-bottom: 12px;
195
196    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
197      gap: 16px;
198      padding: 10px 16px;
199      margin-bottom: 16px;
200    }
201  `,ExternalBenefitIcon:e.img`
202    width: 24px;
203    height: 24px;
204    flex-shrink: 0;
205  `,ExternalBenefitText:e.p`
206    font-size: 14px;
207    line-height: 140%;
208    font-weight: 700;
209    color: #4a3532;
210    margin: 0;
211
212    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
213      font-size: 16px;
214    }
215  `,InAppPromoCard:e.div`
216    width: 100%;
217    padding: 10px 16px;
218    border-radius: 20px;
219    background: ${x.WHITE};
220    border: 1px solid #35B43F;
221    margin-bottom: 8px;
222
223    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
224      margin-bottom: 12px;
225      padding: 12px 16px;
226    }
227  `,ExternalPromoCard:e.div`
228    width: 100%;
229    padding: 16px;
230    border-radius: 20px;
231    background: ${x.WHITE};
232    border: 1px solid #7879f1;
233    margin-bottom: 8px;
234
235    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
236      margin-bottom: 12px;
237      padding: 16px;
238    }
239  `,PromoCardInAppContent:e.div`
240    display: flex;
241    gap: 16px;
242    align-items: flex-start;
243
244    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
245      gap: 24px;
246    }
247  `,InAppRoverLogo:e.img`
248    flex-shrink: 0;
249    height: 100%;
250    width: 85px;
251    object-fit: contain;
252
253    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
254      width: 95px;
255    }
256  `,ExternalRoverLogo:e.img`
257    flex-shrink: 0;
258    height: 100%;
259    width: 50px;
260    object-fit: contain;
261
262    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
263      width: 55px;
264    }
265  `,PromoCardTextBlock:e.div`
266    flex: 1;
267    display: flex;
268    flex-direction: column;
269    gap: 8px;
270    margin-top: 4px;
271
272    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
273      gap: 10px;
274      margin-top: 0;
275    }
276  `,PromocodeBadge:e.span`
277    display: inline-flex;
278    align-self: flex-start;
279    padding: 4px 12px;
280    border-radius: 6px;
281    background: #F1F2FE;
282    color: #614F4C;
283    font-size: 14px;
284    font-weight: 700;
285    line-height: 130%;
286  `,OfferText:e.p`
287    font-size: 14px;
288    line-height: 22px;
289    font-weight: 500;
290    color: #4a3532;
291    margin: 0;
292
293    strong {
294      font-weight: 800;
295    }
296
297    code {
298      display: inline-block;
299      padding: 0 8px;
300      border-radius: 6px;
301      background: #00BD6F;
302      color: ${x.WHITE};
303      font-size: 14px;
304      font-weight: 800;
305      font-family: inherit;
306      line-height: inherit;
307    }
308
309    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
310      font-size: 18px;
311      line-height: 26px;
312
313      code {
314        font-size: 18px;
315      }
316    }
317  `,PromoCardExternalHeader:e.div`
318    display: flex;
319    gap: 16px;
320    align-items: center;
321    margin-bottom: 16px;
322
323    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
324      margin-bottom: 12px;
325    }
326  `,ExternalOfferText:e.p`
327    font-size: 18px;
328    line-height: 22px;
329    font-weight: 500;
330    color: #4a3532;
331    margin: 0;
332
333    strong {
334      font-weight: 800;
335    }
336
337    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
338      font-size: 22px;
339      line-height: 26px;
340    }
341  `,CodeBar:e.div`
342    display: flex;
343    width: 100%;
344    border-radius: 8px;
345    overflow: hidden;
346  `,CodeValue:e.div`
347    flex: 1;
348    display: flex;
349    align-items: center;
350    justify-content: center;
351    padding: 4px;
352    background: #F1F2FE;
353    font-size: 16px;
354    font-weight: 700;
355    color: #4a3532;
356    letter-spacing: 0.5px;
357  `,CopyButton:e.button`
358    flex: 1;
359    display: flex;
360    align-items: center;
361    justify-content: center;
362    padding: 4px;
363    border: none;
364    background: #7879f1;
365    color: ${x.WHITE};
366    font-size: 16px;
367    font-weight: 700;
368    cursor: pointer;
369
370    &:disabled {
371      cursor: default;
372    }
373  `,InAppEmailNote:e.p`
374    width: 100%;
375    font-size: 14px;
376    line-height: 140%;
377    font-weight: 500;
378    text-align: center;
379    color: #4a3532;
380    padding: 8px 16px 0 0;
381
382
383    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
384      font-size: 18px;
385      padding: 8px 0 0 0;
386    }
387  `,ExternalEmailNote:e.p`
388    width: 100%;
389    font-size: 14px;
390    line-height: 140%;
391    font-weight: 500;
392    text-align: center;
393    color: #4a3532;
394    margin: 12px 0 0;
395    padding-right: 16px;
396
397    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
398      font-size: 18px;
399      margin: 8px 0 0;
400      padding-right: 0;
401    }
402  `,InAppChatStickyBlock:e.div.attrs({"data-rover-upsell-sticky":!0})`
403    width: 100%;
404    display: flex;
405    flex-direction: column;
406    position: fixed;
407    bottom: 0;
408    background: ${x.WHITE};
409    padding: 8px 16px 16px;
410    gap: 16px;
411
412    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
413      width: 430px;
414    }
415  `,ExternalChatStickyBlock:e.div.attrs({"data-rover-upsell-sticky":!0})`
416    width: 100%;
417    display: flex;
418    flex-direction: column;
419    position: fixed;
420    bottom: 0;
421    background: ${x.WHITE};
422    padding: 8px 16px 16px;
423    gap: 16px;
424
425    @media (min-width: ${c.SALES_SCREEN_MIN_PHONE}px) {
426      width: 430px;
427    }
428  `,ChatUpsellButton:e.button`
429    width: 100%;
430    display: flex;
431    align-items: center;
432    justify-content: center;
433    font-size: 20px;
434    line-height: 100%;
435    font-weight: 700;
436    text-align: center;
437    background: ${x.MEDIUM_GREEN};
438    color: ${x.WHITE};
439    box-shadow: 0 6px 20px 0 rgba(${x.MEDIUM_GREEN_RGB}, 0.3);
440    border: none;
441    outline: none;
442    border-radius: 40px;
443    padding: 15px 16px;
444    cursor: pointer;
445
446    &:disabled {
447      background-color: #94ce8e;
448      box-shadow: none;
449    }
450  `,ChatUpsellButtonText:e.span`
451    flex: 1;
452    text-align: center;
453  `,InAppContinueLink:e.a`
454    font-weight: 600;
455    font-size: 17px;
456    line-height: 23px;
457    text-align: center;
458    color: #7d6b66;
459    cursor: pointer;
460  `,ExternalContinueLink:e.a`
461    font-weight: 600;
462    font-size: 17px;
463    line-height: 100%;
464    text-align: center;
465    color: #7d6b66;
466    cursor: pointer;
467  `},v=({promoCode:e,onSkip:n,onFindTrainer:r})=>{const{t:p}=d(),[a,x]=t.useState(!1),c=t.useCallback(async()=>{try{await navigator.clipboard.writeText(e),x(!0),o.logClickCopyCode()}catch{console.error("Failed to copy promo code")}},[e]),f=t.useCallback(()=>{window.open("https://www.rover.com/training/search/?utm_source=Woofz&utm_medium=Referral&utm_campaign=743212499","_blank","noopener,noreferrer"),o.logRoverPageCompleted({action:"find_trainer",promocode:e}),r()},[r,e]);return i.jsxs(w.ExternalChatWrapper,{children:[i.jsxs(w.ExternalChatContent,{children:[i.jsx(w.ExternalImageContainer,{children:i.jsx(w.ExternalHeaderIcons,{src:m,alt:""})}),i.jsx(w.ExternalTitle,{children:p`roverUpsell.title`}),i.jsx(w.ExternalSubtitle,{children:p`roverUpsell.subtitle`}),i.jsxs(w.ExternalBenefitBox,{children:[i.jsx(w.ExternalBenefitIcon,{src:g,alt:""}),i.jsx(w.ExternalBenefitText,{children:p`roverUpsell.benefit`})]}),i.jsxs(w.ExternalPromoCard,{children:[i.jsxs(w.PromoCardExternalHeader,{children:[i.jsx(w.ExternalRoverLogo,{src:E,alt:"Rover"}),i.jsx(w.ExternalOfferText,{children:i.jsx(s,{i18nKey:"roverUpsell.offerExternal",components:[i.jsx("strong",{})]})})]}),i.jsxs(w.CodeBar,{children:[i.jsx(w.CodeValue,{children:e}),i.jsx(w.CopyButton,{type:"button",onClick:c,disabled:a,children:a?p`roverUpsell.codeCopied`:p`roverUpsell.copy`})]}),i.jsx(w.ExternalEmailNote,{children:p`roverUpsell.emailNote`})]}),i.jsx(b,{})]}),i.jsxs(w.ExternalChatStickyBlock,{children:[i.jsxs(w.ChatUpsellButton,{type:"button",onClick:f,children:[i.jsx(w.ChatUpsellButtonText,{children:p`roverUpsell.findTrainer`}),i.jsx(l,{height:24,width:24})]}),i.jsx(w.ExternalContinueLink,{onClick:n,children:p`roverUpsell.skipAndContinue`})]})]})},S=({promoCode:e,onSkip:n,onCopyAndContinue:r})=>{const{t:p}=d(),a=t.useCallback(async()=>{try{await navigator.clipboard.writeText(e),o.logRoverPageCompleted({action:"copy_my_code",promocode:e}),r()}catch{console.error("Failed to copy promo code")}},[r,e]);return i.jsxs(w.InAppChatWrapper,{children:[i.jsxs(w.InAppChatContent,{children:[i.jsx(w.InAppImageContainer,{children:i.jsx(w.InAppHeaderIcons,{src:m,alt:""})}),i.jsx(w.InAppTitle,{children:p`roverUpsell.title`}),i.jsx(w.InAppSubtitle,{children:p`roverUpsell.subtitle`}),i.jsxs(w.InAppBenefitBox,{children:[i.jsx(w.InAppBenefitIcon,{src:g,alt:""}),i.jsx(w.InAppBenefitText,{children:p`roverUpsell.benefit`})]}),i.jsxs(w.InAppPromoCard,{children:[i.jsxs(w.PromoCardInAppContent,{children:[i.jsx(w.InAppRoverLogo,{src:E,alt:"Rover"}),i.jsxs(w.PromoCardTextBlock,{children:[i.jsx(w.PromocodeBadge,{children:p`roverUpsell.promocodeBadge`}),i.jsx(w.OfferText,{children:i.jsx(s,{i18nKey:"roverUpsell.offerInApp",values:{promoCode:e},components:[i.jsx("strong",{}),i.jsx("code",{})]})})]})]}),i.jsx(w.InAppEmailNote,{children:p`roverUpsell.emailNote`})]}),i.jsx(b,{})]}),i.jsxs(w.InAppChatStickyBlock,{children:[i.jsxs(w.ChatUpsellButton,{type:"button",onClick:a,children:[i.jsx(w.ChatUpsellButtonText,{children:p`roverUpsell.copyMyCode`}),i.jsx(l,{height:24,width:24})]}),i.jsx(w.InAppContinueLink,{onClick:n,children:p`roverUpsell.skipAndContinue`})]})]})},A=()=>{const{onNextStep:e}=t.useContext(r),n=t.useMemo(()=>null===a()&&!h.test(navigator.userAgent),[]),l=t.useMemo(()=>((e=new Date)=>{const t=(e=>e.toISOString().slice(0,10))(e),i=f.find(({start:e,end:i})=>t>=e&&t<=i);return i?i.code:t<f[0].start?f[0].code:f[f.length-1].code})(),[]);p(),t.useEffect(()=>{o.logRoverPageShow()},[]);const d=t.useCallback(()=>{o.logRoverPageCompleted({action:"skip",promocode:l}),e()},[e,l]),s=t.useCallback(()=>{e()},[e]);return n?i.jsx(v,{promoCode:l,onSkip:d,onFindTrainer:s}):i.jsx(S,{promoCode:l,onSkip:d,onCopyAndContinue:s})};export{A as RoverUpsellPage};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.