openreplay/frontend/app/components/shared/ErrorsBadge/ErrorsBadge.js
Delirium 203791f0f6
Remove unused code, refactor frontend and revisit libraries (#2458)
* start frontend thinning

* continue thinning

* removing moment and moment-range

* remove highlightjs

* remove semantic-ui

* ghaida commits to openreplay finally

* unused icons

* unused icons

* unused icons

* fix missing icons

---------

Co-authored-by: Ghaida Bouchaala <ghaida.bouchaala@gmail.com>
2024-08-27 16:15:14 +02:00

34 lines
1.1 KiB
JavaScript

import React, { useEffect } from 'react'
import { fetchNewErrorsCount } from 'Duck/errors'
import { connect } from 'react-redux'
import stl from './errorsBadge.module.css'
import {
getDateRangeFromValue,
DATE_RANGE_VALUES,
} from 'App/dateRange';
const AUTOREFRESH_INTERVAL = 5 * 60 * 1000;
const weekRange = getDateRangeFromValue(DATE_RANGE_VALUES.LAST_7_DAYS);
let intervalId = null
function ErrorsBadge({ errorsStats = {}, fetchNewErrorsCount, projects }) {
useEffect(() => {
if (projects.size === 0 || !!intervalId) return;
const params = { startTimestamp: weekRange.start.ts, endTimestamp: weekRange.end.ts };
fetchNewErrorsCount(params)
intervalId = setInterval(() => {
fetchNewErrorsCount(params);
}, AUTOREFRESH_INTERVAL);
}, [projects])
return errorsStats.unresolvedAndUnviewed > 0 ? (
<div>{<div className={stl.badge} /> }</div>
) : ''
}
export default connect(state => ({
errorsStats: state.getIn([ 'errors', 'stats' ]),
projects: state.getIn([ 'site', 'list' ]),
}), { fetchNewErrorsCount })(ErrorsBadge)