chore: Refactor ThingsHistory component and add styling improvements
This commit is contained in:
parent
c5ee02d181
commit
71bad5a19f
3 changed files with 59 additions and 47 deletions
|
@ -1,5 +1,8 @@
|
|||
/* eslint-env node */
|
||||
export const API_URL = import.meta.env.VITE_APP_API_URL // || 'http://localhost:2021'
|
||||
export const API_URL =
|
||||
import.meta.env.VITE_APP_API_URL === 'AUTO'
|
||||
? `${window.location.hostname}/api`
|
||||
: import.meta.env.VITE_APP_API_URL
|
||||
export const REDIRECT_URL = import.meta.env.VITE_APP_REDIRECT_URL //|| 'http://localhost:3000'
|
||||
export const GOOGLE_CLIENT_ID = import.meta.env.VITE_APP_GOOGLE_CLIENT_ID
|
||||
export const ENVIROMENT = import.meta.env.VITE_APP_ENVIROMENT
|
||||
|
|
|
@ -107,47 +107,49 @@ const ThingsHistory = () => {
|
|||
<Typography level='h3' mb={1.5}>
|
||||
History:
|
||||
</Typography>
|
||||
<List sx={{ p: 0 }}>
|
||||
{thingsHistory.map((history, index) => (
|
||||
<>
|
||||
<ListItem sx={{ gap: 1.5, alignItems: 'flex-start' }}>
|
||||
<ListItemContent sx={{ my: 0 }}>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'flex',
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'center',
|
||||
}}
|
||||
>
|
||||
<Typography level='body1' sx={{ fontWeight: 'md' }}>
|
||||
{moment(history.updatedAt).format(
|
||||
'ddd MM/DD/yyyy HH:mm:ss',
|
||||
)}
|
||||
</Typography>
|
||||
<Chip>{history.state === '1' ? 'Active' : 'Inactive'}</Chip>
|
||||
</Box>
|
||||
</ListItemContent>
|
||||
</ListItem>
|
||||
{index < thingsHistory.length - 1 && (
|
||||
<>
|
||||
<ListDivider component='li'>
|
||||
{/* time between two completion: */}
|
||||
{index < thingsHistory.length - 1 &&
|
||||
thingsHistory[index + 1].createdAt && (
|
||||
<Typography level='body3' color='text.tertiary'>
|
||||
{formatTimeDifference(
|
||||
history.createdAt,
|
||||
thingsHistory[index + 1].createdAt,
|
||||
)}{' '}
|
||||
before
|
||||
</Typography>
|
||||
)}
|
||||
</ListDivider>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
))}
|
||||
</List>
|
||||
<Box sx={{ borderRadius: 'sm', p: 2, boxShadow: 'md' }}>
|
||||
<List sx={{ p: 0 }}>
|
||||
{thingsHistory.map((history, index) => (
|
||||
<>
|
||||
<ListItem sx={{ gap: 1.5, alignItems: 'flex-start' }}>
|
||||
<ListItemContent sx={{ my: 0 }}>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'flex',
|
||||
justifyContent: 'space-between',
|
||||
alignItems: 'center',
|
||||
}}
|
||||
>
|
||||
<Typography level='body1' sx={{ fontWeight: 'md' }}>
|
||||
{moment(history.updatedAt).format(
|
||||
'ddd MM/DD/yyyy HH:mm:ss',
|
||||
)}
|
||||
</Typography>
|
||||
<Chip>{history.state === '1' ? 'Active' : 'Inactive'}</Chip>
|
||||
</Box>
|
||||
</ListItemContent>
|
||||
</ListItem>
|
||||
{index < thingsHistory.length - 1 && (
|
||||
<>
|
||||
<ListDivider component='li'>
|
||||
{/* time between two completion: */}
|
||||
{index < thingsHistory.length - 1 &&
|
||||
thingsHistory[index + 1].createdAt && (
|
||||
<Typography level='body3' color='text.tertiary'>
|
||||
{formatTimeDifference(
|
||||
history.createdAt,
|
||||
thingsHistory[index + 1].createdAt,
|
||||
)}{' '}
|
||||
before
|
||||
</Typography>
|
||||
)}
|
||||
</ListDivider>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
))}
|
||||
</List>
|
||||
</Box>
|
||||
{/* Load more Button */}
|
||||
<Box
|
||||
sx={{
|
||||
|
|
|
@ -190,7 +190,8 @@ const ThingsView = () => {
|
|||
const [confirmModelConfig, setConfirmModelConfig] = useState({})
|
||||
|
||||
const [isSnackbarOpen, setIsSnackbarOpen] = useState(false)
|
||||
const [snackBarMessage, setSnackBarMessage] = useState('')
|
||||
const [snackbarMessage, setSnackbarMessage] = useState('')
|
||||
const [snackbarColor, setSnackbarColor] = useState('success')
|
||||
|
||||
useEffect(() => {
|
||||
// fetch things
|
||||
|
@ -222,7 +223,8 @@ const ThingsView = () => {
|
|||
}
|
||||
})
|
||||
})
|
||||
setSnackBarMessage('Thing saved successfully')
|
||||
setSnackbarMessage('Thing saved successfully')
|
||||
setSnackbarColor('success')
|
||||
setIsSnackbarOpen(true)
|
||||
}
|
||||
const handleEditClick = thing => {
|
||||
|
@ -246,7 +248,12 @@ const ThingsView = () => {
|
|||
)
|
||||
currentThings.splice(thingIndex, 1)
|
||||
setThings(currentThings)
|
||||
} else if (response.status === 405) {
|
||||
setSnackbarMessage('Unable to delete thing with associated tasks')
|
||||
setSnackbarColor('danger')
|
||||
setIsSnackbarOpen(true)
|
||||
}
|
||||
// if method not allwo show snackbar:
|
||||
})
|
||||
}
|
||||
setConfirmModelConfig({})
|
||||
|
@ -280,7 +287,7 @@ const ThingsView = () => {
|
|||
})
|
||||
})
|
||||
}
|
||||
setSnackBarMessage('Thing state updated successfully')
|
||||
setSnackbarMessage('Thing state updated successfully')
|
||||
setIsSnackbarOpen(true)
|
||||
}
|
||||
|
||||
|
@ -366,11 +373,11 @@ const ThingsView = () => {
|
|||
}}
|
||||
autoHideDuration={3000}
|
||||
variant='soft'
|
||||
color='success'
|
||||
color={snackbarColor}
|
||||
size='lg'
|
||||
invertedColors
|
||||
>
|
||||
<Typography level='title-md'>{snackBarMessage}</Typography>
|
||||
<Typography level='title-md'>{snackbarMessage}</Typography>
|
||||
</Snackbar>
|
||||
</Container>
|
||||
)
|
||||
|
|
Loading…
Add table
Reference in a new issue