diff --git a/src/config/clients/facr.tsx b/src/config/clients/facr.tsx index a05987e8..b5d4d8c5 100644 --- a/src/config/clients/facr.tsx +++ b/src/config/clients/facr.tsx @@ -31,6 +31,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: false, + host: 'facr.tv', name: ClientNames.Facr, privacyLink: '/privacy-policy-and-statement', requests: { diff --git a/src/config/clients/fqtv.tsx b/src/config/clients/fqtv.tsx index 538e559e..ca98cd46 100644 --- a/src/config/clients/fqtv.tsx +++ b/src/config/clients/fqtv.tsx @@ -17,6 +17,7 @@ export const fqtv: ClientConfig = { defaultLanguage: 'en', description: 'Queensland’s streamed competitions, including NPL Men, NPL Women and McDonald\'s FQPL Leagues.', disabledPreferences: true, + host: 'fqtv.com.au', name: ClientNames.Fqtv, privacyLink: '/privacy-policy-and-statement?client_id=insports-ott-web', showSearch: true, diff --git a/src/config/clients/india.tsx b/src/config/clients/india.tsx index 49e19cde..79d9ade4 100644 --- a/src/config/clients/india.tsx +++ b/src/config/clients/india.tsx @@ -17,6 +17,7 @@ export const india: ClientConfig = { sign: 'Rupee', }, disabledHighlights: true, + host: 'india.insports.tv', name: ClientNames.India, userAccountCardsHidden: true, } diff --git a/src/config/clients/insports.tsx b/src/config/clients/insports.tsx index 4a80cb4b..7939de5e 100644 --- a/src/config/clients/insports.tsx +++ b/src/config/clients/insports.tsx @@ -17,6 +17,7 @@ export const insports: ClientConfig = { 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.Insports, privacyLink: '/privacy-policy-and-statement?client_id=insports-ott-web', showSearch: true, diff --git a/src/config/clients/instat.tsx b/src/config/clients/instat.tsx index c57d0a53..d10ce351 100644 --- a/src/config/clients/instat.tsx +++ b/src/config/clients/instat.tsx @@ -17,6 +17,7 @@ export const instat: ClientConfig = { 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: 'instat.tv', name: ClientNames.Instat, privacyLink: '/privacy-policy-and-statement', showSearch: true, diff --git a/src/config/clients/lff.tsx b/src/config/clients/lff.tsx index 02dedb6b..ae710046 100644 --- a/src/config/clients/lff.tsx +++ b/src/config/clients/lff.tsx @@ -18,6 +18,7 @@ export const lff: ClientConfig = { description: 'Latvijas Futbola federācija (LFF) pašmāju futbola spēļu tiešraižu, apskatu un ierakstu platforma.', disabledHighlights: true, disabledPreferences: true, + host: 'tv.lff.lv', name: ClientNames.Lff, privacyLink: '/privacy-policy-and-statement', showSearch: true, diff --git a/src/config/clients/tunisia.tsx b/src/config/clients/tunisia.tsx index 29ea8d0d..68b29253 100644 --- a/src/config/clients/tunisia.tsx +++ b/src/config/clients/tunisia.tsx @@ -25,6 +25,7 @@ export const tunisia: ClientConfig = { disabledFilters: true, disabledHighlights: true, disabledPreferences: true, + host: 'diwansport.net', name: ClientNames.Tunisia, privacyLink: '/privacy-policy-and-statement?client_id=insports-ott-web', showSearch: true, diff --git a/src/config/clients/types.tsx b/src/config/clients/types.tsx index 017c994c..aa6672a9 100644 --- a/src/config/clients/types.tsx +++ b/src/config/clients/types.tsx @@ -42,6 +42,7 @@ export type ClientConfig = { disabledFilters?: boolean, disabledHighlights?: boolean, disabledPreferences?: boolean, + host: string, name: ClientNames, privacyLink: string, requests?: Record, diff --git a/src/features/AuthServiceApp/components/ChangePassword/hooks.tsx b/src/features/AuthServiceApp/components/ChangePassword/hooks.tsx index 8fa2f3f9..f7209771 100644 --- a/src/features/AuthServiceApp/components/ChangePassword/hooks.tsx +++ b/src/features/AuthServiceApp/components/ChangePassword/hooks.tsx @@ -8,12 +8,14 @@ import { useHistory } from 'react-router' import { useAuthFields } from 'features/AuthServiceApp/hooks/useAuthFields' import { changePassword } from 'features/AuthServiceApp/requests/changePassword' +import { clients } from 'features/AuthServiceApp/config/clients' import { useParamsUrl } from '../../hooks/useParamsUrl' export const useChangePasswordForm = () => { - const { client_id } = useParamsUrl() + const { client_id, redirect_uri } = useParamsUrl() const history = useHistory() + const [error, setError] = useState('') const [modalOpen, setModalOpen] = useState(false) const [isFetching, setIsFetching] = useState(false) @@ -36,9 +38,12 @@ export const useChangePasswordForm = () => { setIsFetching(false) } } + const host = String(redirect_uri || clients[client_id].host) + + const redirectUrl = `/authorize?client_id=${client_id}&redirect_uri=${encodeURIComponent(host)}` const modalButtonClick = () => { - history.push(`/authorize?client_id=${client_id}`) + history.push(redirectUrl) } const onPasswordChange = ({ diff --git a/src/features/AuthServiceApp/config/clients/index.tsx b/src/features/AuthServiceApp/config/clients/index.tsx index 79309820..6fa1a439 100644 --- a/src/features/AuthServiceApp/config/clients/index.tsx +++ b/src/features/AuthServiceApp/config/clients/index.tsx @@ -8,7 +8,7 @@ import { india } from './india' import { tunisia } from './tunisia' import { fqtv } from './fqtv' -const clients = { +export const clients = { [ClientIds.Facr]: facr, [ClientIds.Fqtv]: fqtv, [ClientIds.Instat]: instat, diff --git a/src/features/AuthServiceApp/config/clients/types.tsx b/src/features/AuthServiceApp/config/clients/types.tsx index c785db54..546b0b60 100644 --- a/src/features/AuthServiceApp/config/clients/types.tsx +++ b/src/features/AuthServiceApp/config/clients/types.tsx @@ -12,6 +12,7 @@ export type ClientConfig = { background: FC<{ children: ReactNode }>, defaultLanguage: string, description: string, + host?: string, isHideSelectLanguages?: boolean, name: ClientNames, privacyLink: string, diff --git a/src/requests/getGeoInfo.tsx b/src/requests/getGeoInfo.tsx index 6a3e46cc..be59b9ac 100644 --- a/src/requests/getGeoInfo.tsx +++ b/src/requests/getGeoInfo.tsx @@ -1,4 +1,4 @@ -import { AUTH_SERVICE } from 'config' +import { API_ROOT } from 'features/AuthServiceApp/config/routes' import { callApi } from 'helpers' export type GeoInfoType = { @@ -14,6 +14,6 @@ export const getGeoInfo = async (): Promise => { return callApi({ config, - url: `${AUTH_SERVICE}/geoinfo`, + url: `${API_ROOT}/geoinfo`, }) }