From 66a002e834c76c8965bb0c27571fc706157634bb Mon Sep 17 00:00:00 2001 From: Rakov Date: Tue, 4 Jul 2023 16:24:07 +0300 Subject: [PATCH] fix(#713): rustat client --- public/images/logo-rustat.svg | 16 ++++++ src/config/clients/index.tsx | 3 ++ src/config/clients/rustat.tsx | 53 +++++++++++++++++++ src/config/clients/types.tsx | 4 +- src/config/payments.tsx | 1 + .../AuthServiceApp/config/clients/index.tsx | 2 + .../AuthServiceApp/config/clients/rustat.tsx | 42 +++++++++++++++ src/features/AuthStore/helpers.tsx | 3 ++ src/features/HeaderMobile/styled.tsx | 1 + src/features/ProfileHeader/styled.tsx | 2 + src/features/Theme/config.tsx | 12 ++++- src/features/Theme/index.tsx | 4 ++ .../components/PersonalInfoForm/index.tsx | 12 ++--- src/features/UserAccount/index.tsx | 12 ++--- src/react-app-env.d.ts | 2 +- 15 files changed, 154 insertions(+), 15 deletions(-) create mode 100644 public/images/logo-rustat.svg create mode 100644 src/config/clients/rustat.tsx create mode 100644 src/features/AuthServiceApp/config/clients/rustat.tsx diff --git a/public/images/logo-rustat.svg b/public/images/logo-rustat.svg new file mode 100644 index 00000000..4984e9a1 --- /dev/null +++ b/public/images/logo-rustat.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/config/clients/index.tsx b/src/config/clients/index.tsx index 8b79c639..a748de30 100644 --- a/src/config/clients/index.tsx +++ b/src/config/clients/index.tsx @@ -7,6 +7,7 @@ import { insports } from './insports' import { india } from './india' import { tunisia } from './tunisia' import { fqtv } from './fqtv' +import { rustat } from './rustat' export const currentClient = process.env.REACT_APP_CLIENT || 'insports' @@ -17,6 +18,7 @@ export const isFacrClient = currentClient === 'facr' export const isIndiaClient = currentClient === 'india' export const isTunisClient = currentClient === 'tunisia' export const isFqtvClient = currentClient === 'fqtv' +export const isRustatClient = currentClient === 'rustat' const clients = { facr, @@ -25,6 +27,7 @@ const clients = { insports, instat, lff, + rustat, tunisia, } diff --git a/src/config/clients/rustat.tsx b/src/config/clients/rustat.tsx new file mode 100644 index 00000000..caf369b1 --- /dev/null +++ b/src/config/clients/rustat.tsx @@ -0,0 +1,53 @@ +import { css } from 'styled-components/macro' +import { + ClientConfig, + ClientIds, + ClientNames, +} from './types' + +export const rustat: ClientConfig = { + auth: { + clientId: ClientIds.Rustat, + }, + currencyBadge: { + color: '#333333', + secondColor: 'rgba(255, 255, 255, 0.7)', + sign: 'Dollar', + }, + defaultLanguage: 'en', + description: 'Live sports streaming platform. Football, basketball, ice hockey and more. Access to various player playlists and game highlights. Multiple subscription options. Available across all devices.', + disabledPreferences: true, + host: 'insports.tv', + name: ClientNames.Rustat, + privacyLink: '', + showSearch: true, + showSmartBanner: true, + styles: { + background: 'background-image: url(/images/Checker.png);', + homePageHeader: css` + background: #0B456E; + `, + logo: 'logo-rustat.svg', + logoHeight: 2.465, + logoLeft: 1.7, + logoTop: 1.5, + logoWidth: 6.37, + matchLogoHeight: 2.465, + matchLogoWidth: 6.37, + matchPageMobileHeaderLogo: css` + width: 90px; + height: 27px; + top: 0; + `, + mobileHeaderLogo: css` + width: 77px; + height: 24px; + `, + userAccountLogo: css` + width: 6.37rem; + height: 2.465rem; + `, + }, + termsLink: '', + title: 'InSports TV - The Home of Sports Streaming', +} diff --git a/src/config/clients/types.tsx b/src/config/clients/types.tsx index aa6672a9..88cf2ec9 100644 --- a/src/config/clients/types.tsx +++ b/src/config/clients/types.tsx @@ -12,7 +12,8 @@ export enum ClientIds { Insports = 'insports-ott-web', Instat = 'ott-web', Lff = 'lff-ott-web', - Tunisia = 'tunisia-ott-web', + Rustat = 'rustat-ott-web', + Tunisia = 'tunisia-ott-web' } export enum ClientNames { @@ -23,6 +24,7 @@ export enum ClientNames { Insports = 'insports', // Глобал Instat = 'instat', // Глобал Lff = 'lff', // Латвия + Rustat = 'rustat', // Неизвесно Tunisia = 'tunisia' // Тунис } diff --git a/src/config/payments.tsx b/src/config/payments.tsx index cb803b31..b95beb1a 100644 --- a/src/config/payments.tsx +++ b/src/config/payments.tsx @@ -26,4 +26,5 @@ export const payments: PaymentsType = { [ClientNames.Facr]: PaymentSystem.Stripe, [ClientNames.Lff]: PaymentSystem.Stripe, [ClientNames.Fqtv]: PaymentSystem.Stripe, + [ClientNames.Rustat]: PaymentSystem.Stripe, } diff --git a/src/features/AuthServiceApp/config/clients/index.tsx b/src/features/AuthServiceApp/config/clients/index.tsx index 6fa1a439..4abc32c0 100644 --- a/src/features/AuthServiceApp/config/clients/index.tsx +++ b/src/features/AuthServiceApp/config/clients/index.tsx @@ -7,6 +7,7 @@ import { lff } from './lff' import { india } from './india' import { tunisia } from './tunisia' import { fqtv } from './fqtv' +import { rustat } from './rustat' export const clients = { [ClientIds.Facr]: facr, @@ -16,6 +17,7 @@ export const clients = { [ClientIds.Insports]: insports, [ClientIds.India]: india, [ClientIds.Tunisia]: tunisia, + [ClientIds.Rustat]: rustat, } const params = new URLSearchParams(window.location.search) diff --git a/src/features/AuthServiceApp/config/clients/rustat.tsx b/src/features/AuthServiceApp/config/clients/rustat.tsx new file mode 100644 index 00000000..48f36563 --- /dev/null +++ b/src/features/AuthServiceApp/config/clients/rustat.tsx @@ -0,0 +1,42 @@ +import { css } from 'styled-components' + +import { rustat as platformRustat } from 'config/clients/rustat' +import { isMobileDevice } from 'config/userAgent' + +import { Background } from 'features/Background' + +import type { ClientConfig } from './types' + +export const rustat: ClientConfig = { + ...platformRustat, + background: Background, + styles: { + centerBlock: css` + margin-top: 9.15rem; + ${isMobileDevice ? css` + margin-top: 107px; + @media screen and (orientation: landscape) { + width: 290px; + margin: auto; + } + ` : ''}; + `, + logo: css` + background-image: url(/images/logo-rustat.svg); + background-position: center; + height: 85px; + width: 275px; + margin-bottom: 1.82rem; + + ${isMobileDevice ? css` + margin-bottom: 15px; + width: 165px; + height: 50px; + @media screen and (orientation: landscape){ + width: 92px; + height: 22px; + } + ` : ''} + `, + }, +} diff --git a/src/features/AuthStore/helpers.tsx b/src/features/AuthStore/helpers.tsx index 3f3a29c2..0cab0ba9 100644 --- a/src/features/AuthStore/helpers.tsx +++ b/src/features/AuthStore/helpers.tsx @@ -33,6 +33,8 @@ export const getClientNameByRedirectUri = () => { return ClientNames.Facr case ClientNames.Instat: return ClientNames.Instat + case ClientNames.Rustat: + return 'tv.rustatsport.ru' default: return ClientNames.Insports } @@ -43,6 +45,7 @@ const clientsForRedirect = { fqtv: ClientNames.Fqtv, india: ClientNames.India, lff: ClientNames.Lff, + rustat: ClientNames.Rustat, tunisia: ClientNames.Tunisia, } diff --git a/src/features/HeaderMobile/styled.tsx b/src/features/HeaderMobile/styled.tsx index 4709bd59..47ed0018 100644 --- a/src/features/HeaderMobile/styled.tsx +++ b/src/features/HeaderMobile/styled.tsx @@ -21,6 +21,7 @@ export const defaultHeaderStyles = ( ClientNames.Tunisia, ClientNames.Facr, ClientNames.Fqtv, + ClientNames.Rustat, ].includes(client.name)) { return client.styles.homePageHeader } diff --git a/src/features/ProfileHeader/styled.tsx b/src/features/ProfileHeader/styled.tsx index a02779f8..ffd73173 100644 --- a/src/features/ProfileHeader/styled.tsx +++ b/src/features/ProfileHeader/styled.tsx @@ -22,6 +22,7 @@ export const defaultHeaderStyles = ( ClientNames.Tunisia, ClientNames.Facr, ClientNames.Fqtv, + ClientNames.Rustat, ].includes(client.name) && !isMatchPage()) { return client.styles.homePageHeader @@ -76,6 +77,7 @@ export const HeaderStyled = styled.header` client.name === ClientNames.Lff || client.name === ClientNames.Facr || client.name === ClientNames.Fqtv + || client.name === ClientNames.Rustat || client.name === ClientNames.Tunisia ? css` background: linear-gradient(187deg, ${color} -4.49%, #000000 68.29%), #000000; diff --git a/src/features/Theme/config.tsx b/src/features/Theme/config.tsx index bc2eff03..00b082f9 100644 --- a/src/features/Theme/config.tsx +++ b/src/features/Theme/config.tsx @@ -133,6 +133,16 @@ export const fqtvTheme: CustomTheme = { name: 'fqtv', } -type Name = 'light' | 'dark' | 'lff' | 'facr' | 'tunisia' | 'fqtv' +export const rustatTheme: CustomTheme = { + ...defaultTheme, + colors: { + ...defaultTheme.colors, + matchCardBackground: 'linear-gradient(180deg, #31BAB1 0%, #3F3F3F 50%)', + matchHeaderBackground: '#0B456E', + }, + name: 'rustat', +} + +type Name = 'light' | 'dark' | 'lff' | 'facr' | 'tunisia' | 'fqtv' | 'rustat' export type CustomTheme = typeof defaultTheme diff --git a/src/features/Theme/index.tsx b/src/features/Theme/index.tsx index 88dc2e05..d51a59c9 100644 --- a/src/features/Theme/index.tsx +++ b/src/features/Theme/index.tsx @@ -18,6 +18,7 @@ import { facrTheme, fqtvTheme, lffTheme, + rustatTheme, tunisTheme, } from './config' @@ -61,6 +62,9 @@ export const Theme = ({ children }: Props) => { case ClientNames.Fqtv: setTheme(fqtvTheme) break + case ClientNames.Rustat: + setTheme(rustatTheme) + break default: setTheme(defaultTheme) break diff --git a/src/features/UserAccount/components/PersonalInfoForm/index.tsx b/src/features/UserAccount/components/PersonalInfoForm/index.tsx index ea25abe7..34c13793 100644 --- a/src/features/UserAccount/components/PersonalInfoForm/index.tsx +++ b/src/features/UserAccount/components/PersonalInfoForm/index.tsx @@ -1,6 +1,6 @@ -import { client } from 'config/clients' +// import { client } from 'config/clients' import { formIds } from 'config/form' -import { AUTH_SERVICE_OLD } from 'config/routes' +// import { AUTH_SERVICE_OLD } from 'config/routes' import { Combobox } from 'features/Combobox' import { Input } from 'features/Common' @@ -15,8 +15,8 @@ import { OutlineButton, SolidButton } from '../../styled' import { Form, ButtonWrapper, - PrivacyPolicyLink, - PrivacyWrapper, + // PrivacyPolicyLink, + // PrivacyWrapper, } from './styled' const labelWidth = 4.75 @@ -116,7 +116,7 @@ export const PersonalInfoForm = (props: Props) => { - + {/* { > - + */} ) } diff --git a/src/features/UserAccount/index.tsx b/src/features/UserAccount/index.tsx index bd4f44ed..df2ce7e2 100644 --- a/src/features/UserAccount/index.tsx +++ b/src/features/UserAccount/index.tsx @@ -16,8 +16,8 @@ import { T9n } from 'features/T9n' import { client, isFacrClient, - isInSportsClient, - isInstatClient, + // isInSportsClient, + // isInstatClient, isLffClient, } from 'config/clients' @@ -35,8 +35,8 @@ import { StyledLink, UserAccountWrapper, } from './styled' -import { CompanyInfo } from '../CompanyInfo' -import { PoweredByInsports } from './components/PoweredByInsports/PoweredByInsports' +// import { CompanyInfo } from '../CompanyInfo' +// import { PoweredByInsports } from './components/PoweredByInsports/PoweredByInsports' const UserAccount = () => { const { user } = useAuthStore() @@ -116,10 +116,10 @@ const UserAccount = () => { - + {/* */} - {!isInstatClient && !isInSportsClient && } + {/* {!isInstatClient && !isInSportsClient && } */} ) } diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts index 3a42828c..a964fc63 100644 --- a/src/react-app-env.d.ts +++ b/src/react-app-env.d.ts @@ -3,7 +3,7 @@ declare namespace NodeJS { export interface ProcessEnv { - REACT_APP_CLIENT: 'instat' | 'facr' | 'lff' | 'insports' | 'india' | 'tunisia' | 'fqtv', + REACT_APP_CLIENT: 'instat' | 'facr' | 'lff' | 'insports' | 'india' | 'tunisia' | 'fqtv' | 'rustat', REACT_APP_ENV: 'production' | 'preproduction' | 'staging', REACT_APP_STAGE: 'staging' | 'test-a' | 'test-b' | 'test-c' | 'test-d' | 'test-e' | 'test-f' | 'test-g' | 'test-h' | 'test-i' | 'test-j' | 'test', REACT_APP_TYPE: 'auth-service' | 'ott',