87 lines
2.7 KiB
TypeScript
Raw Normal View History

2025-09-09 15:42:05 +07:00
'use client'
import Grid from '@mui/material/Grid2'
import { TextField, Typography, useTheme } from '@mui/material'
import { useState } from 'react'
import { formatDateDDMMYYYY, formatForInputDate } from '@/utils/transform'
import SalesOverviewRight from '@/views/apps/sales/overview/overview-right'
import SalesOverviewLeft from '@/views/apps/sales/overview/overview-left'
const SalesOverviewPage = () => {
const theme = useTheme()
const today = new Date()
const monthAgo = new Date()
monthAgo.setDate(today.getDate() - 30)
const [filter, setFilter] = useState({
date_from: formatDateDDMMYYYY(monthAgo),
date_to: formatDateDDMMYYYY(today)
})
return (
<>
<Grid container spacing={6}>
<Grid size={{ xs: 12 }}>
<div className='flex gap-4 items-center justify-between'>
<Typography variant='h1' className='text-3xl font-bold text-gray-900 mb-2'>
2025-09-09 16:17:25 +07:00
Overview Penjualan
2025-09-09 15:42:05 +07:00
</Typography>
<div className='flex items-center gap-4'>
<TextField
type='date'
value={formatForInputDate(today || new Date())}
onChange={e => {
setFilter({
...filter,
date_from: formatDateDDMMYYYY(new Date(e.target.value))
})
}}
size='small'
sx={{
'& .MuiOutlinedInput-root': {
'&.Mui-focused fieldset': {
borderColor: 'primary.main'
},
'& fieldset': {
borderColor: theme.palette.mode === 'dark' ? 'rgba(231, 227, 252, 0.22)' : theme.palette.divider
}
}
}}
/>
<Typography>-</Typography>
<TextField
type='date'
value={today}
onChange={e => {}}
size='small'
sx={{
'& .MuiOutlinedInput-root': {
'&.Mui-focused fieldset': {
borderColor: 'primary.main'
},
'& fieldset': {
borderColor: theme.palette.mode === 'dark' ? 'rgba(231, 227, 252, 0.22)' : theme.palette.divider
}
}
}}
/>
</div>
</div>
</Grid>
</Grid>
<Grid container spacing={6} className='mt-5'>
<Grid size={{ xs: 12, lg: 8, md: 7 }}>
<SalesOverviewRight />
</Grid>
<Grid size={{ xs: 12, lg: 4, md: 5 }}>
<SalesOverviewLeft />
</Grid>
</Grid>
</>
)
}
export default SalesOverviewPage