feat(#2239): add tournaments popup for facr

keep-around/3189b32b0ce61b4342bca70f0fdab45b7ed3dfef
Andrei Dekterev 4 years ago
parent 3c3b6fe351
commit f2c72bda7d
  1. 2
      src/config/clients/facr.tsx
  2. 4
      src/features/App/AuthenticatedApp.tsx
  3. 6
      src/features/Menu/index.tsx
  4. 19
      src/features/TournamentsPopup/hooks.tsx
  5. 43
      src/features/TournamentsPopup/index.tsx
  6. 8
      src/features/TournamentsPopup/styled.tsx

@ -23,7 +23,7 @@ export const facr: ClientConfig = {
},
defaultLanguage: 'cs',
description: 'Live sports streaming platform. All matches playing under the auspices of Czech Republic FA. Access to full matches, various player playlists, and highlights. Free access in the Czech Republic. Available across all devices',
disabledPreferences: true,
disabledPreferences: false,
name: ClientNames.Facr,
privacyLink: '/clients/facr/terms-and-conditions.html',
requests: {

@ -9,6 +9,7 @@ import {
import { indexLexics } from 'config/lexics/indexLexics'
import { isProduction } from 'config/env'
import { PAGES } from 'config/pages'
import { client } from 'config/clients'
import { StripeElements } from 'features/StripeElements'
@ -20,6 +21,7 @@ import { UserFavoritesStore } from 'features/UserFavorites/store'
import { MatchPopup, MatchPopupStore } from 'features/MatchPopup'
import { BuyMatchPopup, BuyMatchPopupStore } from 'features/BuyMatchPopup'
import { PreferencesPopup, PreferencesPopupStore } from 'features/PreferencesPopup'
import { TournamentsPopup } from 'features/TournamentsPopup'
import { CardsStore } from 'features/CardsStore'
import { NoNetworkPopup, NoNetworkPopupStore } from 'features/NoNetworkPopup'
@ -46,7 +48,7 @@ export const AuthenticatedApp = () => {
<NoNetworkPopupStore>
<MatchPopup />
<BuyMatchPopup />
<PreferencesPopup />
{ client.name === 'facr' ? <TournamentsPopup /> : <PreferencesPopup /> }
<NoNetworkPopup />
{/* в Switch как прямой children можно рендерить только Route или Redirect */}

@ -5,8 +5,9 @@ import { client } from 'config/clients'
import { PAGES } from 'config/pages'
import { usePreferencesStore } from 'features/PreferencesPopup'
import { useTournamentsPopup } from 'features/TournamentsPopup/hooks'
import { FavoritesMobilePopup } from '../FavoritesMobilePopup'
import {
MenuList,
MenuItem,
@ -15,6 +16,7 @@ import {
export const Menu = () => {
const { openPopup } = usePreferencesStore()
const { openTournamentsPopup } = useTournamentsPopup()
const isHomePage = useRouteMatch(PAGES.home)?.isExact
return (
@ -22,7 +24,7 @@ export const Menu = () => {
{isMobileDevice && <FavoritesMobilePopup />}
{
isHomePage && !client.disabledPreferences && (
<MenuItem onClick={openPopup}>
<MenuItem onClick={openTournamentsPopup}>
<Icon src='header-settings' size='1.4rem' />
</MenuItem>
)

@ -0,0 +1,19 @@
import { useState } from 'react'
export const useTournamentsPopup = () => {
const [isOpen, setIsOpen] = useState(false)
const closePopup = () => {
setIsOpen(false)
}
const openTournamentsPopup = () => {
setIsOpen(true)
}
return {
closePopup,
isOpen,
openTournamentsPopup,
}
}

@ -0,0 +1,43 @@
// import { HeaderActions, CloseButton } from 'features/PopupComponents'
// import { T9n } from 'features/T9n'
// import { SportsList } from './components/SportList'
// import { TournamentsBlock } from './components/TournamentsBlock'
import { HeaderActions, CloseButton } from 'features/PopupComponents'
import { T9n } from 'features/T9n'
import {
Modal,
Wrapper,
Header,
HeaderTitle,
// Body,
// Footer,
// ApplyButton,
} from 'features/PreferencesPopup/styled'
import { useTournamentsPopup } from './hooks'
export const TournamentsPopup = () => {
const { closePopup, isOpen } = useTournamentsPopup()
console.log('isOpen', isOpen)
return (
<Modal
isOpen={isOpen}
close={closePopup}
withCloseButton
>
<Wrapper>
<Header>
<HeaderTitle>
<T9n t='my_preferences' />
</HeaderTitle>
<HeaderActions position='right'>
<CloseButton onClick={closePopup} />
</HeaderActions>
</Header>
</Wrapper>
</Modal>
)
}

@ -0,0 +1,8 @@
import styled, { css } from 'styled-components/macro'
import { isMobileDevice } from 'config/userAgent'
import { Modal } from 'features/PreferencesPopup/styled'
export const ScModal = styled(Modal)`
`
Loading…
Cancel
Save