remove mode

This commit is contained in:
Dawid Wysokiński 2021-01-15 20:00:06 +01:00
parent 230b5ce7f7
commit 3099fdba7d
8 changed files with 6 additions and 153 deletions

View File

@ -1,5 +1,4 @@
import React from 'react';
import { useQueryParams, StringParam, withDefault } from 'use-query-params';
import { useTranslation } from 'react-i18next';
import useTitle from '@libs/useTitle';
import useServer from '@features/ServerPage/libs/ServerContext/useServer';
@ -7,50 +6,18 @@ import { SERVER_PAGE } from '@config/namespaces';
import { Container, Paper } from '@material-ui/core';
import Content from '@common/Content/Content';
import ModeSelector from '@common/ModeSelector/ModeSelector';
import LiveEnnoblements from './components/LiveEnnoblements/LiveEnnoblements';
import LatestSavedEnnoblements from './components/LatestSavedEnnoblements/LatestSavedEnnoblements';
function EnnoblementsPage() {
const [query, setQuery] = useQueryParams({
mode: withDefault(StringParam, 'live'),
});
const { key } = useServer();
const { t } = useTranslation(SERVER_PAGE.ENNOBLEMENTS_PAGE);
useTitle(
t('title_' + (query.mode === 'latest' ? 'latest' : 'live'), { key })
);
useTitle(t('title', { key }));
return (
<Content component="div" minHeight={false}>
<Container>
<Paper>
<ModeSelector
onSelect={m => setQuery({ mode: m.name })}
buttonProps={{ size: 'medium' }}
modes={[
{
name: 'live',
label: t('modes.live'),
get selected() {
return this.name === query.mode;
},
},
{
name: 'latest',
label: t('modes.latest'),
get selected() {
return this.name === query.mode;
},
},
]}
style={query.mode === 'latest' ? { paddingBottom: 0 } : {}}
/>
{query.mode === 'latest' ? (
<LatestSavedEnnoblements t={t} server={key} />
) : (
<LiveEnnoblements t={t} server={key} />
)}
<LatestSavedEnnoblements t={t} server={key} />
</Paper>
</Container>
</Content>

View File

@ -1,34 +0,0 @@
import React from 'react';
import { useQuery } from '@apollo/client';
import { LIVE_ENNOBLEMENTS } from './queries';
import Table from '../Table/Table';
import { TFunction } from 'i18next';
import { LiveEnnoblementsQueryVariables } from '@libs/graphql/types';
import { LiveEnnoblements as LiveEnnoblementsT } from './types';
export interface Props {
server: string;
t: TFunction;
}
function LiveEnnoblements({ t, server }: Props) {
const { data: queryData, loading: queryLoading } = useQuery<
LiveEnnoblementsT,
LiveEnnoblementsQueryVariables
>(LIVE_ENNOBLEMENTS, {
fetchPolicy: 'cache-and-network',
variables: {
server,
},
});
const ennoblements = [...(queryData?.liveEnnoblements ?? [])].reverse();
const loading = ennoblements.length === 0 && queryLoading;
return (
<Table t={t} ennoblements={ennoblements} loading={loading} hideFooter />
);
}
export default LiveEnnoblements;

View File

@ -1,31 +0,0 @@
import { gql } from '@apollo/client';
export const LIVE_ENNOBLEMENTS = gql`
query liveEnnoblements($server: String!) {
liveEnnoblements(server: $server) {
village {
name
x
y
id
}
newOwner {
id
name
tribe {
id
tag
}
}
oldOwner {
id
name
tribe {
id
tag
}
}
ennobledAt
}
}
`;

View File

@ -1,29 +0,0 @@
export type Ennoblement = {
village: {
id: number;
name: string;
x: number;
y: number;
};
newOwner: {
id: number;
name: string;
tribe?: {
id: number;
tag: string;
};
};
oldOwner?: {
id: number;
name: string;
tribe?: {
id: number;
tag: string;
};
};
ennobledAt: Date | string;
};
export type LiveEnnoblements = {
liveEnnoblements?: Ennoblement[];
};

View File

@ -1,10 +1,5 @@
const translations = {
title_live: 'Live ennoblements - {{key}}',
title_latest: 'Latest ennoblements - {{key}}',
modes: {
live: 'Live',
latest: 'Latest',
},
title: 'Latest ennoblements - {{key}}',
table: {
columns: {
ennobledAt: 'Date/time',

View File

@ -1,10 +1,5 @@
const translations = {
title_live: 'Przejęcia na żywo - {{key}}',
title_latest: 'Ostatnie przejęcia - {{key}}',
modes: {
live: 'Na żywo',
latest: 'Ostatnie',
},
title: 'Ostatnie przejęcia - {{key}}',
table: {
columns: {
ennobledAt: 'Data',

View File

@ -1,10 +1,5 @@
const translations = {
title_live: 'Conquistas em tempo real - {{key}}',
title_latest: 'Últimas conquistas - {{key}}',
modes: {
live: 'Em tempo real',
latest: 'Mais recentes',
},
title: 'Últimas conquistas - {{key}}',
table: {
columns: {
ennobledAt: 'Data/hora',

View File

@ -1,10 +1,5 @@
const translations = {
title_live: 'Noblagens em tempo real - {{key}}',
title_latest: 'Últimas noblagens - {{key}}',
modes: {
live: 'Em tempo real',
latest: 'Mais recentes',
},
title: 'Últimas noblagens - {{key}}',
table: {
columns: {
ennobledAt: 'Data/hora',