use useVersion instead of extractVersionCodeFromHostname

This commit is contained in:
Dawid Wysokiński 2021-01-01 14:53:31 +01:00
parent 893b433d44
commit 9d35e4aba8
9 changed files with 16 additions and 25 deletions

View File

@ -1,8 +1,8 @@
import React, { useState } from 'react';
import { useTranslation } from 'react-i18next';
import useVersion from '@libs/VersionContext/useVersion';
import useVersions from './useVersions';
import { COMMON } from '@config/namespaces';
import extractVersionCodeFromHostname from '@utils/extractVersionCodeFromHostname';
import { Button, Menu, MenuItem, Link, Tooltip } from '@material-ui/core';
import { Language as LanguageIcon } from '@material-ui/icons';
@ -10,8 +10,8 @@ import { Language as LanguageIcon } from '@material-ui/icons';
function VersionSelector() {
const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);
const { t } = useTranslation(COMMON);
const versionCode = extractVersionCodeFromHostname(window.location.hostname);
const { versions, loading } = useVersions(versionCode);
const version = useVersion();
const { versions, loading } = useVersions(version.code);
const handleClick = (
event: React.MouseEvent<HTMLButtonElement, MouseEvent>
@ -25,7 +25,7 @@ function VersionSelector() {
const buildLink = (tag: string) => {
return `${window.location.protocol}//${window.location.host.replace(
versionCode,
version.code,
tag
)}`;
};
@ -40,7 +40,7 @@ function VersionSelector() {
startIcon={<LanguageIcon />}
onClick={loading ? undefined : handleClick}
>
{versionCode}
{version.code}
</Button>
</Tooltip>
<Menu

View File

@ -6,10 +6,10 @@ import {
NumberParam,
} from 'use-query-params';
import { useTranslation } from 'react-i18next';
import useVersion from '@libs/VersionContext/useVersion';
import useTitle from '@libs/useTitle';
import useScrollToElement from '@libs/useScrollToElement';
import { validateRowsPerPage } from '@common/Table/helpers';
import extractVersionCodeFromHostname from '@utils/extractVersionCodeFromHostname';
import { SEARCH_PAGE } from '@config/namespaces';
import { MODES, LIMIT } from './constants';
@ -26,7 +26,7 @@ function SearchPage() {
limit: withDefault(NumberParam, LIMIT),
});
const limit = validateRowsPerPage(query.limit);
const version = extractVersionCodeFromHostname(window.location.hostname);
const version = useVersion();
const { t } = useTranslation(SEARCH_PAGE);
useTitle(t('title', { query: query.q }));
useScrollToElement(
@ -48,7 +48,7 @@ function SearchPage() {
q: query.q,
limit: limit,
page: query.page,
version: version,
version: version.code,
onChangePage: handlePageChange,
onChangeRowsPerPage: handleRowsPerPageChange,
};

View File

@ -1,5 +1,6 @@
import React from 'react';
import useServer from '@features/ServerPage/libs/ServerContext/useServer';
import useVersion from '@libs/VersionContext/useVersion';
import { SERVER_PAGE } from '@config/routes';
import buildVillageName from '@utils/buildVillageName';
import { buildVillageURL } from '@utils/buildTribalwarsURL';
@ -29,7 +30,8 @@ function EnnoblementsTable({
hideFooter,
footerProps,
}: Props) {
const { version, key: server } = useServer();
const version = useVersion();
const { key: server } = useServer();
return (
<Table
columns={[

View File

@ -2,10 +2,10 @@ import React from 'react';
import { useParams } from 'react-router-dom';
import { useQuery } from '@apollo/client';
import { useTranslation } from 'react-i18next';
import useVersion from '@libs/VersionContext/useVersion';
import { SERVERS } from './queries';
import Context from './context';
import { SERVER_PAGE } from '@config/namespaces';
import extractVersionCodeFromHostname from '@utils/extractVersionCodeFromHostname';
import { ServersQueryVariables } from '@libs/graphql/types';
import { Params, ServerList } from './types';
@ -20,6 +20,7 @@ export interface Props {
function Provider({ children }: Props) {
const { key } = useParams<Params>();
const { t } = useTranslation(SERVER_PAGE.COMMON);
const version = useVersion();
const { loading: loadingServers, data } = useQuery<
ServerList,
ServersQueryVariables
@ -28,7 +29,7 @@ function Provider({ children }: Props) {
variables: {
limit: 1,
filter: {
versionCode: [extractVersionCodeFromHostname(window.location.hostname)],
versionCode: [version.code],
key: [key],
},
},

View File

@ -11,10 +11,6 @@ const ctx = createContext<Server>({
historyUpdatedAt: new Date(0).toJSON(),
statsUpdatedAt: new Date(0).toJSON(),
status: SERVER_STATUS.OPEN,
version: {
code: '',
host: '',
},
});
export default ctx;

View File

@ -12,10 +12,6 @@ export const SERVERS = gql`
dataUpdatedAt
historyUpdatedAt
statsUpdatedAt
version {
code
host
}
}
}
}

View File

@ -10,10 +10,6 @@ export type Server = {
dataUpdatedAt: string;
historyUpdatedAt: string;
statsUpdatedAt: string;
version: {
code: string;
host: string;
};
};
export type ServerList = {

View File

@ -14,7 +14,7 @@ const translations = {
open: 'Open',
},
versionContextProvider: {
loading: 'Loading...',
loading: 'Loading version...',
},
devNote: `This website is still under development and some things may be broken.`,
mainLayout: {

View File

@ -14,7 +14,7 @@ const translations = {
open: 'Otwarty',
},
versionContextProvider: {
loading: 'Ładowanie...',
loading: 'Ładowanie wersji...',
},
devNote: `Strona jest ciągle w procesie tworzenia i mogą występować błędy.`,
mainLayout: {