fix(admin-ui): disabling analytics when opted out (#4939)

* fixes #4423 by either using the `useAnalytics` hook or using an ErrorBoundary specific instance

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
Juan Pablo Orsay
2023-09-11 12:40:15 +02:00
committed by GitHub
parent 6273b4b160
commit 87e3a7d06a
6 changed files with 53 additions and 29 deletions

View File

@@ -28,6 +28,7 @@ type Event =
| "regions"
| "currencies"
| "storeName"
| "userEmail"
type AnalyticsContextType = {
trackCurrencies: (properties: TrackCurrenciesPayload) => void
@@ -35,6 +36,7 @@ type AnalyticsContextType = {
trackNumberOfDiscounts: (properties: TrackCountPayload) => void
trackNumberOfProducts: (properties: TrackCountPayload) => void
trackRegions: (properties: TrackRegionsPayload) => void
trackUserEmail: (properties: TrackUserEmailPayload) => void
setSubmittingConfig: (status: boolean) => void
}
@@ -140,6 +142,10 @@ export const AnalyticsProvider = ({ writeKey, children }: Props) => {
track("numDiscounts", properties)
}
const trackUserEmail = (properties: TrackUserEmailPayload) => {
track("userEmail", properties)
}
// Track number of users
useEffect(() => {
if (users) {
@@ -171,6 +177,7 @@ export const AnalyticsProvider = ({ writeKey, children }: Props) => {
trackNumberOfOrders,
trackNumberOfProducts,
trackNumberOfDiscounts,
trackUserEmail,
setSubmittingConfig,
}}
>
@@ -201,6 +208,10 @@ type TrackRegionsPayload = {
count: number
}
type TrackUserEmailPayload = {
email: string | undefined
}
export const useAnalytics = () => {
const context = useContext(AnalyticsContext)