Fix Table

This commit is contained in:
koalasat
2025-05-10 20:22:37 +02:00
parent aa5d9ef7d2
commit 17bc47750d
25 changed files with 96 additions and 126 deletions

View File

@ -1,6 +1,6 @@
import React, { useContext, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Button, Grid, ButtonGroup } from '@mui/material';
import { Button, Grid, ButtonGroup, useTheme } from '@mui/material';
import { useNavigate } from 'react-router-dom';
import DepthChart from '../../components/Charts/DepthChart';
import BookTable from '../../components/BookTable';
@ -17,16 +17,18 @@ import { type PublicOrder } from '../../models';
const BookPage = (): React.JSX.Element => {
const { windowSize } = useContext<UseAppStoreType>(AppContext);
const { federation } = useContext<UseFederationStoreType>(FederationContext);
const theme = useTheme();
const { t } = useTranslation();
const navigate = useNavigate();
const [view, setView] = useState<'list' | 'depth' | 'map'>('list');
const [openVisitThirdParty, setOpenVisitThirdParty] = useState<boolean>(false);
const [thirdPartyOrder, setThirdPartyOrder] = useState<PublicOrder>();
const doubleView = windowSize.width > 115;
const width = windowSize.width * 0.9;
const maxBookTableWidth = 85;
const chartWidthEm = width - maxBookTableWidth;
const doubleView = windowSize.width > 100;
const width = windowSize.width * 0.85;
const maxBookTableWidth = width * 0.7;
const chartWidthEm = width * 0.25;
const fontSize = theme.typography.fontSize;
const onOrderClicked = function (id: number, shortAlias: string): void {
const thirdParty = thirdParties[shortAlias];
@ -51,6 +53,8 @@ const BookPage = (): React.JSX.Element => {
) : (
<>
<Button
color={view === 'list' ? 'primary' : 'inherit'}
variant='contained'
onClick={() => {
setView('list');
}}
@ -58,6 +62,8 @@ const BookPage = (): React.JSX.Element => {
<FormatListBulleted /> {t('List')}
</Button>
<Button
color={view === 'depth' ? 'primary' : 'inherit'}
variant='contained'
onClick={() => {
setView('depth');
}}
@ -65,6 +71,8 @@ const BookPage = (): React.JSX.Element => {
<BarChart /> {t('Chart')}
</Button>
<Button
color={view === 'map' ? 'primary' : 'inherit'}
variant='contained'
onClick={() => {
setView('map');
}}
@ -94,12 +102,12 @@ const BookPage = (): React.JSX.Element => {
justifyContent='center'
spacing={1}
direction='row'
style={{ width: `${windowSize.width}em`, height: `${windowSize.height * 0.875}em` }}
style={{ width: `${width}em`, height: `${windowSize.height * 0.875}em` }}
>
<Grid>
<BookTable
maxWidth={maxBookTableWidth} // EM units
maxHeight={windowSize.height * 0.8} // EM units
maxHeight={windowSize.height * 0.78} // EM units
fullWidth={windowSize.width} // EM units
fullHeight={windowSize.height} // EM units
defaultFullscreen={false}
@ -107,17 +115,17 @@ const BookPage = (): React.JSX.Element => {
/>
</Grid>
<Grid>
<Grid item style={{ marginBottom: 10 }}>
<Grid item style={{ marginBottom: 8 }}>
<DepthChart
maxWidth={chartWidthEm} // EM units
maxHeight={(windowSize.height * 0.82) / 2} // EM units
maxHeight={(windowSize.height * 0.78) / 2 - 5 / fontSize} // EM units
onOrderClicked={onOrderClicked}
/>
</Grid>
<Grid item>
<MapChart
maxWidth={chartWidthEm} // EM units
maxHeight={(windowSize.height * 0.82) / 2} // EM units
maxHeight={(windowSize.height * 0.78) / 2 - 4 / fontSize} // EM units
onOrderClicked={onOrderClicked}
/>
</Grid>
@ -126,19 +134,19 @@ const BookPage = (): React.JSX.Element => {
) : view === 'depth' ? (
<DepthChart
maxWidth={windowSize.width * 0.8} // EM units
maxHeight={windowSize.height * 0.835} // EM units
maxHeight={windowSize.height * 0.75} // EM units
onOrderClicked={onOrderClicked}
/>
) : view === 'map' ? (
<MapChart
maxWidth={windowSize.width * 0.8} // EM units
maxHeight={windowSize.height * 0.82} // EM units
maxWidth={windowSize.width * 0.8} // M units
maxHeight={windowSize.height * 0.75} // EM units
onOrderClicked={onOrderClicked}
/>
) : (
<BookTable
maxWidth={windowSize.width * 0.97} // EM units
maxHeight={windowSize.height * 0.825 - 5} // EM units
maxWidth={windowSize.width * 0.8} // EM units
maxHeight={windowSize.height * 0.75} // EM units
fullWidth={windowSize.width} // EM units
fullHeight={windowSize.height} // EM units
defaultFullscreen={false}

View File

@ -1,6 +1,6 @@
import React, { useContext, useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { Typography, Grid, Select, Divider, MenuItem, Box } from '@mui/material';
import { Typography, Grid, Select, MenuItem, Box } from '@mui/material';
import currencyDict from '../../../static/assets/currencies.json';
import { useTheme } from '@mui/system';
import { AutocompletePayments } from '../MakerForm';
@ -118,8 +118,8 @@ const BookControl = ({
alignItems='flex-start'
direction='row'
justifyContent='center'
spacing={0.5}
sx={{ height: '3.4em', padding: '0.2em' }}
spacing={0.8}
sx={{ height: '3.4em', padding: '0.2em', alignContent: 'center' }}
>
{width > large ? (
<Grid item sx={{ position: 'relative', top: '0.5em' }}>
@ -132,7 +132,7 @@ const BookControl = ({
<Grid item>
<Select
sx={{
height: '2.3em',
height: '2.6em',
border: '0.5px solid',
backgroundColor: theme.palette.background.paper,
borderRadius: '4px',
@ -207,7 +207,7 @@ const BookControl = ({
<Select
autoWidth
sx={{
height: '2.3em',
height: '2.6em',
border: '0.5px solid',
backgroundColor: theme.palette.background.paper,
borderRadius: '4px',
@ -288,7 +288,7 @@ const BookControl = ({
<Grid item>
<Select
sx={{
height: '2.3em',
height: '2.6em',
border: '0.5px solid',
backgroundColor: theme.palette.background.paper,
borderRadius: '4px',
@ -374,7 +374,7 @@ const BookControl = ({
<Select
autoWidth
sx={{
height: '2.3em',
height: '2.6em',
border: '0.5px solid',
backgroundColor: theme.palette.background.paper,
borderRadius: '4px',
@ -425,7 +425,6 @@ const BookControl = ({
</Select>
</Grid>
</Grid>
<Divider />
</Box>
);
};

View File

@ -11,7 +11,6 @@ import {
ListItemAvatar,
useTheme,
CircularProgress,
LinearProgress,
IconButton,
Tooltip,
styled,
@ -68,7 +67,6 @@ interface BookTableProps {
fullHeight?: number;
elevation?: number;
defaultFullscreen?: boolean;
fillContainer?: boolean;
showControls?: boolean;
showFooter?: boolean;
showNoResults?: boolean;
@ -83,7 +81,6 @@ const BookTable = ({
fullHeight = 70,
defaultFullscreen = false,
elevation = 6,
fillContainer = false,
showControls = true,
showFooter = true,
showNoResults = true,
@ -98,37 +95,35 @@ const BookTable = ({
const [paginationModel, setPaginationModel] = useState<GridPaginationModel>({
pageSize: 0,
page: 1,
page: 0,
});
const [columnVisibilityModel, setColumnVisibilityModel] = useState<GridColumnVisibilityModel>({});
const [fullscreen, setFullscreen] = useState(defaultFullscreen);
const [paymentMethods, setPaymentMethods] = useState<string[]>([]);
const [page, setPage] = useState<number>(0);
// all sizes in 'em'
const [fontSize, defaultPageSize, height] = useMemo(() => {
const fontSize = theme.typography.fontSize;
const verticalHeightFrame = 3.25 + (showControls ? 3.7 : 0.35) + (showFooter ? 2.35 : 0);
const verticalHeightRow = 3.25;
const verticalHeightHeader = 55 / fontSize;
const verticalHeightRow = 55 / fontSize;
const height = fullscreen ? fullHeight : maxHeight;
const defaultPageSize = Math.max(
Math.floor(
((fullscreen ? fullHeight * 0.9 : maxHeight) - verticalHeightFrame) / verticalHeightRow,
),
Math.floor((height - verticalHeightHeader) / verticalHeightRow),
1,
);
const height = defaultPageSize * verticalHeightRow + verticalHeightFrame;
return [fontSize, defaultPageSize, height];
}, [theme.typography.fontSize, maxHeight, fullscreen, fullHeight, showControls, showFooter]);
useEffect(() => {
setPaginationModel({
pageSize: defaultPageSize,
page: paginationModel.page ?? 1,
page: 0,
});
}, [defaultPageSize]);
const localeText = useMemo(() => {
return {
MuiTablePagination: { labelRowsPerPage: t('Orders per page:') },
noResultsOverlayLabel: t('No results found.'),
errorOverlayDefaultLabel: t('An error occurred.'),
toolbarColumns: t('Columns'),
@ -393,7 +388,7 @@ const BookTable = ({
<div style={{ position: 'relative', top: '0.4em' }}>
<PaymentStringAsIcons
othersText={t('Others')}
verbose={true}
verbose={false}
size={1.7 * fontSize}
text={params.row.payment_method}
/>
@ -427,6 +422,7 @@ const BookTable = ({
<PaymentStringAsIcons
othersText={t('Others')}
size={1.3 * fontSize}
verbose={false}
text={params.row.payment_method}
/>
</div>
@ -843,7 +839,7 @@ const BookTable = ({
});
setColumnVisibilityModel(columnVisibilityModel);
return { columns, width: width * 0.875 + 0.15 };
return { columns, width: maxWidth };
};
const { columns, width } = useMemo(() => {
@ -915,9 +911,7 @@ const BookTable = ({
};
const gridComponents = useMemo(() => {
const components: GridSlotsComponent = {
loadingOverlay: LinearProgress,
};
const components: GridSlotsComponent = {};
if (showNoResults) {
components.noResultsOverlay = NoResultsOverlay;
@ -926,11 +920,8 @@ const BookTable = ({
if (showFooter) {
components.footer = Footer;
}
if (showControls) {
components.toolbar = BookControl;
}
return components;
}, [showNoResults, showFooter, showControls, fullscreen]);
}, [showNoResults, showFooter, fullscreen]);
const filteredOrders = useMemo(() => {
return showControls
@ -946,17 +937,25 @@ const BookTable = ({
return (
<Paper
elevation={elevation}
style={
fillContainer
? { width: '100%', height: '100%' }
: { width: `${width}em`, height: `${height}em`, overflow: 'auto' }
}
style={{
width: `${width}em`,
height: `${height}em`,
overflow: 'auto',
display: 'flex',
flexDirection: 'column',
}}
>
{showControls && (
<BookControl
width={width}
paymentMethod={paymentMethods}
setPaymentMethods={setPaymentMethods}
/>
)}
<ClickThroughDataGrid
autoHeight
sx={headerStyleFix}
localeText={localeText}
rowHeight={3.714 * theme.typography.fontSize}
headerHeight={3.25 * theme.typography.fontSize}
rows={filteredOrders}
getRowId={(params: PublicOrder) => `${String(params.coordinatorShortAlias)}/${params.id}`}
loading={federation.loading}
@ -965,19 +964,10 @@ const BookTable = ({
onColumnVisibilityModelChange={(newColumnVisibilityModel) => {
setColumnVisibilityModel(newColumnVisibilityModel);
}}
page={page}
onPageChange={setPage}
hideFooter={!showFooter}
slots={gridComponents}
slotProps={{
toolbar: {
width,
paymentMethod: paymentMethods,
setPaymentMethods,
},
loadingOverlay: {
variant: 'indeterminate',
value: federation.loading ? 0 : 100,
},
}}
paginationModel={paginationModel}
pageSizeOptions={width < 22 ? [] : [0, defaultPageSize, defaultPageSize * 2, 50, 100]}
onPaginationModelChange={(newPaginationModel) => {
@ -989,8 +979,24 @@ const BookTable = ({
} else {
return (
<Dialog open={fullscreen} fullScreen={true}>
<Paper style={{ width: '100%', height: '100%', overflow: 'auto' }}>
<Paper
style={{
width: '100%',
height: '100%',
overflow: 'auto',
display: 'flex',
flexDirection: 'column',
}}
>
{showControls && (
<BookControl
width={width}
paymentMethod={paymentMethods}
setPaymentMethods={setPaymentMethods}
/>
)}
<ClickThroughDataGrid
autoHeight
sx={headerStyleFix}
localeText={localeText}
rowHeight={3.714 * theme.typography.fontSize}
@ -1004,13 +1010,8 @@ const BookTable = ({
onColumnVisibilityModelChange={(newColumnVisibilityModel) => {
setColumnVisibilityModel(newColumnVisibilityModel);
}}
slotProps={{
toolbar: {
width,
paymentMethod: paymentMethods,
setPaymentMethods,
},
}}
page={page}
onPageChange={setPage}
paginationModel={paginationModel}
pageSizeOptions={width < 22 ? [] : [0, defaultPageSize, defaultPageSize * 2, 50, 100]}
onPaginationModelChange={(newPaginationModel) => {

View File

@ -34,7 +34,6 @@ import {
interface DepthChartProps {
maxWidth: number;
maxHeight: number;
fillContainer?: boolean;
elevation?: number;
onOrderClicked?: (id: number, shortAlias: string) => void;
}
@ -42,7 +41,6 @@ interface DepthChartProps {
const DepthChart: React.FC<DepthChartProps> = ({
maxWidth,
maxHeight,
fillContainer = false,
elevation = 6,
onOrderClicked = () => null,
}) => {
@ -276,26 +274,27 @@ const DepthChart: React.FC<DepthChartProps> = ({
return (
<Paper
elevation={elevation}
style={
fillContainer
? { width: '100%', maxHeight: '100%', height: '100%' }
: { width: `${width}em`, maxHeight: `${height}em` }
}
style={{
width: `${width}em`,
height: `${height}em`,
overflow: 'auto',
display: 'flex',
flexDirection: 'column',
}}
>
<Paper variant='outlined' style={{ width: '100%', height: '100%' }}>
<Paper variant='outlined' style={{ width: '100%', height: `100%` }}>
{center === undefined || enrichedOrders.length < 1 ? (
<div
style={{
display: 'flex',
justifyContent: 'center',
paddingTop: `${(height - 3) / 2 - 1}em`,
height: `${height}em`,
paddingTop: `${height / 2}em`,
}}
>
<CircularProgress />
</div>
) : (
<Grid container>
<Grid container alignItems='center' direction='column'>
<Grid
container
direction='row'

View File

@ -22,7 +22,6 @@ import {
interface MapChartProps {
maxWidth: number;
maxHeight: number;
fillContainer?: boolean;
elevation?: number;
onOrderClicked?: (id: number, shortAlias: string) => void;
}
@ -30,7 +29,6 @@ interface MapChartProps {
const MapChart: React.FC<MapChartProps> = ({
maxWidth,
maxHeight,
fillContainer = false,
elevation = 6,
onOrderClicked = () => {},
}) => {
@ -46,11 +44,13 @@ const MapChart: React.FC<MapChartProps> = ({
return (
<Paper
elevation={elevation}
style={
fillContainer
? { width: '100%', maxHeight: '100%', height: '100%' }
: { width: `${width}em`, maxHeight: `${height}em` }
}
style={{
width: `${width}em`,
height: `${height}em`,
overflow: 'auto',
display: 'flex',
flexDirection: 'column',
}}
>
<Dialog
open={openWarningDialog}
@ -130,7 +130,7 @@ const MapChart: React.FC<MapChartProps> = ({
</div>
</Tooltip>
</Grid>
<div style={{ height: `${height * 0.825}em` }}>
<div style={{ height: `${height - 3.2}em` }}>
<Map
useTiles={useTiles}
orders={Object.values(federation.book)}

View File

@ -79,7 +79,6 @@ const FederationTable = ({
};
const localeText = {
MuiTablePagination: { labelRowsPerPage: t('Coordinators per page:') },
noResultsOverlayLabel: t('No coordinators found.'),
};

View File

@ -27,7 +27,6 @@ const BookWidget = React.forwardRef(function Component({
<Paper elevation={3} style={{ width: '100%', height: '100%' }}>
<BookTable
elevation={0}
fillContainer={true}
maxWidth={layout.w * gridCellSize} // EM units
maxHeight={layout.h * gridCellSize} // EM units
fullWidth={windowSize.width} // EM units

View File

@ -29,7 +29,6 @@ const DepthChartWidget = React.forwardRef(function Component({
elevation={0}
maxWidth={layout.w * gridCellSize} // EM units
maxHeight={layout.h * gridCellSize} // EM units
fillContainer={true}
/>
</Paper>
);

View File

@ -119,7 +119,6 @@
"No results found.": "No s'han trobat resultats.",
"Operator": "Operador",
"Or": "O",
"Orders per page:": "Ordres per vista:",
"Others": "Altres",
"Pay": "Pagar",
"Payment Method": "Mètode de pagament",
@ -345,7 +344,6 @@
"I understand": "Ho entenc",
"Warning": "Avís",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinadors per pàgina:",
"Enabled": "Habilitat",
"No coordinators found.": "No s'han trobat coordinadors.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "Nebyly nalezeny žádné výsledky.",
"Operator": "Operátor",
"Or": "Nebo",
"Orders per page:": "Nabídky na stránku:",
"Others": "Ostatní",
"Pay": "Platba",
"Payment Method": "Platební metoda",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "No results found.",
"Operator": "Operator",
"Or": "Or",
"Orders per page:": "Orders per page:",
"Others": "Weitere",
"Pay": "Bezahlung",
"Payment Method": "Zahlungsweise",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "No results found.",
"Operator": "Operator",
"Or": "Or",
"Orders per page:": "Orders per page:",
"Others": "Others",
"Pay": "Pay",
"Payment Method": "Payment Method",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "No se han encontrado resultados.",
"Operator": "Operador",
"Or": "O",
"Orders per page:": "Órdenes por página:",
"Others": "Otros",
"Pay": "Pagar",
"Payment Method": "Método de pago",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "Ez da emaitzarik aurkitu.",
"Operator": "Operadore",
"Or": "Edo",
"Orders per page:": "Orrialde bakoitzeko eskaerak:",
"Others": "Besteak",
"Pay": "Ordaindu",
"Payment Method": "Ordainketa Modua",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "No results found.",
"Operator": "Opérateur",
"Or": "Ou",
"Orders per page:": "Ordres par page :",
"Others": "Autres",
"Pay": "Payer",
"Payment Method": "Mode de paiement",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "Nessun risultato trovato.",
"Operator": "Operatore",
"Or": "E",
"Orders per page:": "Ordini per pagina:",
"Others": "Altro",
"Pay": "Paga",
"Payment Method": "Metodo di pagamento",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "結果が見つかりません。",
"Operator": "オペレーター",
"Or": "または",
"Orders per page:": "ページあたりの注文数:",
"Others": "その他",
"Pay": "支払う",
"Payment Method": "支払い方法",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "No results found.",
"Operator": "Operator",
"Or": "Or",
"Orders per page:": "Orders per page:",
"Others": "Inni",
"Pay": "Płacić",
"Payment Method": "Metoda płatności",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "Nenhum resultado encontrado.",
"Operator": "Operator",
"Or": "Ou",
"Orders per page:": "Ordens por página:",
"Others": "Outros",
"Pay": "Pagar",
"Payment Method": "método de pagamento",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "Результаты не найдены.",
"Operator": "Оператор",
"Or": "Или",
"Orders per page:": "Заказов на страницу:",
"Others": "Другие",
"Pay": "Платить",
"Payment Method": "Метод оплаты",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "No results found.",
"Operator": "Operator",
"Or": "Or",
"Orders per page:": "Orders per page:",
"Others": "Andra",
"Pay": "Betala",
"Payment Method": "Betalningsmetod",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "Hakuna matokeo yaliyopatikana.",
"Operator": "Msimamizi",
"Or": "Au",
"Orders per page:": "Amri kwa ukurasa:",
"Others": "Wengine",
"Pay": "Lipia",
"Payment Method": "Njia ya Malipo",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "ไม่พบผลลัพธ์",
"Operator": "ตัวดำเนินการ",
"Or": "หรือ",
"Orders per page:": "รายการต่อหน้า:",
"Others": "อื่นๆ",
"Pay": "จ่าย",
"Payment Method": "วิธีการชำระเงิน",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "未找到结果。",
"Operator": "运算符",
"Or": "或",
"Orders per page:": "每页上的订单数量:",
"Others": "其他",
"Pay": "支付",
"Payment Method": "付款方式",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",

View File

@ -119,7 +119,6 @@
"No results found.": "未找到結果。",
"Operator": "運算符",
"Or": "或",
"Orders per page:": "每頁上的訂單數量:",
"Others": "其他",
"Pay": "支付",
"Payment Method": "付款方法",
@ -345,7 +344,6 @@
"I understand": "I understand",
"Warning": "Warning",
"#36": "Phrases in components/FederationTable/index.tsx",
"Coordinators per page:": "Coordinators per page:",
"Enabled": "Enabled",
"No coordinators found.": "No coordinators found.",
"Rating": "Rating",