Skip to content

Commit a470acc

Browse files
authored
Amplitude: Rettet og refaktorert logging for alle Accordion-typer (#2007)
* Amplitude: Rettet og refaktorert logging for alle Accordion-typer
1 parent 11efce4 commit a470acc

File tree

5 files changed

+48
-23
lines changed

5 files changed

+48
-23
lines changed

src/components/_common/accordion/Accordion.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,16 @@ export const Accordion = ({ accordion }: AccordionProps) => {
2626

2727
useShortcuts({ shortcut: Shortcuts.SEARCH, callback: expandAll });
2828

29-
const openChangeHandler = (isOpening: boolean, title: string, index: number) => {
29+
const openChangeHandler = (isOpening: boolean, tittel: string, index: number) => {
3030
if (isOpening) {
3131
setOpenAccordions([...openAccordions, index]);
3232
} else {
3333
setOpenAccordions(openAccordions.filter((i) => i !== index));
3434
}
3535
logAmplitudeEvent(isOpening ? AnalyticsEvents.ACC_EXPAND : AnalyticsEvents.ACC_COLLAPSE, {
36-
tittel: title,
36+
tittel,
3737
opprinnelse: 'trekkspill',
38+
komponent: 'Accordion',
3839
});
3940
};
4041

src/components/_common/expandable/Expandable.tsx

+6-5
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,13 @@ export const Expandable = ({
3838
},
3939
});
4040

41-
const toggleExpandCollapse = () => {
42-
logAmplitudeEvent(isOpen ? AnalyticsEvents.ACC_COLLAPSE : AnalyticsEvents.ACC_EXPAND, {
43-
tittel: title,
41+
const toggleExpandCollapse = (isOpening: boolean, tittel: string) => {
42+
setIsOpen(isOpening);
43+
logAmplitudeEvent(isOpening ? AnalyticsEvents.ACC_EXPAND : AnalyticsEvents.ACC_COLLAPSE, {
44+
tittel,
4445
opprinnelse: analyticsOriginTag,
46+
komponent: 'Expandable',
4547
});
46-
setIsOpen(!isOpen);
4748
};
4849

4950
const checkAndOpenPanel = () => {
@@ -113,7 +114,7 @@ export const Expandable = ({
113114
id={anchorId}
114115
className={classNames(className, style.expandable, isLegacyUsage && style.legacy)}
115116
ref={accordionRef}
116-
onToggle={toggleExpandCollapse}
117+
onToggle={(isOpen) => toggleExpandCollapse(isOpen, title)}
117118
open={isOpen}
118119
aria-label={ariaLabel || title}
119120
>

src/components/_common/productPanelExpandable/ProductPanelExpandable.tsx

+15-9
Original file line numberDiff line numberDiff line change
@@ -63,23 +63,29 @@ export const ProductPanelExpandable = ({
6363
// eslint-disable-next-line react-hooks/exhaustive-deps
6464
}, []);
6565

66-
const handleClick = () => {
67-
logAmplitudeEvent(isOpen ? AnalyticsEvents.ACC_COLLAPSE : AnalyticsEvents.ACC_EXPAND, {
68-
tittel: header,
66+
const toggleExpandCollapse = (isOpening: boolean, tittel: string) => {
67+
setIsOpen(isOpening);
68+
contentLoaderCallback?.();
69+
logAmplitudeEvent(isOpening ? AnalyticsEvents.ACC_EXPAND : AnalyticsEvents.ACC_COLLAPSE, {
70+
tittel,
71+
opprinnelse: 'produktdetalj',
72+
komponent: 'ProductPanelExpandable',
6973
...analyticsData,
7074
});
71-
72-
setIsOpen(!isOpen);
73-
contentLoaderCallback?.();
7475
};
7576

7677
return (
77-
<ExpansionCard open={isOpen} className={style.expandable} id={anchorId} aria-label={header}>
78+
<ExpansionCard
79+
className={style.expandable}
80+
id={anchorId}
81+
open={isOpen}
82+
onToggle={(isOpen) => toggleExpandCollapse(isOpen, header)}
83+
aria-label={header}
84+
>
7885
<ExpansionCard.Header
79-
onClick={handleClick}
86+
className={style.expandableHeader}
8087
onMouseOver={contentLoaderCallback}
8188
onFocus={contentLoaderCallback}
82-
className={style.expandableHeader}
8389
>
8490
<IllustrationStatic className={style.illustration} illustration={illustration} />
8591
<span className={style.panelHeader}>

src/components/pages/office-page/office-details/officeInformation/OfficeInformation.tsx

+19-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { useState } from 'react';
12
import { ExpansionCard, BodyShort, Heading } from '@navikt/ds-react';
23
import { usePageContentProps } from 'store/pageContext';
34
import { translator } from 'translations';
5+
import { AnalyticsEvents, logAmplitudeEvent } from 'utils/amplitude';
46
import { OfficeDetailsData } from 'types/content-props/office-details-props';
57
import { officeDetailsFormatAddress } from 'components/pages/office-page/office-details/utils';
68

@@ -11,17 +13,31 @@ export interface OfficeInformationProps {
1113
}
1214

1315
export const OfficeInformation = ({ officeData }: OfficeInformationProps) => {
16+
const [isOpen, setIsOpen] = useState(false);
1417
const { language } = usePageContentProps();
1518
const getOfficeTranslations = translator('office', language);
16-
1719
const title = getOfficeTranslations('officeInformation');
1820
const { postadresse, beliggenhet, organisasjonsnummer, enhetNr } = officeData;
19-
2021
const visitingAddress = officeDetailsFormatAddress(beliggenhet, true);
2122
const postalAddress = officeDetailsFormatAddress(postadresse, true);
2223

24+
const toggleExpandCollapse = (isOpening: boolean, tittel: string) => {
25+
setIsOpen(isOpening);
26+
logAmplitudeEvent(isOpening ? AnalyticsEvents.ACC_EXPAND : AnalyticsEvents.ACC_COLLAPSE, {
27+
tittel,
28+
opprinnelse: 'kontorinformasjon',
29+
komponent: 'OfficeInformation',
30+
});
31+
};
32+
2333
return (
24-
<ExpansionCard aria-label={title} className={styles.officeInformation} size="small">
34+
<ExpansionCard
35+
size="small"
36+
aria-label={title}
37+
className={styles.officeInformation}
38+
onToggle={(isOpen) => toggleExpandCollapse(isOpen, title)}
39+
open={isOpen}
40+
>
2541
<ExpansionCard.Header className={styles.expansionCardHeader}>
2642
<ExpansionCard.Title as="h2" size="small">
2743
{title}

src/components/parts/read-more/ReadMorePart.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ export const ReadMorePart = ({ config }: PartComponentProps<PartType.ReadMore>)
2727
return <EditorHelp text={'Legg inn tittel og beskrivelse for "les mer".'} type={'error'} />;
2828
}
2929

30-
const openChangeHandler = (isOpen: boolean, _title: string) => {
31-
setIsOpen(isOpen);
32-
logAmplitudeEvent(isOpen ? AnalyticsEvents.ACC_COLLAPSE : AnalyticsEvents.ACC_EXPAND, {
33-
tittel: _title,
30+
const openChangeHandler = (isOpening: boolean, tittel: string) => {
31+
setIsOpen(isOpening);
32+
logAmplitudeEvent(isOpening ? AnalyticsEvents.ACC_EXPAND : AnalyticsEvents.ACC_COLLAPSE, {
33+
tittel,
3434
opprinnelse: 'lesmer',
35+
komponent: 'ReadMore',
3536
});
3637
};
3738

0 commit comments

Comments
 (0)