Material UI

This commit is contained in:
2022-03-14 00:29:29 +03:00
parent 6ce512cac4
commit beb5ff052f
3 changed files with 1553 additions and 128 deletions

1615
app/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,11 @@
"start": "next start"
},
"dependencies": {
"@emotion/react": "^11.8.2",
"@emotion/styled": "^11.8.1",
"@mui/icons-material": "^5.5.0",
"@mui/material": "^5.5.0",
"@mui/x-data-grid": "^5.6.1",
"next": "latest",
"react": "^17.0.2",
"react-dom": "^17.0.2",

View File

@@ -1,25 +1,56 @@
import React from 'react'
import ItemRow from './ItemRow'
import { Component } from 'react'
import { DataGrid } from '@mui/x-data-grid'
import { Link } from '@mui/material'
export default class Table extends React.Component {
export default class Table extends Component {
constructor ({ scanResults }) {
super()
this.scanResults = scanResults
this.scanResults = scanResults.map(row => ({
...row,
id: row._id,
difference: row.setPrice - row.partsPrice
}))
this.columns = [
{
field: 'name',
headerName: 'Name',
flex: 1,
renderCell: (cellValues) => {
return <Link href={`#${cellValues.row.url}`}>{cellValues.row.name}</Link>
}
},
{
field: 'partsPrice',
headerName: 'Parts Price',
flex: 1
},
{
field: 'setPrice',
headerName: 'Set Price',
flex: 1
},
{
field: 'difference',
headerName: 'Difference',
flex: 1
}
]
}
render () {
return (
<table>
<thead />
<tbody>
{this.scanResults.map((scanResult) =>
<ItemRow
key={scanResult._id}
scanResult={scanResult}
<div style={{ height: '90vh', width: '100%' }}>
<DataGrid
rows={this.scanResults}
columns={this.columns}
autoPageSize
initialState={{
sorting: {
sortModel: [{ field: 'difference', sort: 'desc' }]
}
}}
/>
)}
</tbody>
</table>
</div>
)
}
}