From ca81562f04700a660bb6f2ff0e39ed17caf9fd7f Mon Sep 17 00:00:00 2001 From: svetlagasheva Date: Fri, 26 Feb 2021 16:35:19 +0200 Subject: [PATCH] Search analytics event using debounce --- src/routes/Search/Search.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/routes/Search/Search.js b/src/routes/Search/Search.js index a45c7fef5..42fd57294 100644 --- a/src/routes/Search/Search.js +++ b/src/routes/Search/Search.js @@ -3,6 +3,7 @@ const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); +const debounce = require('lodash.debounce'); const Icon = require('@stremio/stremio-icons/dom'); const { useServices } = require('stremio/services'); const { Image, MainNavBars, MetaRow, MetaItem, useDeepEqualMemo } = require('stremio/common'); @@ -24,17 +25,18 @@ const Search = ({ queryParams }) => { : null; }, [search.selected]); - React.useEffect(() => { - if (query !== null && core.active && search.catalogs.every((catalog) => catalog.content.type !== 'Loading')) { - const rows = search.catalogs.length; + const debounceAnanlytics = debounce((query, search) => { + if (query !== null && core.active) { + const responses_count = search.catalogs.filter((catalog) => catalog.content.type !== 'Loading').length; core.transport.analytics({ event: 'Search', args: { - query, rows + query, responses_count } }); } - }, [search]); + }, 500, { leading: false }); + React.useEffect(() => { debounceAnanlytics(query, search); }, [search]); return (