mirror of https://github.com/cocosolos/ixion.git
Improve detailed view and fix formatting
This commit is contained in:
parent
ed229129c9
commit
f7954a70bd
|
|
@ -106,7 +106,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 1000}s`;
|
return `${(numValue / 1000).toFixed()}s`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -271,7 +271,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -283,7 +283,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -295,7 +295,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -307,7 +307,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -638,7 +638,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -664,7 +664,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -694,7 +694,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -775,7 +775,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -905,7 +905,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60 / 60}hr`;
|
return `${(numValue / 60 / 60).toFixed()}hr`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -916,7 +916,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60 / 60}hr`;
|
return `${(numValue / 60 / 60).toFixed()}hr`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -1161,10 +1161,6 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'MAP.ANTICHEAT_ENABLED': {
|
|
||||||
name: 'Anticheat',
|
|
||||||
description: 'Server side anti-cheating measurements active.',
|
|
||||||
},
|
|
||||||
'MAP.AUDIT_LINKSHELL': {
|
'MAP.AUDIT_LINKSHELL': {
|
||||||
name: 'Logs Linkshell Chat',
|
name: 'Logs Linkshell Chat',
|
||||||
description: '',
|
description: '',
|
||||||
|
|
@ -1505,7 +1501,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue < 0 ? '' : '+'}${((50 + numValue) / 50 - 1) * 100}%`;
|
return `${numValue < 0 ? '' : '+'}${(((50 + numValue) / 50 - 1) * 100).toFixed()}%`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -1538,7 +1534,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue < 0 ? '' : '+'}${((40 + numValue) / 40 - 1) * 100}%`;
|
return `${numValue < 0 ? '' : '+'}${(((40 + numValue) / 40 - 1) * 100).toFixed()}%`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -1645,7 +1641,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${(1 / numValue) * 100}%`;
|
return `${((1 / numValue) * 100).toFixed()}%`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -1682,7 +1678,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue < 0 ? '' : '+'}${((50 + numValue) / 50 - 1) * 100}%`;
|
return `${numValue < 0 ? '' : '+'}${(((50 + numValue) / 50 - 1) * 100).toFixed()}%`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
@ -1754,7 +1750,7 @@ export const ServerSettingsInfo: Record<string, ServerSetting> = {
|
||||||
transform: (arg) => {
|
transform: (arg) => {
|
||||||
const numValue = Number(arg);
|
const numValue = Number(arg);
|
||||||
if (!Number.isNaN(numValue)) {
|
if (!Number.isNaN(numValue)) {
|
||||||
return `${numValue / 60} min`;
|
return `${(numValue / 60).toFixed()} min`;
|
||||||
}
|
}
|
||||||
return '???';
|
return '???';
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import { AlertResponse } from '../components/Alert';
|
||||||
import ErrorCard from '../components/ErrorCard';
|
import ErrorCard from '../components/ErrorCard';
|
||||||
import ExpansionBar from '../components/ExpansionsBar';
|
import ExpansionBar from '../components/ExpansionsBar';
|
||||||
import ServerData, {
|
import ServerData, {
|
||||||
|
ServerSetting,
|
||||||
ServerSettings,
|
ServerSettings,
|
||||||
ServerSettingsInfo,
|
ServerSettingsInfo,
|
||||||
} from '../data/ServerData';
|
} from '../data/ServerData';
|
||||||
|
|
@ -30,16 +31,19 @@ import CopyImageIcon from '../images/copy-image.png';
|
||||||
|
|
||||||
interface KeyValueRow {
|
interface KeyValueRow {
|
||||||
id: number;
|
id: number;
|
||||||
key: string;
|
|
||||||
name: string;
|
name: string;
|
||||||
value: string | number | boolean;
|
value: string | number | boolean;
|
||||||
|
description: string;
|
||||||
|
key: string;
|
||||||
|
rawValue: string | number | boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const columns: GridColDef[] = [
|
const columns: GridColDef[] = [
|
||||||
{ field: 'key', headerName: 'Key', flex: 2 },
|
{ field: 'name', headerName: 'Name', flex: 2 },
|
||||||
{ field: 'name', headerName: 'Name', flex: 1 },
|
|
||||||
{ field: 'value', headerName: 'Value', flex: 1 },
|
{ field: 'value', headerName: 'Value', flex: 1 },
|
||||||
{ field: 'description', headerName: 'Description', flex: 3 },
|
{ field: 'description', headerName: 'Description', flex: 4 },
|
||||||
|
{ field: 'key', headerName: 'Key', flex: 1 },
|
||||||
|
{ field: 'rawValue', headerName: 'Raw Value', flex: 1 },
|
||||||
];
|
];
|
||||||
|
|
||||||
function ServerSettingsDataGrid({
|
function ServerSettingsDataGrid({
|
||||||
|
|
@ -47,13 +51,23 @@ function ServerSettingsDataGrid({
|
||||||
}: {
|
}: {
|
||||||
serverSettings: ServerSettings;
|
serverSettings: ServerSettings;
|
||||||
}) {
|
}) {
|
||||||
|
const transformValue = (
|
||||||
|
v: boolean | string | number,
|
||||||
|
setting: ServerSetting
|
||||||
|
): string | number | boolean => {
|
||||||
|
return setting.transform?.(v) ?? v;
|
||||||
|
};
|
||||||
const rows: KeyValueRow[] = Object.entries(serverSettings).map(
|
const rows: KeyValueRow[] = Object.entries(serverSettings).map(
|
||||||
([key, value], index) => ({
|
([key, value], index) => ({
|
||||||
id: index + 1,
|
id: index + 1,
|
||||||
key,
|
name: ServerSettingsInfo[key]?.name || '',
|
||||||
name: ServerSettingsInfo[key]?.name || 'none',
|
value:
|
||||||
value,
|
(ServerSettingsInfo[key] &&
|
||||||
|
transformValue(value, ServerSettingsInfo[key]).toString()) ||
|
||||||
|
'',
|
||||||
description: ServerSettingsInfo[key]?.description || '',
|
description: ServerSettingsInfo[key]?.description || '',
|
||||||
|
key,
|
||||||
|
rawValue: value,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -67,6 +81,21 @@ function ServerSettingsDataGrid({
|
||||||
density="compact"
|
density="compact"
|
||||||
hideFooterSelectedRowCount
|
hideFooterSelectedRowCount
|
||||||
showCellVerticalBorder
|
showCellVerticalBorder
|
||||||
|
initialState={{
|
||||||
|
sorting: {
|
||||||
|
sortModel: [{ field: 'name', sort: 'asc' }],
|
||||||
|
},
|
||||||
|
filter: {
|
||||||
|
filterModel: {
|
||||||
|
items: [{ field: 'name', operator: 'isNotEmpty' }],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
sx={{
|
||||||
|
'& .MuiDataGrid-cell': {
|
||||||
|
userSelect: 'text',
|
||||||
|
},
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue