diff options
author | Mo Tarbin <mhed.t91@gmail.com> | 2024-07-04 02:00:20 -0400 |
---|---|---|
committer | Mo Tarbin <mhed.t91@gmail.com> | 2024-07-04 02:00:20 -0400 |
commit | 71bad5a19f8aea358b3f21dde4f69fd53a870184 (patch) | |
tree | 6d85d8bff7f4b69e03725dd789dfb5346be636f9 /src | |
parent | c5ee02d1813c8532d4e05ceb0e4459fe1b19bf91 (diff) | |
download | donetick-frontend-71bad5a19f8aea358b3f21dde4f69fd53a870184.tar.gz donetick-frontend-71bad5a19f8aea358b3f21dde4f69fd53a870184.tar.bz2 donetick-frontend-71bad5a19f8aea358b3f21dde4f69fd53a870184.zip |
chore: Refactor ThingsHistory component and add styling improvements
Diffstat (limited to 'src')
-rw-r--r-- | src/Config.js | 5 | ||||
-rw-r--r-- | src/views/Things/ThingsHistory.jsx | 84 | ||||
-rw-r--r-- | src/views/Things/ThingsView.jsx | 17 |
3 files changed, 59 insertions, 47 deletions
diff --git a/src/Config.js b/src/Config.js index b99597e..14bf4dc 100644 --- a/src/Config.js +++ b/src/Config.js @@ -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 diff --git a/src/views/Things/ThingsHistory.jsx b/src/views/Things/ThingsHistory.jsx index 4b32b0e..c043a55 100644 --- a/src/views/Things/ThingsHistory.jsx +++ b/src/views/Things/ThingsHistory.jsx @@ -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={{ diff --git a/src/views/Things/ThingsView.jsx b/src/views/Things/ThingsView.jsx index 8b2beb6..69b3a88 100644 --- a/src/views/Things/ThingsView.jsx +++ b/src/views/Things/ThingsView.jsx @@ -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> ) |