import { TypedField, FieldType } from "react-declarative";
import {
Box,
Link,
Typography,
} from "@mui/material";
import {
Tv,
Palette,
FullscreenExit,
} from '@mui/icons-material';
const Hr = () => ;
const Logo = () => ;
const createDimension = (title, icon): TypedField => ({
type: FieldType.Paper,
noBaseline: true,
fieldRightMargin: '1',
fieldBottomMargin: '1',
phoneColumns: '12',
columns: '4',
fields: [
{
type: FieldType.Typography,
typoVariant: 'body1',
placeholder: title.toUpperCase(),
fieldRightMargin: "1",
fieldBottomMargin: "0",
},
{
type: FieldType.Typography,
typoVariant: 'body2',
style: {
fontWeight: '300',
maxHeight: '60px',
overflow: 'hidden',
},
placeholder: `
The size of a screen is usually described by the length of its
diagonal, which is the distance between opposite corners, usually
in inches. It is also sometimes called the physical image size
`,
},
{
type: FieldType.Component,
fieldBottomMargin: "0",
element: () => (
{React.createElement(icon, { style: { fontSize: '50px' } })}
),
},
{
type: FieldType.Slider,
},
],
});
export const fields: TypedField[] = [
{
type: FieldType.Group,
noBaseline: true,
fields: [
{
type: FieldType.Group,
noBaseline: true,
sx: (theme) => ({
[theme.breakpoints.up("sm")]: {
'& > *': {
minHeight: '100%',
},
},
}),
fields: [
createDimension('Screen size', Tv),
createDimension('Chromatic aberration', Palette),
createDimension('Field of view', FullscreenExit),
],
},
{
type: FieldType.Group,
noBaseline: true,
phoneColumns: '12',
columns: '6',
fields: [
{
type: FieldType.Paper,
fieldBottomMargin: '1',
fieldRightMargin: '1',
fields: [
{
type: FieldType.Component,
element: () => ABOUT,
},
{
type: FieldType.Component,
columns: '2',
style: { maxWidth: '64px' },
element: Logo,
},
{
type: FieldType.Group,
columns: '10',
fields: [
{
type: FieldType.Component,
element: () => (
THE ONE MOST ADVANCED
form creation kit for React
Copyleft, just clone to your project
),
},
],
},
{
type: FieldType.Component,
element: () => (
Official site
),
},
],
},
{
type: FieldType.Paper,
fieldBottomMargin: '1',
fieldRightMargin: '1',
fields: [
{
type: FieldType.Switch,
name: 'isViewFps',
title: 'View FPS',
fieldRightMargin: '0',
},
{
type: FieldType.Component,
element: () => (
Show network status indicators while playing. This parameter
will be applied the next time game is started
),
}
],
},
],
},
{
type: FieldType.Group,
phoneColumns: '12',
columns: '6',
fields: [
{
type: FieldType.Paper,
fieldRightMargin: '1',
fieldBottomMargin: '1',
fields: [
{
type: FieldType.Component,
element: () => SERVER LOCATION,
},
{
type: FieldType.Combo,
name: 'serverLocation',
fieldRightMargin: '0',
outlined: false,
defaultValue: 'Russia',
itemList: [
'Russia',
'Usa',
'China',
],
},
],
},
{
type: FieldType.Paper,
fields: [
{
type: FieldType.Component,
element: () => (
STREAMING SETTINGS
Regulates performance and traffic consumption. Actual performance
depends on network connection and system. This parameter will be
applied the next time you...
),
},
{
type: FieldType.Radio,
radioValue: 'auto',
fieldRightMargin: "1",
phoneColumns: '6',
tabletColumns: '2',
name: 'streamingType',
defaultValue: 'auto',
title: 'Auto',
},
{
type: FieldType.Radio,
radioValue: 'fps',
fieldRightMargin: "1",
phoneColumns: '6',
tabletColumns: '2',
name: 'streamingType',
title: 'Fps',
},
{
type: FieldType.Radio,
radioValue: 'quality',
fieldRightMargin: "1",
phoneColumns: '6',
tabletColumns: '2',
name: 'streamingType',
title: 'Quality',
},
],
},
],
},
]
},
];