feat(in-717): ads fixes

pull/275/head
Margarita 2 years ago
parent 590ce1bb90
commit 5e0b262839
  1. 19
      src/components/Ads/components/AdComponent/hooks.tsx
  2. 4
      src/components/Ads/components/MobileAd/styled.tsx
  3. 15
      src/features/HeaderFilters/components/DateFilter/hooks/index.tsx
  4. 2
      src/features/HeaderFilters/components/DateFilter/index.tsx
  5. 2
      src/features/HeaderFilters/components/FacrDateFilter/index.tsx

@ -27,8 +27,10 @@ import {
const countryCode = getLocalStorageItem(COUNTRY) const countryCode = getLocalStorageItem(COUNTRY)
export const useAd = ({ ad }: AdComponentType) => { export const useAd = ({ ad }: AdComponentType) => {
const [isOpenAd, setIsOpenAd] = useState(true) const isMatch = isMatchPage()
const [isNeedToShow, setIsNeedToShow] = useState(true)
const [isOpenAd, setIsOpenAd] = useState(isMatch)
const [isNeedToShow, setIsNeedToShow] = useState(isMatch)
const [shownTime, setShownTime] = useState(0) const [shownTime, setShownTime] = useState(0)
const { isFullscreen } = useMatchPageStore() const { isFullscreen } = useMatchPageStore()
@ -72,7 +74,7 @@ export const useAd = ({ ad }: AdComponentType) => {
const handleClose = () => { const handleClose = () => {
setIsOpenAd(false) setIsOpenAd(false)
isMatchPage() && setIsNeedToShow(false) isMatch && setIsNeedToShow(false)
sendBannerClickEvent(EventGA.CLOSE) sendBannerClickEvent(EventGA.CLOSE)
} }
@ -89,7 +91,7 @@ export const useAd = ({ ad }: AdComponentType) => {
useEffect(() => { useEffect(() => {
setShownTime(0) setShownTime(0)
if (isMatchPage()) { if (isMatch) {
const interval = setInterval(() => { const interval = setInterval(() => {
setIsNeedToShow(true) setIsNeedToShow(true)
setIsOpenAd(true) setIsOpenAd(true)
@ -105,6 +107,7 @@ export const useAd = ({ ad }: AdComponentType) => {
isNeedToShow, isNeedToShow,
views?.HOME, views?.HOME,
isNeedBanner, isNeedBanner,
isMatch,
]) ])
useEffect(() => { useEffect(() => {
@ -136,14 +139,18 @@ export const useAd = ({ ad }: AdComponentType) => {
]) ])
useEffect(() => { useEffect(() => {
if (!isNeedToShow || (!isMatchPage() && !isNeedBanner)) return if (!isNeedToShow || (!isMatch && !isNeedBanner)) return
(async () => { (async () => {
await updateAdsView({ adv_id: id }) await updateAdsView({ adv_id: id })
})() })()
sendBannerClickEvent(EventGA.DISPLAY) sendBannerClickEvent(EventGA.DISPLAY)
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, [id, isNeedToShow]) }, [
id,
isNeedToShow,
isMatch,
])
return { return {
handleClose, handleClose,

@ -9,6 +9,7 @@ import {
PLAYER_MOBILE_FULL_SCREEN, PLAYER_MOBILE_FULL_SCREEN,
PLAYER_MOBILE_ADS, PLAYER_MOBILE_ADS,
MATCH_PAGE_MOBILE_ADS, MATCH_PAGE_MOBILE_ADS,
VIEW_ADS,
} from '../../types' } from '../../types'
type Props = { type Props = {
@ -40,6 +41,9 @@ const chooseStyle = (type: number) => {
padding: 5px; padding: 5px;
background-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, 0.7);
` `
case VIEW_ADS.MOBILE_IN_COLLAPSE_FOOTER:
case VIEW_ADS.MOBILE_IN_COLLAPSE_HEADER:
return 'margin-top: 6px'
default: default:
return '' return ''
} }

@ -74,6 +74,13 @@ export const useDateFilter = () => {
validator, validator,
}) })
const addAdsViews = () => {
setAdsViews({
...adsViews,
HOME: (adsViews.HOME ?? 0) + 1,
})
}
useEffect(() => { useEffect(() => {
if (lastDate === selectedDate.getDate() if (lastDate === selectedDate.getDate()
&& parseFilters && parseFilters
@ -85,20 +92,18 @@ export const useDateFilter = () => {
setIsShowTournament(true) setIsShowTournament(true)
setSelectedFilters([]) setSelectedFilters([])
setSelectedLeague(['all_competitions']) setSelectedLeague(['all_competitions'])
setAdsViews({
...adsViews,
HOME: (adsViews.HOME ?? 0) + 1,
})
} }
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, [selectedDate]) }, [selectedDate])
const onPreviousClick = () => { const onPreviousClick = () => {
addAdsViews()
const numberAddDays = weekName === 'Mon' ? -1 : -7 const numberAddDays = weekName === 'Mon' ? -1 : -7
setSelectedDate(addDays(selectedDate, numberAddDays)) setSelectedDate(addDays(selectedDate, numberAddDays))
} }
const onNextClick = () => { const onNextClick = () => {
addAdsViews()
const numberAddDays = weekName === 'Sun' ? 1 : 7 const numberAddDays = weekName === 'Sun' ? 1 : 7
setSelectedDate(addDays(selectedDate, numberAddDays)) setSelectedDate(addDays(selectedDate, numberAddDays))
} }
@ -108,6 +113,7 @@ export const useDateFilter = () => {
const onDateChange = (newDate: Date | null) => { const onDateChange = (newDate: Date | null) => {
if (newDate) { if (newDate) {
addAdsViews()
setSelectedDate(newDate) setSelectedDate(newDate)
close() close()
} }
@ -119,6 +125,7 @@ export const useDateFilter = () => {
} }
return { return {
addAdsViews,
close, close,
date, date,
isMonthMode, isMonthMode,

@ -26,6 +26,7 @@ import { useHeaderFiltersStore } from '../../store'
export const DateFilter = () => { export const DateFilter = () => {
const { const {
addAdsViews,
close, close,
date, date,
isOpen, isOpen,
@ -72,6 +73,7 @@ export const DateFilter = () => {
selected={day.date.getDate() === selectedDate.getDate()} selected={day.date.getDate() === selectedDate.getDate()}
onClick={() => { onClick={() => {
if (day.date.getDate() !== selectedDate.getDate()) { if (day.date.getDate() !== selectedDate.getDate()) {
addAdsViews()
onWeekDayClick(day.date) onWeekDayClick(day.date)
} else { } else {
resetFilters() resetFilters()

@ -38,6 +38,7 @@ import {
export const FacrDateFilter = () => { export const FacrDateFilter = () => {
const { const {
addAdsViews,
close, close,
date, date,
isMonthMode, isMonthMode,
@ -151,6 +152,7 @@ export const FacrDateFilter = () => {
selected={day.date.getDate() === selectedDate.getDate()} selected={day.date.getDate() === selectedDate.getDate()}
onClick={() => { onClick={() => {
if (day.date.getDate() !== selectedDate.getDate()) { if (day.date.getDate() !== selectedDate.getDate()) {
addAdsViews()
onWeekDayClick(day.date) onWeekDayClick(day.date)
} else { } else {
resetFilters() resetFilters()

Loading…
Cancel
Save