amp-workflow-ui 0.1.1 โ†’ 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/context.tsx","../src/ui/Statusselector.tsx","../src/ui/dialogs/SendBackDialog.tsx","../src/ui/dialogs/ApproveDialog.tsx","../src/ui/dialogs/RejectDialog.tsx","../src/ui/dialogs/OnHoldDialog.tsx","../src/ui/ApprovalWorkflow.tsx","../src/ui/DialogOpener.tsx","../src/index.tsx"],"names":["jsx","useState","error","jsxs","Box","Button","toast","Dialog","DialogTitle","IconButton","HighlightOffIcon","DialogContent","Grid","TextField","DialogActions","CircularProgress","useTheme","useMediaQuery","useEffect","MenuItem","Typography","React","_a","Fragment","_b","DialogOpener","ApprovalWorkflow"],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { createContext, useContext } from 'react'\nimport type { WorkflowContextValue } from './types'\n\nconst WorkflowContext = createContext<WorkflowContextValue | null>(null)\n\nexport function WorkflowProvider({\n value,\n children\n}: {\n value: WorkflowContextValue\n children: React.ReactNode\n}) {\n return <WorkflowContext.Provider value={value}>{children}</WorkflowContext.Provider>\n}\n\nexport function useWorkflowContext(): WorkflowContextValue {\n const ctx = useContext(WorkflowContext)\n if (!ctx) {\n throw new Error('useWorkflowContext must be used within WorkflowProvider')\n }\n return ctx\n}\n\n\n","import React, { useState } from 'react'\nimport { Menu, MenuItem, Button } from '@mui/material'\n\ninterface ActionMenuProps {\n onSendBack: () => void\n onApprove: () => void\n onReject: () => void\n onHold: () => void\n statusList: Array<{ id: number; name: string; status?: number }>\n}\n\nconst ActionMenu: React.FC<ActionMenuProps> = ({\n onSendBack,\n onApprove,\n onReject,\n onHold,\n statusList\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n\n const handleActionClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleClose = () => setAnchorEl(null)\n\n return (\n <>\n <Button variant=\"contained\" color=\"primary\" onClick={handleActionClick}>\n Apply Action\n </Button>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose} MenuListProps={{ 'aria-labelledby': 'basic-button' }}>\n <MenuItem\n onClick={() => {\n onSendBack()\n handleClose()\n }}\n >\n Send Back\n </MenuItem>\n {statusList.map((list: any) => (\n <MenuItem\n key={list.id}\n onClick={() => {\n if (list.status === 1) onApprove()\n else if (list.status === 2) onHold()\n else if (list.status === 3) onReject()\n handleClose()\n }}\n >\n {list.name}\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n}\n\nexport default ActionMenu\n\n\n","import React, { useRef, useState } from 'react'\nimport Dialog from '@mui/material/Dialog'\nimport DialogContent from '@mui/material/DialogContent'\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n InputAdornment,\n TextField,\n CircularProgress,\n IconButton\n} from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport toast from 'react-hot-toast'\nimport { useWorkflowContext } from '../../context'\n\ntype Props = {\n openModal: boolean\n closeModal?: () => void\n header?: string\n workflowLogId: string\n}\n\nfunction SendBackDialog({ openModal, closeModal, header, workflowLogId }: Props) {\n const { userInfo, api } = useWorkflowContext()\n const [comment, setComment] = useState('')\n const [selectedFile, setSelectedFile] = useState<string | null>(null)\n const [fileName, setFileName] = useState<string>('')\n const [error, setError] = useState<{ comment?: string; file?: string }>({})\n const [loading, setLoading] = useState(false)\n const [fileLoading, setFileLoading] = useState(false)\n const fileInputRef = useRef<HTMLInputElement | null>(null)\n\n const handleAttachment = () => fileInputRef.current?.click()\n\n const handleUpload = async (file: File) => {\n setFileLoading(true)\n const formData = new FormData()\n formData.append('file', file)\n try {\n const response = await api.post('/workflow/upload-document', formData, {\n headers: { 'Content-Type': 'multipart/form-data' }\n })\n setFileName(response.data.file)\n setSelectedFile(response.data.file)\n } catch (error) {\n toast.error('File upload failed')\n } finally {\n setFileLoading(false)\n }\n }\n\n const handleFileChange = async (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.files && event.target.files.length > 0) {\n const file = event.target.files[0]\n await handleUpload(file)\n setError(prev => ({ ...prev, file: '' }))\n } else {\n setSelectedFile(null)\n setFileName('')\n }\n }\n\n const validateFields = () => {\n let isValid = true\n const errors = { comment: '', file: '' }\n if (!comment) {\n errors.comment = 'Please enter a comment'\n isValid = false\n }\n setError(errors)\n return isValid\n }\n\n const onSubmit = async () => {\n if (!validateFields()) return\n setLoading(true)\n try {\n const res = await api.post(`/workflow/send-back/${workflowLogId}`, {\n comment,\n file: selectedFile,\n created_by: userInfo?.userInfo?.id\n })\n if (res?.status === 200) toast.success('Successfully sent back!')\n if ((res as any)?.error?.message) {\n toast.error((res as any)?.error?.message, { duration: 2000 })\n }\n closeModal && closeModal()\n } catch {\n toast.error('Opps! something went wrong.')\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Dialog open={openModal} onClose={closeModal} aria-labelledby=\"responsive-dialog-title\" sx={{ '& .MuiPaper-root.MuiDialog-paper': { width: '550px' } }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={e => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n <Grid item xs={12}>\n <TextField\n type=\"text\"\n fullWidth\n label=\"Attachment\"\n placeholder=\"Attachment\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <span className=\"icon-export-1\"></span>\n </InputAdornment>\n )\n }}\n onClick={handleAttachment}\n value={fileName}\n error={!!error.file}\n helperText={error.file}\n />\n <input type=\"file\" ref={fileInputRef} style={{ display: 'none' }} onChange={handleFileChange} />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>\n <Button onClick={closeModal} size=\"large\" variant=\"outlined\" color=\"primary\" sx={{ mr: 2 }}>\n Close\n </Button>\n <Button onClick={onSubmit} size=\"large\" variant=\"contained\" color=\"primary\" disabled={loading || fileLoading}>\n {loading ? <CircularProgress size={24} color=\"inherit\" /> : 'Submit'}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default SendBackDialog\n\n\n","import React, { useEffect, useState } from 'react'\nimport Dialog from '@mui/material/Dialog'\nimport DialogContent from '@mui/material/DialogContent'\nimport { Box, Button, DialogActions, DialogTitle, Grid, TextField, CircularProgress, IconButton } from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport toast from 'react-hot-toast'\nimport { useWorkflowContext } from '../../context'\n\ntype Props = {\n openModal: boolean\n closeModal?: () => void\n header?: string\n workflowLogId: string\n statusId: string\n}\n\nfunction ApproveDialog({ openModal, closeModal, header, workflowLogId, statusId }: Props) {\n const { userInfo, api } = useWorkflowContext()\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const [comment, setComment] = useState('')\n const [error, setError] = useState<{ comment?: string }>({})\n const [loading, setLoading] = useState(false)\n\n const validateFields = () => {\n let isValid = true\n const newError: { comment?: string } = {}\n if (!comment) {\n newError.comment = 'Please provide a comment'\n isValid = false\n }\n setError(newError)\n return isValid\n }\n\n const onSubmit = async () => {\n if (!validateFields()) return\n setLoading(true)\n try {\n await api.post(`/workflow/update-status/${workflowLogId}/${statusId}`, {\n comment,\n created_by: userInfo?.userInfo?.id\n })\n toast.success('approved successfully!!!')\n closeModal && closeModal()\n } catch {\n toast.error('something unexpected occured!!!')\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Dialog open={openModal} onClose={closeModal} aria-labelledby=\"responsive-dialog-title\" sx={{ '& .MuiPaper-root.MuiDialog-paper': { width: '550px' } }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField fullWidth label=\"Comment\" value={comment} placeholder=\"Comment Here\" onChange={e => setComment(e.target.value)} required error={!!error.comment} helperText={error.comment} />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>\n <Button onClick={closeModal} size=\"large\" variant=\"outlined\" color=\"primary\" sx={{ mr: 2 }}>\n Close\n </Button>\n <Button onClick={onSubmit} size=\"large\" variant=\"contained\" color=\"primary\" disabled={loading}>\n {loading ? <CircularProgress size={24} color=\"inherit\" /> : 'Submit'}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default ApproveDialog\n\n\n","import React, { useEffect, useState } from 'react'\nimport Dialog from '@mui/material/Dialog'\nimport DialogContent from '@mui/material/DialogContent'\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n FormControl,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n Typography,\n CircularProgress,\n IconButton\n} from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport { useWorkflowContext } from '../../context'\n\ntype Props = {\n openModal: boolean\n closeModal?: () => void\n header?: string\n workflowLogId: string\n statusId: string\n rejection_reason_master: string\n}\n\nfunction RejectDialog({ openModal, closeModal, header, workflowLogId, statusId, rejection_reason_master }: Props) {\n const { userInfo, api } = useWorkflowContext()\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const DownArrow = () => <span style={{ color: theme.palette.customColors?.mainText || '#333' }} className=\"icon-arrow-down-1\"></span>\n\n const [rejectReasons, setRejectReasons] = useState<string>('')\n const [comment, setComment] = useState('')\n const [error, setError] = useState({ reason: '', comment: '' })\n const [statusApplicableList, setStatusApplicableList] = useState<any>([])\n const [loading, setLoading] = useState(false)\n\n useEffect(() => {\n ;(async () => {\n try {\n if (!statusApplicableList.length) {\n const res = await api.get(`/workflow/applicableStatuses?type=${rejection_reason_master}`)\n setStatusApplicableList(res?.data?.data || [])\n }\n } catch (e) {\n // noop\n }\n })()\n }, [])\n\n const validateFields = () => {\n let isValid = true\n const errors = { reason: '', comment: '' }\n if (!rejectReasons) {\n errors.reason = 'Please select a reject reason'\n isValid = false\n }\n if (!comment) {\n errors.comment = 'Please enter a comment'\n isValid = false\n }\n setError(errors)\n return isValid\n }\n\n const onSubmit = async () => {\n if (!validateFields()) return\n setLoading(true)\n try {\n await api.post(`/workflow/update-status/${workflowLogId}/${statusId}`, {\n reason: rejectReasons,\n comment,\n created_by: userInfo?.userInfo?.id\n })\n closeModal && closeModal()\n } catch (e) {\n // noop\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Dialog open={openModal} onClose={closeModal} aria-labelledby=\"responsive-dialog-title\" sx={{ '& .MuiPaper-root.MuiDialog-paper': { width: '550px' } }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <FormControl fullWidth required error={!!error.reason}>\n <InputLabel required id=\"reject-reason-label\">\n Reject Reasons\n </InputLabel>\n <Select IconComponent={DownArrow as any} label=\"Reject Reasons\" value={rejectReasons} id=\"reject-reason\" labelId=\"reject-reason-label\" onChange={e => setRejectReasons(e.target.value as string)}>\n {statusApplicableList?.map((reason_: any) => (\n <MenuItem key={reason_?.id} value={reason_?.id}>\n {reason_?.name}\n </MenuItem>\n ))}\n </Select>\n {error.reason && (\n <Typography variant=\"caption\" color=\"error\">\n {error.reason}\n </Typography>\n )}\n </FormControl>\n </Grid>\n <Grid item xs={12}>\n <TextField fullWidth label=\"Comment\" value={comment} placeholder=\"Comment Here\" onChange={e => setComment(e.target.value)} required error={!!error.comment} helperText={error.comment} />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>\n <Button onClick={closeModal} size=\"large\" variant=\"outlined\" color=\"primary\" sx={{ mr: 2 }}>\n Close\n </Button>\n <Button onClick={onSubmit} size=\"large\" variant=\"contained\" color=\"primary\" disabled={loading}>\n {loading ? <CircularProgress size={24} color=\"inherit\" /> : 'Submit'}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default RejectDialog\n\n\n","import React, { useEffect, useState } from 'react'\nimport Dialog from '@mui/material/Dialog'\nimport DialogContent from '@mui/material/DialogContent'\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n TextField,\n Typography,\n CircularProgress,\n IconButton\n} from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport toast from 'react-hot-toast'\nimport { useWorkflowContext } from '../../context'\n\ntype Props = {\n openModal: boolean\n closeModal?: () => void\n header?: string\n workflowLogId: string\n statusId: string\n}\n\nfunction OnHoldDialog({ openModal, closeModal, header, workflowLogId, statusId }: Props) {\n const { userInfo, api } = useWorkflowContext()\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const [comment, setComment] = useState('')\n const [error, setError] = useState({ comment: '' })\n const [loading, setLoading] = useState(false)\n\n const validateFields = () => {\n let isValid = true\n const errors = { comment: '' }\n if (!comment) {\n errors.comment = 'Please enter a comment'\n isValid = false\n }\n setError(errors)\n return isValid\n }\n\n const onSubmit = async () => {\n if (!validateFields()) return\n setLoading(true)\n try {\n await api.post(`/workflow/update-status/${workflowLogId}/${statusId}`, {\n comment,\n created_by: userInfo?.userInfo?.id\n })\n closeModal && closeModal()\n } catch {\n toast.error('Failed to submit the form')\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Dialog open={openModal} onClose={closeModal} aria-labelledby=\"responsive-dialog-title\" sx={{ '& .MuiPaper-root.MuiDialog-paper': { width: '550px' } }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField fullWidth label=\"Comment\" value={comment} placeholder=\"Comment Here\" onChange={e => setComment(e.target.value)} required error={!!error.comment} helperText={error.comment} />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>\n <Button onClick={closeModal} size=\"large\" variant=\"outlined\" color=\"primary\" sx={{ mr: 2 }}>\n Close\n </Button>\n <Button onClick={onSubmit} size=\"large\" variant=\"contained\" color=\"primary\" disabled={loading}>\n {loading ? <CircularProgress size={24} color=\"inherit\" /> : 'Submit'}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default OnHoldDialog\n\n\n","import {\n Button,\n Card,\n CardContent,\n Chip,\n CircularProgress,\n Divider,\n Grid,\n IconButton,\n Tooltip,\n Typography,\n styled,\n useTheme\n} from '@mui/material'\nimport { Box } from '@mui/system'\nimport React, { useEffect, useState } from 'react'\nimport moment from 'moment'\nimport { useWorkflowContext } from '../context'\nimport type { ApprovalWorkflowProps } from '../types'\nimport ActionMenu from './Statusselector'\nimport SendBackDialog from './dialogs/SendBackDialog'\nimport ApproveDialog from './dialogs/ApproveDialog'\nimport RejectDialog from './dialogs/RejectDialog'\nimport OnHoldDialog from './dialogs/OnHoldDialog'\n\nconst StyledChipProps = styled(Chip)(({ theme }) => ({\n '&.MuiChip-colorPrimary': {\n border: `1px solid ${theme.palette.primary.dark}`,\n borderRadius: '8px',\n height: '36px',\n padding: '6px 4px',\n background: `${theme.palette.customColors?.customChipBackgroundColor ?? 'rgba(25,118,210,0.1)'}`,\n color: `${theme.palette.customColors?.customChipColor ?? theme.palette.primary.dark}`,\n width: '170px',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n '&.MuiChip-colorDefault': {\n border: `1px solid ${theme.palette.grey[300]} !important`,\n borderRadius: '8px',\n height: '36px',\n padding: '6px 4px',\n background: 'none !important',\n color: `${(theme as any).palette?.customColors?.mainText ?? theme.palette.text.primary} `,\n width: '170px',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }\n}))\n\nconst TruncatedTypography = styled(Typography)(({ theme }) => ({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n width: '200px',\n [theme.breakpoints.down('sm')]: {\n width: '80px'\n }\n}))\n\nexport function ApprovalWorkflow({\n selectedWorkflowsList = [],\n userInfo\n}: ApprovalWorkflowProps) {\n const theme = useTheme()\n const { api, urlBuilder, loadingComponent } = useWorkflowContext()\n\n const [selectedApprovalOtions, setSelectedApprovalOtions] = useState<string>(\n selectedWorkflowsList.length ? 'selected' : 'Action Required'\n )\n const [expandedId, setExpandedId] = useState<string | null>(null)\n const [sendDialog, setSendDialog] = React.useState<string | null>(null)\n const [approveTarget, setApproveTarget] = React.useState<{ id: string; statusId: string } | null>(null)\n const [rejectTarget, setRejectTarget] = React.useState<{ id: string; statusId: string } | null>(null)\n const [onHoldTarget, setOnHoldTarget] = React.useState<{ id: string; statusId: string } | null>(null)\n const [expandedDetails, setExpandedDetails] = useState<any>([])\n const [statusCount, setStatusCount] = useState<any>({})\n const [urlConfig, setUrlConfig] = useState<any>({})\n const [allRequestArray, setAllRequestArray] = useState<any>([])\n const [pendingRequestArray, setPendingRequestArray] = useState<any>([])\n const [selectedRequestArray, setSelectedRequestArray] = useState<any>([])\n const [isLoading, setIsLoading] = useState<boolean>(false)\n\n const handleProfileToggle = (option: string) => {\n setSelectedApprovalOtions(option)\n if (option === 'Action Required') fetchPendingActivities()\n if (option === 'All Requests') fetchAllActivites()\n if (option === 'selected') fetchSelectedActivites()\n }\n\n const handleExpandClick = (id: string) => {\n setExpandedId(prevId => (prevId === id ? null : id))\n fetchExpandedActivityLogs(id)\n }\n\n const getStatus = (status: string) => {\n switch (status) {\n case 'approved':\n return {\n title: 'Approved',\n color: theme.palette.success.light,\n labelColor: theme.palette.success.main\n }\n case 'rejected':\n return {\n title: 'Rejected',\n color: (theme as any).palette?.customColors?.chipWarningContainer ?? theme.palette.error.light,\n labelColor: theme.palette.error.main\n }\n case 'onhold':\n return {\n title: 'On Hold',\n color: (theme as any).palette?.customColors?.chipPendingContainer ?? theme.palette.warning.light,\n labelColor: (theme as any).palette?.customColors?.chipPendingText ?? theme.palette.warning.main\n }\n case 'pending':\n default:\n return {\n title: 'Pending',\n color: (theme as any).palette?.customColors?.approvalPrimaryChipBG ?? theme.palette.info.light,\n labelColor: (theme as any).palette?.customColors?.approvalPrimaryChipText ?? theme.palette.info.main\n }\n }\n }\n\n const approvalChipLabel = [\n { label: 'Action Required', icon: <span className=\"icon-document-forward\"></span>, count: statusCount?.pending_activities_count || '' },\n { label: 'All Requests', icon: <span className=\"icon-document-copy\"></span>, count: statusCount?.total_activities_count || '' }\n ]\n\n const fetchExpandedActivityLogs = (workflowLogId: string) => {\n setExpandedDetails([])\n api\n .get({ url: `/workflow/workflow-activity-logs/${workflowLogId}`, serviceURL: 'api' })\n .then(res => setExpandedDetails(res?.data))\n }\n\n const fetchPendingActivities = () => {\n setIsLoading(true)\n api\n .get({ url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false&type=pending`, serviceURL: 'api' })\n .then(res => setPendingRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false))\n }\n\n const fetchAllActivites = () => {\n setIsLoading(true)\n api\n .get({ url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false`, serviceURL: 'api' })\n .then(res => setAllRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false))\n }\n\n const fetchSelectedActivites = () => {\n setIsLoading(true)\n api\n .post({ url: `/workflow/bulk-details`, serviceURL: 'api', data: { workflowIds: selectedWorkflowsList } })\n .then(res => setSelectedRequestArray(res?.data))\n .finally(() => setIsLoading(false))\n }\n\n const fetchStatusCount = () => {\n api.get({ url: `/workflow/status-count/${userInfo?.userInfo?.id}`, serviceURL: 'api' }).then(res => {\n setStatusCount(res?.data?.[0])\n })\n }\n\n useEffect(() => {\n if (!sendDialog && !approveTarget && !onHoldTarget && !rejectTarget) {\n fetchAllActivites()\n fetchStatusCount()\n fetchPendingActivities()\n setExpandedDetails([])\n setExpandedId(null)\n }\n }, [sendDialog, approveTarget, onHoldTarget, rejectTarget, userInfo])\n\n useEffect(() => {\n api.get({ url: `/workflow/url-config`, serviceURL: 'api' }).then(res => {\n const data = res?.data || []\n const map = data.reduce((acc: any, { module_name, ...details }: any) => {\n acc[module_name] = details\n return acc\n }, {})\n setUrlConfig(map)\n })\n }, [])\n\n useEffect(() => {\n if (selectedWorkflowsList.length && !selectedRequestArray.length) {\n fetchSelectedActivites()\n }\n }, [selectedWorkflowsList])\n\n const buildRedirectionUrl = (info: any) => {\n if (info?.redirection_link) return info.redirection_link\n if (urlBuilder) return urlBuilder(info?.module_name, info?.module_id, urlConfig, info?.reference_id)\n // fallback simple URL builder\n const ref = urlConfig?.[info?.module_name]\n if (ref?.base_url && ref?.sub_url) {\n const qs = new URLSearchParams()\n if (info?.reference_id) qs.set('reference_id', String(info?.reference_id))\n if (info?.module_name) qs.set('module_name', String(info?.module_name))\n return `${ref.base_url}${ref.sub_url}${qs.toString() ? `?${qs.toString()}` : ''}`\n }\n return '#'\n }\n\n if (isLoading && loadingComponent) return <>{loadingComponent}</>\n\n return (\n <>\n <Box sx={{ display: 'flex', justifyContent: 'center', flexWrap: 'nowrap' }}>\n <Box sx={{ width: '100%', height: '100%' }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Box sx={{ mt: 2, mb: 2 }}>\n {selectedWorkflowsList?.length ? (\n <Tooltip title=\"Selected Workflows\">\n <StyledChipProps\n label={'Selected'}\n icon={<span className=\"icon-eye\"></span>}\n color={selectedApprovalOtions?.includes('selected') ? 'primary' : 'default'}\n variant=\"filled\"\n sx={{ mr: 4, mb: 4, '& .MuiChip-icon': { fontSize: '18px !important' } }}\n onClick={() => handleProfileToggle('selected')}\n />\n </Tooltip>\n ) : (\n ''\n )}\n\n {approvalChipLabel.map(({ label, icon, count }, index) => (\n <Tooltip key={index} title={`${count} ${label}`}>\n <StyledChipProps\n label={`${count} ${label}`}\n icon={icon}\n color={selectedApprovalOtions?.includes(label) ? 'primary' : 'default'}\n variant=\"filled\"\n sx={{ mr: 4, mb: 4, '& .MuiChip-icon': { fontSize: '18px !important' } }}\n onClick={() => handleProfileToggle(label)}\n />\n </Tooltip>\n ))}\n </Box>\n </Box>\n\n {/* Selected */}\n {selectedApprovalOtions === 'selected' && (\n <Box className=\"fixedModal\" sx={{ overflowY: 'auto', height: 'calc(100vh - 180px)' }}>\n {selectedRequestArray &&\n selectedRequestArray.map((info: any, index: number) => {\n const currentLevel = info?.levels.find((level_: any) => level_.id === info?.current_level)\n const statusList = currentLevel ? currentLevel.status_list : []\n const statusByNum = (statusList || []).reduce((acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s\n return acc\n }, {} as any)\n const redir = buildRedirectionUrl(info)\n return (\n <React.Fragment key={index}>\n <Card\n sx={{\n mb: 8,\n '&.MuiCard-root.MuiPaper-elevation': {\n boxShadow: '2px 2px 10px 0px #4C4E6426',\n padding: '20px',\n borderRadius: '10px'\n }\n }}\n >\n <CardContent sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Box>\n <Tooltip title={info.activityInstruction}>\n <TruncatedTypography variant=\"h6\" color={'text.primary'} sx={{ textTransform: 'capitalize', lineHeight: '22px' }}>\n {info.activity_name}\n </TruncatedTypography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <TruncatedTypography\n variant=\"body2\"\n color={'customColors.mainText' as any}\n sx={{ mt: '13px', textTransform: 'capitalize', lineHeight: '15.4px' }}\n >\n {info.description_data}\n </TruncatedTypography>\n </Tooltip>\n </Box>\n <Box>\n <Tooltip title=\"Links\">\n <TruncatedTypography\n variant=\"caption\"\n color={'customColors.text3' as any}\n sx={{ textTransform: 'capitalize', lineHeight: '13.2px' }}\n >\n Links\n </TruncatedTypography>\n </Tooltip>\n <Tooltip title={redir}>\n <a href={redir} style={{ cursor: 'pointer', textDecoration: 'none' }} target=\"_blank\" rel=\"noreferrer\">\n <TruncatedTypography\n variant=\"subtitle2\"\n color={'primary.dark'}\n sx={{ mt: '13px', lineHeight: '15.4px' }}\n >\n {redir}\n </TruncatedTypography>\n </a>\n </Tooltip>\n </Box>\n <Box>\n <Tooltip title=\"Attachments\">\n <TruncatedTypography\n variant=\"caption\"\n color={'customColors.text3' as any}\n sx={{ textTransform: 'capitalize', lineHeight: '13.2px' }}\n >\n Attachments\n </TruncatedTypography>\n </Tooltip>\n {info?.attachment_links?.length ? (\n info?.attachment_links.map((link: string, idx: number) => (\n <Tooltip title={`Attachment ${idx + 1}`} key={idx}>\n <a href={link} style={{ cursor: 'pointer', textDecoration: 'none' }} target=\"_blank\" rel=\"noreferrer\">\n <TruncatedTypography\n variant=\"subtitle2\"\n color={'primary.dark'}\n sx={{ mt: '13px', textTransform: 'capitalize', lineHeight: '15.4px' }}\n >\n {link || 'N/A'}\n </TruncatedTypography>\n </a>\n </Tooltip>\n ))\n ) : (\n <Box sx={{ display: 'flex', mt: 2, justifyContent: 'center', alignItems: 'center', lineHeight: '15.4px' }}>\n N/A\n </Box>\n )}\n </Box>\n <Box>\n <Tooltip title=\"Date and Time\">\n <TruncatedTypography\n variant=\"caption\"\n color={'customColors.text3' as any}\n sx={{ textTransform: 'capitalize', lineHeight: '13.2px' }}\n >\n TAT\n </TruncatedTypography>\n </Tooltip>\n <Tooltip title={info.dateTime}>\n <TruncatedTypography\n variant=\"subtitle2\"\n color={'customColors.mainText' as any}\n sx={{ mt: '13px', textTransform: 'capitalize', lineHeight: '15.4px' }}\n >\n {info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.tat_expiry\n ? moment(info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.tat_expiry)\n .utcOffset('UTC+05:30')\n .format('DD/MM/YYYY HH:MM A')\n : 'N/A'}\n </TruncatedTypography>\n </Tooltip>\n </Box>\n <Box>\n <Tooltip title=\"Current active level of Workflow\">\n <TruncatedTypography\n variant=\"caption\"\n color={'customColors.text3' as any}\n sx={{ textTransform: 'capitalize', lineHeight: '13.2px' }}\n >\n Current Level\n </TruncatedTypography>\n </Tooltip>\n <Box sx={{ display: 'flex', mt: 2, justifyContent: 'center', alignItems: 'center' }}>\n {info?.isLevelZero\n ? 'L0'\n : 'L' + ((info?.levels?.findIndex((lvl: any) => lvl.id === info?.current_level) ?? -1) + 1 || '')}\n </Box>\n </Box>\n <Box sx={{ mt: 2, display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: `${getStatus(\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 1\n ? 'approved'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 3\n ? 'rejected'\n : 'pending'\n )?.color} !important`,\n color: `${getStatus(\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 1\n ? 'approved'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 3\n ? 'rejected'\n : 'pending'\n )?.labelColor} !important`,\n height: '40px',\n padding: '8px',\n borderRadius: '100px !important',\n border: '0px !important',\n '& .MuiChip-label': {\n fontSize: '14px',\n lineHeight: '15.4px',\n fontWeight: '500',\n textTransform: 'capitalize'\n }\n }}\n label={`${\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 2 ||\n info?.isLevelZero ||\n !info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status\n ? 'pending'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.name\n }`}\n />\n\n <Divider orientation=\"vertical\" sx={{ ml: 5, borderColor: (theme as any).palette?.customColors?.text4, height: '50px' }} />\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n ml: 5,\n background: (theme as any).palette?.customColors?.primaryLightest ?? 'rgba(25,118,210,0.08)',\n boxShadow: '2px 2px 10px 0px #4C4E6426',\n '& span': { color: theme.palette.primary.dark }\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? <span className=\"icon-arrow-down-1\"></span> : <span className=\"icon-arrow-right-3\"></span>}\n </IconButton>\n <Box sx={{ ml: 5 }}>\n <ActionMenu\n onSendBack={() => setSendDialog(info._id)}\n onApprove={() => {\n const sid = String(statusByNum?.[1]?.id ?? '')\n setApproveTarget({ id: info._id, statusId: sid })\n }}\n onReject={() => {\n const sid = String(statusByNum?.[3]?.id ?? '')\n setRejectTarget({ id: info._id, statusId: sid })\n }}\n onHold={() => {\n const sid = String(statusByNum?.[2]?.id ?? '')\n setOnHoldTarget({ id: info._id, statusId: sid })\n }}\n statusList={statusList}\n />\n </Box>\n </Box>\n </CardContent>\n </Card>\n {expandedId === info._id && (\n <Grid container xs={12} spacing={5 as any}>\n <Grid item xs={12} sx={{ transform: 'translateX(3.9%)' }}>\n {!expandedDetails?.length ? (\n <Box sx={{ height: '200px', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\n <CircularProgress size={40} sx={{ color: theme.palette.primary.dark }} />\n </Box>\n ) : (\n <Box sx={{ pl: 2 }}>\n {expandedDetails?.map((item: any, idx: number) => (\n <Box key={idx} sx={{ mb: 2 }}>\n <Typography variant=\"caption\" sx={{ mr: 2 }}>\n {moment(item?.created_at).format('DD-MM-YYYY HH:mm')}\n </Typography>\n <Typography variant=\"body2\" component=\"span\">\n {item?.type} - {item?.comment_reasons?.comment || 'No Comments'}\n </Typography>\n </Box>\n ))}\n </Box>\n )}\n </Grid>\n </Grid>\n )}\n </React.Fragment>\n )\n })}\n </Box>\n )}\n\n {/* All Requests */}\n {selectedApprovalOtions === 'All Requests' && (\n <Box className=\"fixedModal\" sx={{ overflowY: 'auto', height: 'calc(100vh - 180px)' }}>\n {allRequestArray &&\n allRequestArray.map((info: any, index: number) => {\n const currentLevel = info?.levels.find((level_: any) => level_.id === info?.current_level)\n const statusList = currentLevel ? currentLevel.status_list : []\n const statusByNum = (statusList || []).reduce((acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s\n return acc\n }, {} as any)\n const redir = buildRedirectionUrl(info)\n return (\n <React.Fragment key={index}>\n <Card\n sx={{\n mb: 8,\n '&.MuiCard-root.MuiPaper-elevation': {\n boxShadow: '2px 2px 10px 0px #4C4E6426',\n padding: '20px',\n borderRadius: '10px'\n }\n }}\n >\n <CardContent sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Box>\n <Tooltip title={info.activityInstruction}>\n <TruncatedTypography variant=\"h6\" color={'text.primary'} sx={{ textTransform: 'capitalize', lineHeight: '22px' }}>\n {info.activity_name}\n </TruncatedTypography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <TruncatedTypography\n variant=\"body2\"\n color={'customColors.mainText' as any}\n sx={{ mt: '13px', textTransform: 'capitalize', lineHeight: '15.4px' }}\n >\n {info.description_data}\n </TruncatedTypography>\n </Tooltip>\n </Box>\n <Box>\n <Tooltip title=\"Links\">\n <TruncatedTypography\n variant=\"caption\"\n color={'customColors.text3' as any}\n sx={{ textTransform: 'capitalize', lineHeight: '13.2px' }}\n >\n Links\n </TruncatedTypography>\n </Tooltip>\n <Tooltip title={redir}>\n <a href={redir} style={{ cursor: 'pointer', textDecoration: 'none' }} target=\"_blank\" rel=\"noreferrer\">\n <TruncatedTypography\n variant=\"subtitle2\"\n color={'primary.dark'}\n sx={{ mt: '13px', lineHeight: '15.4px' }}\n >\n {redir}\n </TruncatedTypography>\n </a>\n </Tooltip>\n </Box>\n <Box>\n <Tooltip title=\"Attachments\">\n <TruncatedTypography\n variant=\"caption\"\n color={'customColors.text3' as any}\n sx={{ textTransform: 'capitalize', lineHeight: '13.2px' }}\n >\n Attachments\n </TruncatedTypography>\n </Tooltip>\n {info?.attachment_links?.length ? (\n info?.attachment_links.map((link: string, idx: number) => (\n <Tooltip title={`Attachment ${idx + 1}`} key={idx}>\n <a href={link} style={{ cursor: 'pointer', textDecoration: 'none' }} target=\"_blank\" rel=\"noreferrer\">\n <TruncatedTypography\n variant=\"subtitle2\"\n color={'primary.dark'}\n sx={{ mt: '13px', textTransform: 'capitalize', lineHeight: '15.4px' }}\n >\n {link || 'N/A'}\n </TruncatedTypography>\n </a>\n </Tooltip>\n ))\n ) : (\n <Box sx={{ display: 'flex', mt: 2, justifyContent: 'center', alignItems: 'center', lineHeight: '15.4px' }}>N/A</Box>\n )}\n </Box>\n <Box sx={{ mt: 2, display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: `${getStatus(\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 1\n ? 'approved'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 3\n ? 'rejected'\n : 'pending'\n )?.color} !important`,\n color: `${getStatus(\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 1\n ? 'approved'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 3\n ? 'rejected'\n : 'pending'\n )?.labelColor} !important`,\n height: '40px',\n padding: '8px',\n borderRadius: '100px !important',\n border: '0px !important',\n '& .MuiChip-label': {\n fontSize: '14px',\n lineHeight: '15.4px',\n fontWeight: '500',\n textTransform: 'capitalize'\n }\n }}\n label={`${\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 2 ||\n info?.isLevelZero ||\n !info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status\n ? 'pending'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.name\n }`}\n />\n\n <Divider orientation=\"vertical\" sx={{ ml: 5, borderColor: (theme as any).palette?.customColors?.text4, height: '50px' }} />\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n ml: 5,\n background: (theme as any).palette?.customColors?.primaryLightest ?? 'rgba(25,118,210,0.08)',\n boxShadow: '2px 2px 10px 0px #4C4E6426',\n '& span': { color: theme.palette.primary.dark }\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? <span className=\"icon-arrow-down-1\"></span> : <span className=\"icon-arrow-right-3\"></span>}\n </IconButton>\n <Box sx={{ ml: 5 }}>\n <ActionMenu\n onSendBack={() => setSendDialog(info._id)}\n onApprove={() => {\n const sid = String(statusByNum?.[1]?.id ?? '')\n setApproveTarget({ id: info._id, statusId: sid })\n }}\n onReject={() => {\n const sid = String(statusByNum?.[3]?.id ?? '')\n setRejectTarget({ id: info._id, statusId: sid })\n }}\n onHold={() => {\n const sid = String(statusByNum?.[2]?.id ?? '')\n setOnHoldTarget({ id: info._id, statusId: sid })\n }}\n statusList={statusList}\n />\n </Box>\n </Box>\n </CardContent>\n </Card>\n {expandedId === info._id && (\n <Grid container xs={12} spacing={5 as any}>\n <Grid item xs={12} sx={{ transform: 'translateX(3.9%)' }}>\n {!expandedDetails?.length ? (\n <Box sx={{ height: '200px', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\n <CircularProgress size={40} sx={{ color: theme.palette.primary.dark }} />\n </Box>\n ) : (\n <Box sx={{ pl: 2 }}>\n {expandedDetails?.map((item: any, idx: number) => (\n <Box key={idx} sx={{ mb: 2 }}>\n <Typography variant=\"caption\" sx={{ mr: 2 }}>\n {moment(item?.created_at).format('DD-MM-YYYY HH:mm')}\n </Typography>\n <Typography variant=\"body2\" component=\"span\">\n {item?.type} - {item?.comment_reasons?.comment || 'No Comments'}\n </Typography>\n </Box>\n ))}\n </Box>\n )}\n </Grid>\n </Grid>\n )}\n </React.Fragment>\n )\n })}\n </Box>\n )}\n\n {/* Action Required */}\n {selectedApprovalOtions === 'Action Required' && (\n <Box className=\"fixedModal\" sx={{ overflowY: 'auto', height: 'calc(100vh - 180px)' }}>\n {pendingRequestArray &&\n pendingRequestArray.map((info: any, index: number) => {\n const currentLevel = info?.levels?.find((level_: any) => level_.id === info?.current_level)\n const statusList = currentLevel ? currentLevel.status_list : []\n const statusByNum = (statusList || []).reduce((acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s\n return acc\n }, {} as any)\n const redir = buildRedirectionUrl(info)\n return (\n <React.Fragment key={index}>\n <Card\n sx={{\n mb: 8,\n '&.MuiCard-root.MuiPaper-elevation': {\n boxShadow: '2px 2px 10px 0px #4C4E6426',\n padding: '20px',\n borderRadius: '10px'\n }\n }}\n >\n <CardContent sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Box>\n <Tooltip title={info.title}>\n <TruncatedTypography variant=\"h6\" color={'text.primary'} sx={{ textTransform: 'capitalize', lineHeight: '22px' }}>\n {info.activity_name}\n </TruncatedTypography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <TruncatedTypography\n variant=\"body2\"\n color={'customColors.mainText' as any}\n sx={{ mt: '13px', textTransform: 'capitalize', lineHeight: '15.4px' }}\n >\n {info.description_data}\n </TruncatedTypography>\n </Tooltip>\n </Box>\n <Box>\n <Tooltip title=\"Links\">\n <TruncatedTypography\n variant=\"caption\"\n color={'customColors.text3' as any}\n sx={{ textTransform: 'capitalize', lineHeight: '13.2px' }}\n >\n Links\n </TruncatedTypography>\n </Tooltip>\n <Tooltip title={redir}>\n <a href={redir} style={{ cursor: 'pointer', textDecoration: 'none' }} target=\"_blank\" rel=\"noreferrer\">\n <TruncatedTypography\n variant=\"subtitle2\"\n color={'primary.dark'}\n sx={{ mt: '13px', lineHeight: '15.4px' }}\n >\n {redir}\n </TruncatedTypography>\n </a>\n </Tooltip>\n </Box>\n <Box sx={{ mt: 2, display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: `${getStatus(\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 1\n ? 'approved'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 3\n ? 'rejected'\n : 'pending'\n )?.color} !important`,\n color: `${getStatus(\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 1\n ? 'approved'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 3\n ? 'rejected'\n : 'pending'\n )?.labelColor} !important`,\n height: '40px',\n padding: '8px',\n borderRadius: '100px !important',\n border: '0px !important',\n '& .MuiChip-label': {\n fontSize: '14px',\n lineHeight: '15.4px',\n fontWeight: '500',\n textTransform: 'capitalize'\n }\n }}\n label={`${\n info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.status_id === 2 ||\n info?.isLevelZero ||\n !info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status\n ? 'pending'\n : info?.levels?.find((lvl: any) => lvl.id === info?.current_level)?.selected_status?.name\n }`}\n />\n\n <Divider orientation=\"vertical\" sx={{ ml: 5, borderColor: (theme as any).palette?.customColors?.text4, height: '50px' }} />\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n ml: 5,\n background: (theme as any).palette?.customColors?.primaryLightest ?? 'rgba(25,118,210,0.08)',\n boxShadow: '2px 2px 10px 0px #4C4E6426',\n '& span': { color: theme.palette.primary.dark }\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? <span className=\"icon-arrow-down-1\"></span> : <span className=\"icon-arrow-right-3\"></span>}\n </IconButton>\n <Box sx={{ ml: 5 }}>\n <ActionMenu\n onSendBack={() => setSendDialog(info._id)}\n onApprove={() => {\n const sid = String(statusByNum?.[1]?.id ?? '')\n setApproveTarget({ id: info._id, statusId: sid })\n }}\n onReject={() => {\n const sid = String(statusByNum?.[3]?.id ?? '')\n setRejectTarget({ id: info._id, statusId: sid })\n }}\n onHold={() => {\n const sid = String(statusByNum?.[2]?.id ?? '')\n setOnHoldTarget({ id: info._id, statusId: sid })\n }}\n statusList={statusList}\n />\n </Box>\n </Box>\n </CardContent>\n </Card>\n {expandedId === info._id && (\n <Grid container xs={12} spacing={5 as any}>\n <Grid item xs={12} sx={{ transform: 'translateX(3.9%)' }}>\n {!expandedDetails?.length ? (\n <Box sx={{ height: '200px', display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\n <CircularProgress size={40} sx={{ color: theme.palette.primary.dark }} />\n </Box>\n ) : (\n <Box sx={{ pl: 2 }}>\n {expandedDetails?.map((item: any, idx: number) => (\n <Box key={idx} sx={{ mb: 2 }}>\n <Typography variant=\"caption\" sx={{ mr: 2 }}>\n {moment(item?.created_at).format('DD-MM-YYYY HH:mm')}\n </Typography>\n <Typography variant=\"body2\" component=\"span\">\n {item?.type} - {item?.comment_reasons?.comment || 'No Comments'}\n </Typography>\n </Box>\n ))}\n </Box>\n )}\n </Grid>\n </Grid>\n )}\n </React.Fragment>\n )\n })}\n </Box>\n )}\n </Box>\n </Box>\n {/* Dialogs */}\n <SendBackDialog openModal={!!sendDialog} closeModal={() => setSendDialog(null)} header=\"Send Back\" workflowLogId={sendDialog || ''} />\n <ApproveDialog openModal={!!approveTarget} closeModal={() => setApproveTarget(null)} header=\"Approve\" workflowLogId={approveTarget?.id || ''} statusId={approveTarget?.statusId || ''} />\n <RejectDialog openModal={!!rejectTarget} closeModal={() => setRejectTarget(null)} header=\"Reject\" workflowLogId={rejectTarget?.id || ''} statusId={rejectTarget?.statusId || ''} rejection_reason_master=\"workflow_reject_reason\" />\n <OnHoldDialog openModal={!!onHoldTarget} closeModal={() => setOnHoldTarget(null)} header=\"On Hold\" workflowLogId={onHoldTarget?.id || ''} statusId={onHoldTarget?.statusId || ''} />\n </>\n )\n}\n\n\n","import React, { useEffect, useState } from 'react'\nimport Button from '@mui/material/Button'\nimport Dialog from '@mui/material/Dialog'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport DialogActions from '@mui/material/DialogActions'\nimport DialogContent from '@mui/material/DialogContent'\nimport { IconButton } from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { ApprovalWorkflow } from './ApprovalWorkflow'\nimport type { DialogOpenerProps } from '../types'\n\nexport function DialogOpener({\n openDialog,\n handleClose,\n userInfoData,\n selectedWorkflowsList = []\n}: DialogOpenerProps) {\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const [screenWidth, setScreenWidth] = useState<number>(typeof window !== 'undefined' ? window.innerWidth : 0)\n\n useEffect(() => {\n const updateScreenWidth = () => setScreenWidth(window.innerWidth)\n window.addEventListener('resize', updateScreenWidth)\n return () => window.removeEventListener('resize', updateScreenWidth)\n }, [])\n\n return (\n <>\n <Dialog\n fullScreen={true}\n open={openDialog}\n onClose={() => handleClose && handleClose()}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ zIndex: 123 }}\n >\n <DialogContent>\n <IconButton onClick={handleClose} disableFocusRipple disableRipple sx={{ float: 'right' }}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n <ApprovalWorkflow userInfo={userInfoData} selectedWorkflowsList={selectedWorkflowsList} />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}\n onClick={handleClose}\n >\n Close\n </Button>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n\n\n","import React from 'react'\nimport { WorkflowProvider } from './context'\nimport type { ApiClient, UrlBuilder, DialogOpenerProps, ApprovalWorkflowProps } from './types'\nimport { DialogOpener as InternalDialogOpener } from './ui/DialogOpener'\nimport { ApprovalWorkflow as InternalApprovalWorkflow } from './ui/ApprovalWorkflow'\n\nexport type { ApiClient, UrlBuilder, DialogOpenerProps, ApprovalWorkflowProps }\n\nexport function DialogOpener(props: DialogOpenerProps & {\n api: ApiClient\n urlBuilder?: UrlBuilder\n loadingComponent?: React.ReactNode\n}) {\n const { api, urlBuilder, loadingComponent, userInfoData, ...rest } = props\n return (\n <WorkflowProvider value={{ api, urlBuilder, userInfo: userInfoData, loadingComponent }}>\n <InternalDialogOpener {...rest} userInfoData={userInfoData} />\n </WorkflowProvider>\n )\n}\n\nexport function ApprovalWorkflow(props: ApprovalWorkflowProps & {\n api: ApiClient\n urlBuilder?: UrlBuilder\n loadingComponent?: React.ReactNode\n}) {\n const { api, urlBuilder, loadingComponent, userInfo, ...rest } = props\n return (\n <WorkflowProvider value={{ api, urlBuilder, userInfo, loadingComponent }}>\n <InternalApprovalWorkflow userInfo={userInfo} {...rest} />\n </WorkflowProvider>\n )\n}\n\n\n"]}
1
+ {"version":3,"sources":["../src/context.tsx","../src/ui/Statusselector.tsx","../src/ui/dialogs/SendBackDialog.tsx","../src/ui/dialogs/ApproveDialog.tsx","../src/ui/dialogs/RejectDialog.tsx","../src/ui/dialogs/OnHoldDialog.tsx","../src/ui/CustomTimeLineWithStatus.tsx","../src/hooks/useDebounce.ts","../src/common-component/SearchBox.tsx","../src/ui/ApprovalWorkflow.tsx","../src/ui/DialogOpener.tsx","../src/index.tsx"],"names":["jsx","useState","error","jsxs","Box","Button","toast","Dialog","DialogTitle","IconButton","HighlightOffIcon","DialogContent","Grid","TextField","DialogActions","CircularProgress","useTheme","useMediaQuery","useEffect","MenuItem","Typography","InputAdornment","Chip","React","getStatus","_a","Fragment","Tooltip","_b","_c","_d","_e","_f","_g","Card","CardContent","DialogOpener","ApprovalWorkflow"],"mappings":"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","file":"index.mjs","sourcesContent":["import React, { createContext, useContext } from 'react'\nimport type { WorkflowContextValue } from './types'\n\nconst WorkflowContext = createContext<WorkflowContextValue | null>(null)\n\nexport function WorkflowProvider({\n value,\n children\n}: {\n value: WorkflowContextValue\n children: React.ReactNode\n}) {\n return <WorkflowContext.Provider value={value}>{children}</WorkflowContext.Provider>\n}\n\nexport function useWorkflowContext(): WorkflowContextValue {\n const ctx = useContext(WorkflowContext)\n if (!ctx) {\n throw new Error('useWorkflowContext must be used within WorkflowProvider')\n }\n return ctx\n}\n\n\n","import React, { useState } from 'react'\nimport { Menu, MenuItem, Button } from '@mui/material'\n\ninterface ActionMenuProps {\n onSendBack: () => void\n onApprove: () => void\n onReject: () => void\n onHold: () => void\n statusList: Array<{ id: number; name: string; status?: number }>\n}\n\nconst ActionMenu: React.FC<ActionMenuProps> = ({\n onSendBack,\n onApprove,\n onReject,\n onHold,\n statusList\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n\n const handleActionClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleClose = () => setAnchorEl(null)\n\n return (\n <>\n <Button variant=\"contained\" color=\"primary\" onClick={handleActionClick}>\n Apply Action\n </Button>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose} MenuListProps={{ 'aria-labelledby': 'basic-button' }}>\n <MenuItem\n onClick={() => {\n onSendBack()\n handleClose()\n }}\n >\n Send Back\n </MenuItem>\n {statusList.map((list: any) => (\n <MenuItem\n key={list.id}\n onClick={() => {\n if (list.status === 1) onApprove()\n else if (list.status === 2) onHold()\n else if (list.status === 3) onReject()\n handleClose()\n }}\n >\n {list.name}\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n}\n\nexport default ActionMenu\n\n\n","import React, { useRef, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n InputAdornment,\n TextField,\n CircularProgress,\n IconButton,\n} from \"@mui/material\";\nimport HighlightOffIcon from \"@mui/icons-material/HighlightOff\";\nimport toast from \"react-hot-toast\";\nimport { useWorkflowContext } from \"../../context\";\n\ntype Props = {\n openModal: boolean;\n closeModal?: () => void;\n header?: string;\n workflowLogId: string;\n};\n\nfunction SendBackDialog({\n openModal,\n closeModal,\n header,\n workflowLogId,\n}: Props) {\n const { userInfo, api } = useWorkflowContext();\n const [comment, setComment] = useState(\"\");\n const [selectedFile, setSelectedFile] = useState<string | null>(null);\n const [fileName, setFileName] = useState<string>(\"\");\n const [error, setError] = useState<{ comment?: string; file?: string }>({});\n const [loading, setLoading] = useState(false);\n const [fileLoading, setFileLoading] = useState(false);\n const fileInputRef = useRef<HTMLInputElement | null>(null);\n\n const handleAttachment = () => fileInputRef.current?.click();\n\n const handleUpload = async (file: File) => {\n setFileLoading(true);\n const formData = new FormData();\n formData.append(\"file\", file);\n try {\n const response = await api.post({\n url: \"/workflow/upload-document\",\n data: formData,\n headers: { \"Content-Type\": \"multipart/form-data\" },\n });\n setFileName(response.data.file);\n setSelectedFile(response.data.file);\n } catch (error) {\n toast.error(\"File upload failed\");\n } finally {\n setFileLoading(false);\n }\n };\n\n const handleFileChange = async (\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n if (event.target.files && event.target.files.length > 0) {\n const file = event.target.files[0];\n await handleUpload(file);\n setError((prev) => ({ ...prev, file: \"\" }));\n } else {\n setSelectedFile(null);\n setFileName(\"\");\n }\n };\n\n const validateFields = () => {\n let isValid = true;\n const errors = { comment: \"\", file: \"\" };\n if (!comment) {\n errors.comment = \"Please enter a comment\";\n isValid = false;\n }\n setError(errors);\n return isValid;\n };\n\n const onSubmit = async () => {\n if (!validateFields()) return;\n setLoading(true);\n try {\n const res = await api.post({\n url: `/workflow/send-back/${workflowLogId}`,\n data: {\n comment,\n file: selectedFile,\n created_by: userInfo?.userInfo?.id,\n },\n serviceURL: \"api\",\n });\n if (res?.status === 200) toast.success(\"Successfully sent back!\");\n if ((res as any)?.error?.message) {\n toast.error((res as any)?.error?.message, { duration: 2000 });\n }\n closeModal && closeModal();\n } catch {\n toast.error(\"Opps! something went wrong.\");\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <Dialog\n open={openModal}\n onClose={closeModal}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ \"& .MuiPaper-root.MuiDialog-paper\": { width: \"550px\" } }}\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField\n fullWidth\n label=\"Comment\"\n value={comment}\n placeholder=\"Comment Here\"\n onChange={(e) => setComment(e.target.value)}\n required\n error={!!error.comment}\n helperText={error.comment}\n />\n </Grid>\n <Grid item xs={12}>\n <TextField\n type=\"text\"\n fullWidth\n label=\"Attachment\"\n placeholder=\"Attachment\"\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <span className=\"icon-export-1\"></span>\n </InputAdornment>\n ),\n }}\n onClick={handleAttachment}\n value={fileName}\n error={!!error.file}\n helperText={error.file}\n />\n <input\n type=\"file\"\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n >\n <Button\n onClick={closeModal}\n size=\"large\"\n variant=\"outlined\"\n color=\"primary\"\n sx={{ mr: 2 }}\n >\n Close\n </Button>\n <Button\n onClick={onSubmit}\n size=\"large\"\n variant=\"contained\"\n color=\"primary\"\n disabled={loading || fileLoading}\n >\n {loading ? (\n <CircularProgress size={24} color=\"inherit\" />\n ) : (\n \"Submit\"\n )}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport default SendBackDialog;\n","import React, { useEffect, useState } from 'react'\nimport Dialog from '@mui/material/Dialog'\nimport DialogContent from '@mui/material/DialogContent'\nimport { Box, Button, DialogActions, DialogTitle, Grid, TextField, CircularProgress, IconButton } from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport toast from 'react-hot-toast'\nimport { useWorkflowContext } from '../../context'\n\ntype Props = {\n openModal: boolean\n closeModal?: () => void\n header?: string\n workflowLogId: string\n statusId: string\n}\n\nfunction ApproveDialog({ openModal, closeModal, header, workflowLogId, statusId }: Props) {\n const { userInfo, api } = useWorkflowContext()\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const [comment, setComment] = useState('')\n const [error, setError] = useState<{ comment?: string }>({})\n const [loading, setLoading] = useState(false)\n\n const validateFields = () => {\n let isValid = true\n const newError: { comment?: string } = {}\n if (!comment) {\n newError.comment = 'Please provide a comment'\n isValid = false\n }\n setError(newError)\n return isValid\n }\n\n const onSubmit = async () => {\n if (!validateFields()) return\n setLoading(true)\n try {\n await api.post(`/workflow/update-status/${workflowLogId}/${statusId}`, {\n comment,\n created_by: userInfo?.userInfo?.id\n })\n toast.success('approved successfully!!!')\n closeModal && closeModal()\n } catch {\n toast.error('something unexpected occured!!!')\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Dialog open={openModal} onClose={closeModal} aria-labelledby=\"responsive-dialog-title\" sx={{ '& .MuiPaper-root.MuiDialog-paper': { width: '550px' } }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField fullWidth label=\"Comment\" value={comment} placeholder=\"Comment Here\" onChange={e => setComment(e.target.value)} required error={!!error.comment} helperText={error.comment} />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>\n <Button onClick={closeModal} size=\"large\" variant=\"outlined\" color=\"primary\" sx={{ mr: 2 }}>\n Close\n </Button>\n <Button onClick={onSubmit} size=\"large\" variant=\"contained\" color=\"primary\" disabled={loading}>\n {loading ? <CircularProgress size={24} color=\"inherit\" /> : 'Submit'}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default ApproveDialog\n\n\n","import React, { useEffect, useState } from 'react'\nimport Dialog from '@mui/material/Dialog'\nimport DialogContent from '@mui/material/DialogContent'\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n FormControl,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n Typography,\n CircularProgress,\n IconButton\n} from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport { useWorkflowContext } from '../../context'\n\ntype Props = {\n openModal: boolean\n closeModal?: () => void\n header?: string\n workflowLogId: string\n statusId: string\n rejection_reason_master: string\n}\n\nfunction RejectDialog({ openModal, closeModal, header, workflowLogId, statusId, rejection_reason_master }: Props) {\n const { userInfo, api } = useWorkflowContext()\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const DownArrow = () => <span style={{ color: theme.palette.customColors?.mainText || '#333' }} className=\"icon-arrow-down-1\"></span>\n\n const [rejectReasons, setRejectReasons] = useState<string>('')\n const [comment, setComment] = useState('')\n const [error, setError] = useState({ reason: '', comment: '' })\n const [statusApplicableList, setStatusApplicableList] = useState<any>([])\n const [loading, setLoading] = useState(false)\n\n useEffect(() => {\n ;(async () => {\n try {\n if (!statusApplicableList.length) {\n const res = await api.get(`/workflow/applicableStatuses?type=${rejection_reason_master}`)\n setStatusApplicableList(res?.data?.data || [])\n }\n } catch (e) {\n // noop\n }\n })()\n }, [])\n\n const validateFields = () => {\n let isValid = true\n const errors = { reason: '', comment: '' }\n if (!rejectReasons) {\n errors.reason = 'Please select a reject reason'\n isValid = false\n }\n if (!comment) {\n errors.comment = 'Please enter a comment'\n isValid = false\n }\n setError(errors)\n return isValid\n }\n\n const onSubmit = async () => {\n if (!validateFields()) return\n setLoading(true)\n try {\n await api.post(`/workflow/update-status/${workflowLogId}/${statusId}`, {\n reason: rejectReasons,\n comment,\n created_by: userInfo?.userInfo?.id\n })\n closeModal && closeModal()\n } catch (e) {\n // noop\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Dialog open={openModal} onClose={closeModal} aria-labelledby=\"responsive-dialog-title\" sx={{ '& .MuiPaper-root.MuiDialog-paper': { width: '550px' } }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <FormControl fullWidth required error={!!error.reason}>\n <InputLabel required id=\"reject-reason-label\">\n Reject Reasons\n </InputLabel>\n <Select IconComponent={DownArrow as any} label=\"Reject Reasons\" value={rejectReasons} id=\"reject-reason\" labelId=\"reject-reason-label\" onChange={e => setRejectReasons(e.target.value as string)}>\n {statusApplicableList?.map((reason_: any) => (\n <MenuItem key={reason_?.id} value={reason_?.id}>\n {reason_?.name}\n </MenuItem>\n ))}\n </Select>\n {error.reason && (\n <Typography variant=\"caption\" color=\"error\">\n {error.reason}\n </Typography>\n )}\n </FormControl>\n </Grid>\n <Grid item xs={12}>\n <TextField fullWidth label=\"Comment\" value={comment} placeholder=\"Comment Here\" onChange={e => setComment(e.target.value)} required error={!!error.comment} helperText={error.comment} />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>\n <Button onClick={closeModal} size=\"large\" variant=\"outlined\" color=\"primary\" sx={{ mr: 2 }}>\n Close\n </Button>\n <Button onClick={onSubmit} size=\"large\" variant=\"contained\" color=\"primary\" disabled={loading}>\n {loading ? <CircularProgress size={24} color=\"inherit\" /> : 'Submit'}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default RejectDialog\n\n\n","import React, { useEffect, useState } from 'react'\nimport Dialog from '@mui/material/Dialog'\nimport DialogContent from '@mui/material/DialogContent'\nimport {\n Box,\n Button,\n DialogActions,\n DialogTitle,\n Grid,\n TextField,\n Typography,\n CircularProgress,\n IconButton\n} from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport toast from 'react-hot-toast'\nimport { useWorkflowContext } from '../../context'\n\ntype Props = {\n openModal: boolean\n closeModal?: () => void\n header?: string\n workflowLogId: string\n statusId: string\n}\n\nfunction OnHoldDialog({ openModal, closeModal, header, workflowLogId, statusId }: Props) {\n const { userInfo, api } = useWorkflowContext()\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const [comment, setComment] = useState('')\n const [error, setError] = useState({ comment: '' })\n const [loading, setLoading] = useState(false)\n\n const validateFields = () => {\n let isValid = true\n const errors = { comment: '' }\n if (!comment) {\n errors.comment = 'Please enter a comment'\n isValid = false\n }\n setError(errors)\n return isValid\n }\n\n const onSubmit = async () => {\n if (!validateFields()) return\n setLoading(true)\n try {\n await api.post(`/workflow/update-status/${workflowLogId}/${statusId}`, {\n comment,\n created_by: userInfo?.userInfo?.id\n })\n closeModal && closeModal()\n } catch {\n toast.error('Failed to submit the form')\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Dialog open={openModal} onClose={closeModal} aria-labelledby=\"responsive-dialog-title\" sx={{ '& .MuiPaper-root.MuiDialog-paper': { width: '550px' } }}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <DialogTitle id=\"responsive-dialog-title\">{header}</DialogTitle>\n <IconButton disableFocusRipple disableRipple onClick={closeModal}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n </Box>\n <DialogContent>\n <Box sx={{ mb: 5 }}>\n <Grid container spacing={5}>\n <Grid item xs={12}>\n <TextField fullWidth label=\"Comment\" value={comment} placeholder=\"Comment Here\" onChange={e => setComment(e.target.value)} required error={!!error.comment} helperText={error.comment} />\n </Grid>\n </Grid>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}>\n <Button onClick={closeModal} size=\"large\" variant=\"outlined\" color=\"primary\" sx={{ mr: 2 }}>\n Close\n </Button>\n <Button onClick={onSubmit} size=\"large\" variant=\"contained\" color=\"primary\" disabled={loading}>\n {loading ? <CircularProgress size={24} color=\"inherit\" /> : 'Submit'}\n </Button>\n </Box>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default OnHoldDialog\n\n\n","import {\r\n Box,\r\n Card,\r\n CardContent,\r\n Chip,\r\n Typography,\r\n useTheme,\r\n Tooltip,\r\n} from \"@mui/material\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useWorkflowContext } from \"src/context\";\r\n\r\nconst getStatus = (status: string, theme: any) => {\r\n const s = status?.toLowerCase();\r\n const colors: Record<string, { bg: string; text: string }> = {\r\n approved: {\r\n bg: theme.palette.success.light,\r\n text: theme.palette.success.main,\r\n },\r\n rejected: { bg: theme.palette.error.light, text: theme.palette.error.main },\r\n onhold: {\r\n bg: theme.palette.warning.light,\r\n text: theme.palette.warning.main,\r\n },\r\n inprogress: { bg: theme.palette.info.light, text: theme.palette.info.main },\r\n pending: { bg: theme.palette.grey[200], text: theme.palette.text.primary },\r\n };\r\n return colors[s] || colors.pending;\r\n};\r\n\r\nexport default function ConnectedTimeline({ events }: any) {\r\n const { api } = useWorkflowContext();\r\n const theme = useTheme();\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n useEffect(() => {\r\n const checkScreen = () => setIsMobile(window.innerWidth < 768);\r\n checkScreen();\r\n window.addEventListener(\"resize\", checkScreen);\r\n return () => window.removeEventListener(\"resize\", checkScreen);\r\n }, []);\r\n\r\n const handleAttachmentClick = (attachment: string) => {\r\n api\r\n .get({\r\n url: `/workflow/uploaded-document-url/${\r\n attachment.split(\"/\").reverse()[0]\r\n }`,\r\n serviceURL: \"api\",\r\n })\r\n .then((res: any) => window.open(res.data, \"_blank\"));\r\n };\r\n\r\n const columns = 4; // cards per row\r\n const rows: any[] = [];\r\n for (let i = 0; i < events?.length; i += columns)\r\n rows.push(events.slice(i, i + columns));\r\n\r\n return (\r\n <Box sx={{ py: 4, position: \"relative\" }}>\r\n {rows.map((row, rowIndex) => {\r\n const reversed = rowIndex % 2 === 1;\r\n\r\n return (\r\n <Box\r\n key={rowIndex}\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: reversed ? \"row-reverse\" : \"row\",\r\n justifyContent: \"left\",\r\n alignItems: \"center\",\r\n gap: 6,\r\n position: \"relative\",\r\n mb: 8,\r\n flexWrap: isMobile ? \"wrap\" : \"nowrap\",\r\n }}\r\n >\r\n {row.map((event: any, index: number) => {\r\n const globalIndex = rowIndex * columns + index;\r\n const status = getStatus(event.status?.title, theme);\r\n const isDisabled = event.cardType === \"disableCard\";\r\n\r\n return (\r\n <Box\r\n key={index}\r\n sx={{\r\n position: \"relative\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {/* โžก๏ธ Horizontal connection to next card */}\r\n {!isMobile && index < row.length - 1 && (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n top: \"50%\",\r\n [reversed ? \"right\" : \"left\"]: \"100%\",\r\n width: \"60px\",\r\n height: \"2px\",\r\n background: theme.palette.primary.main,\r\n zIndex: 0,\r\n }}\r\n />\r\n )}\r\n\r\n {/* ๐Ÿ”ฝ Vertical connection to next row */}\r\n {!isMobile &&\r\n globalIndex === (rowIndex + 1) * columns - 1 &&\r\n globalIndex < events.length - 1 && (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n bottom: \"-48px\",\r\n left: reversed ? \"0%\" : \"100%\",\r\n width: \"2px\",\r\n height: \"48px\",\r\n background: theme.palette.primary.main,\r\n zIndex: 0,\r\n }}\r\n />\r\n )}\r\n\r\n <Card\r\n sx={{\r\n width: \"230px\",\r\n minHeight: \"180px\",\r\n borderRadius: \"16px\",\r\n border: `1px solid ${\r\n isDisabled\r\n ? theme.palette.success.light\r\n : theme.palette.divider\r\n }`,\r\n backgroundColor: isDisabled\r\n ? theme.palette.action.hover\r\n : theme.palette.background.paper,\r\n textAlign: \"center\",\r\n boxShadow: \"0px 4px 10px rgba(0,0,0,0.05)\",\r\n transition: \"all 0.25s ease-in-out\",\r\n \"&:hover\": {\r\n boxShadow: \"0px 6px 14px rgba(0,0,0,0.1)\",\r\n transform: \"translateY(-2px)\",\r\n },\r\n }}\r\n >\r\n <CardContent>\r\n {/* Header */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n mb: 1,\r\n }}\r\n >\r\n <Typography\r\n variant=\"body2\"\r\n color={theme.palette.text.secondary}\r\n >\r\n {event.date}\r\n </Typography>\r\n {event.status && (\r\n <Chip\r\n label={event.status.title}\r\n sx={{\r\n backgroundColor: status.bg,\r\n color: status.text,\r\n fontSize: 12,\r\n height: 24,\r\n fontWeight: 600,\r\n borderRadius: \"16px\",\r\n }}\r\n />\r\n )}\r\n </Box>\r\n\r\n {/* Circular Count */}\r\n <Box\r\n sx={{\r\n width: 36,\r\n height: 36,\r\n borderRadius: \"50%\",\r\n border: `2px solid ${theme.palette.primary.main}`,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n color: theme.palette.primary.main,\r\n fontWeight: 600,\r\n fontSize: 14,\r\n mx: \"auto\",\r\n mb: 1.5,\r\n }}\r\n >\r\n {event.count}\r\n </Box>\r\n\r\n {/* Title */}\r\n <Tooltip title={event.title}>\r\n <Typography\r\n variant=\"subtitle1\"\r\n fontWeight={600}\r\n color={\r\n isDisabled\r\n ? theme.palette.text.secondary\r\n : theme.palette.text.primary\r\n }\r\n sx={{\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n mb: 0.5,\r\n }}\r\n >\r\n {event.title}\r\n </Typography>\r\n </Tooltip>\r\n\r\n {/* Subtitle */}\r\n <Typography\r\n variant=\"body2\"\r\n color={theme.palette.text.secondary}\r\n sx={{\r\n minHeight: \"20px\",\r\n mb: 0.8,\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n {event.subTitle || \"No Comments\"}\r\n </Typography>\r\n\r\n {/* Attachment */}\r\n {event.attachment && (\r\n <Tooltip title=\"View attachment\">\r\n <Typography\r\n variant=\"body2\"\r\n sx={{\r\n color: theme.palette.primary.main,\r\n cursor: \"pointer\",\r\n textDecoration: \"underline\",\r\n fontWeight: 500,\r\n \"&:hover\": {\r\n color: theme.palette.primary.dark,\r\n },\r\n }}\r\n onClick={() =>\r\n handleAttachmentClick(event.attachment)\r\n }\r\n >\r\n Attachment\r\n </Typography>\r\n </Tooltip>\r\n )}\r\n\r\n {/* Time */}\r\n <Typography\r\n variant=\"caption\"\r\n display=\"block\"\r\n color={theme.palette.text.disabled}\r\n sx={{ mt: 1 }}\r\n >\r\n {event.time}\r\n </Typography>\r\n </CardContent>\r\n </Card>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst useDebounce = (value: string, delay: number): string => {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const timeoutId = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => clearTimeout(timeoutId);\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n};\r\n\r\nexport default useDebounce;\r\n","import React from \"react\";\r\nimport { Box, IconButton, InputAdornment, TextField } from \"@mui/material\";\r\n\r\ntype SearchBoxType = {\r\n placeHolderTitle: string;\r\n searchText: string;\r\n handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n handleClearSearch: () => void;\r\n};\r\n\r\nconst SearchBox = ({\r\n placeHolderTitle,\r\n searchText,\r\n handleClearSearch,\r\n handleInputChange,\r\n}: SearchBoxType) => {\r\n return (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <TextField\r\n variant=\"outlined\"\r\n value={searchText}\r\n onChange={handleInputChange}\r\n placeholder={placeHolderTitle}\r\n autoComplete=\"off\"\r\n className=\"custom-search\"\r\n InputProps={{\r\n startAdornment: (\r\n <InputAdornment position=\"start\">\r\n <span className=\"icon-search-normal-1\"></span>\r\n </InputAdornment>\r\n ),\r\n endAdornment: searchText ? (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n disableFocusRipple\r\n disableRipple\r\n disableTouchRipple\r\n onClick={handleClearSearch}\r\n >\r\n <span className=\"icon-close-circle\"></span>\r\n </IconButton>\r\n </InputAdornment>\r\n ) : null,\r\n }}\r\n />\r\n </Box>\r\n );\r\n};\r\n\r\nexport default SearchBox;\r\n","import {\n Button,\n Card,\n CardContent,\n Chip,\n CircularProgress,\n Divider,\n Grid,\n IconButton,\n Tooltip,\n Typography,\n styled,\n useTheme,\n} from \"@mui/material\";\nimport { Box } from \"@mui/system\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport moment from \"moment\";\nimport { useWorkflowContext } from \"../context\";\nimport type { ApprovalWorkflowProps } from \"../types\";\nimport ActionMenu from \"./Statusselector\";\nimport SendBackDialog from \"./dialogs/SendBackDialog\";\nimport ApproveDialog from \"./dialogs/ApproveDialog\";\nimport RejectDialog from \"./dialogs/RejectDialog\";\nimport OnHoldDialog from \"./dialogs/OnHoldDialog\";\nimport CustomTimelineWithStatus from \"./CustomTimeLineWithStatus\";\nimport useDebounce from \"src/hooks/useDebounce\";\nimport SearchBox from \"src/common-component/SearchBox\";\n\nconst StyledChipProps = styled(Chip)(({ theme }) => ({\n \"&.MuiChip-colorPrimary\": {\n border: `1px solid ${theme.palette.primary.dark}`,\n borderRadius: \"8px\",\n height: \"36px\",\n padding: \"6px 4px\",\n background: `${\"rgba(25,118,210,0.1)\"}`,\n color: `${theme.palette.primary.dark}`,\n width: \"170px\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n \"&.MuiChip-colorDefault\": {\n border: `1px solid ${theme.palette.grey[300]} !important`,\n borderRadius: \"8px\",\n height: \"36px\",\n padding: \"6px 4px\",\n background: \"none !important\",\n color: `${\n (theme as any).palette?.customColors?.mainText ??\n theme.palette.text.primary\n } `,\n width: \"170px\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n}));\n\nexport function ApprovalWorkflow({\n selectedWorkflowsList = [],\n userInfo,\n}: ApprovalWorkflowProps) {\n const theme = useTheme();\n const { api, urlBuilder, loadingComponent } = useWorkflowContext();\n\n const [selectedApprovalOtions, setSelectedApprovalOtions] = useState<string>(\n selectedWorkflowsList.length ? \"selected\" : \"Action Required\"\n );\n const [expandedId, setExpandedId] = useState<string | null>(null);\n const [sendDialog, setSendDialog] = React.useState<string | null>(null);\n const [approveTarget, setApproveTarget] = React.useState<any>(null);\n const [rejectTarget, setRejectTarget] = React.useState<any>(null);\n const [onHoldTarget, setOnHoldTarget] = React.useState<any>(null);\n const [expandedDetails, setExpandedDetails] = useState<any>([]);\n const [urlConfig, setUrlConfig] = useState<any>({});\n const [allRequestArray, setAllRequestArray] = useState<any>([]);\n const [pendingRequestArray, setPendingRequestArray] = useState<any>([]);\n const [selectedRequestArray, setSelectedRequestArray] = useState<any>([]);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n // infinite scroll start\n const [visibleAll, setVisibleAll] = useState(10);\n const [visiblePending, setVisiblePending] = useState(10);\n const [visibleSelected, setVisibleSelected] = useState(10);\n // infinite scroll end\n\n // Search code start\n const [searchText, setSearchText] = useState(\"\");\n\n const handleClearSearch = useCallback(() => {\n setSearchText(\"\");\n }, []);\n\n const handleSearchChange = useCallback((value: string) => {\n setSearchText(value);\n }, []);\n\n const debouncedSearchTerm = useDebounce(searchText, 500);\n\n const filteredSelectedRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return selectedRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return selectedRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [selectedRequestArray, debouncedSearchTerm]);\n\n const filteredAllRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return allRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return allRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [allRequestArray, debouncedSearchTerm]);\n\n const filteredPendingRequestArray = React.useMemo(() => {\n if (!debouncedSearchTerm) return pendingRequestArray;\n const q = debouncedSearchTerm.toLowerCase();\n\n return pendingRequestArray.filter((item: any) => {\n const name = (item?.activity_name || \"\").toString().toLowerCase();\n const desc = (item?.description_data || \"\").toString().toLowerCase();\n\n return name.includes(q) || desc.includes(q);\n });\n }, [pendingRequestArray, debouncedSearchTerm]);\n // Search code end\n\n // infinite scroll start\n const observer = React.useRef<IntersectionObserver | null>(null);\n\n const lastCardRef = useCallback(\n (node: any) => {\n if (isLoading) return;\n if (observer.current) observer.current.disconnect();\n\n observer.current = new IntersectionObserver((entries) => {\n if (entries[0].isIntersecting) {\n if (selectedApprovalOtions === \"All Requests\") {\n setVisibleAll((prev) => prev + 10);\n } else if (selectedApprovalOtions === \"Action Required\") {\n setVisiblePending((prev) => prev + 10);\n } else if (selectedApprovalOtions === \"selected\") {\n setVisibleSelected((prev) => prev + 10);\n }\n }\n });\n\n if (node) observer.current.observe(node);\n },\n [isLoading, selectedApprovalOtions]\n );\n const visibleAllRequests = filteredAllRequestArray.slice(0, visibleAll);\n const visiblePendingRequests = filteredPendingRequestArray.slice(\n 0,\n visiblePending\n );\n const visibleSelectedRequests = filteredSelectedRequestArray.slice(\n 0,\n visibleSelected\n );\n // infinite scroll end\n\n const handleSendBack = (workflowLogId: string) => {\n setSendDialog(workflowLogId);\n };\n\n const handleApprove = (workflowLogId: any) => {\n setApproveTarget(workflowLogId);\n };\n\n const handleReject = (workflowLogId: string) => {\n setRejectTarget(workflowLogId);\n };\n\n const handleOnHold = (workflowLogId: string) => {\n setOnHoldTarget(workflowLogId);\n };\n const handleProfileToggle = (option: string) => {\n setSelectedApprovalOtions(option);\n if (option === \"Action Required\") fetchPendingActivities();\n if (option === \"All Requests\") fetchAllActivites();\n if (option === \"selected\") fetchSelectedActivites();\n };\n\n const handleExpandClick = (id: string) => {\n setExpandedId((prevId) => (prevId === id ? null : id));\n fetchExpandedActivityLogs(id);\n };\n\n const getStatus = (status: string) => {\n switch (status.toLowerCase()) {\n case \"approved\":\n return {\n title: \"Approved\",\n color: theme.palette.success.light, // e.g. light green background\n labelColor: theme.palette.grey[100], // e.g. light grey text\n };\n\n case \"rejected\":\n return {\n title: \"Rejected\",\n color: theme.palette.error.light, // light red background\n labelColor: theme.palette.text.primary, // normal text color\n };\n\n case \"onhold\":\n case \"on_hold\":\n return {\n title: \"On Hold\",\n color: theme.palette.warning.light, // soft amber background\n labelColor: theme.palette.warning.main, // strong amber text\n };\n\n case \"inprogress\":\n case \"in_progress\":\n return {\n title: \"In Progress\",\n color: theme.palette.info.light, // light blue background\n labelColor: theme.palette.info.main, // blue text\n };\n\n case \"pending\":\n default:\n return {\n title: \"Pending\",\n color: theme.palette.grey[200], // light grey background\n labelColor: theme.palette.text.primary, // normal text color\n };\n }\n };\n\n const approvalChipLabel = [\n {\n label: \"Action Required\",\n icon: <span className=\"icon-document-forward\"></span>,\n count: pendingRequestArray.length || \"\",\n },\n {\n label: \"All Requests\",\n icon: <span className=\"icon-document-copy\"></span>,\n count: allRequestArray.length || \"\",\n },\n ];\n\n const fetchExpandedActivityLogs = (workflowLogId: string) => {\n setExpandedDetails([]);\n api\n .get({\n url: `/workflow/workflow-activity-logs/${workflowLogId}`,\n serviceURL: \"api\",\n })\n .then((res) => setExpandedDetails(res?.data));\n };\n\n const fetchPendingActivities = () => {\n setIsLoading(true);\n api\n .get({\n url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false&type=pending`,\n serviceURL: \"api\",\n })\n .then((res) => setPendingRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false));\n };\n\n const fetchAllActivites = () => {\n setIsLoading(true);\n api\n .get({\n url: `/workflow/activity-workflow/${userInfo?.userInfo?.id}?paginate=false`,\n serviceURL: \"api\",\n })\n .then((res) => setAllRequestArray(res?.data?.activities))\n .finally(() => setIsLoading(false));\n };\n\n const fetchSelectedActivites = () => {\n setIsLoading(true);\n api\n .post({\n url: `/workflow/bulk-details`,\n serviceURL: \"api\",\n data: { workflowIds: selectedWorkflowsList },\n })\n .then((res) => setSelectedRequestArray(res?.data))\n .finally(() => setIsLoading(false));\n };\n\n useEffect(() => {\n if (!sendDialog && !approveTarget && !onHoldTarget && !rejectTarget) {\n fetchAllActivites();\n fetchPendingActivities();\n setExpandedDetails([]);\n setExpandedId(null);\n }\n }, [sendDialog, approveTarget, onHoldTarget, rejectTarget, userInfo]);\n\n useEffect(() => {\n api.get({ url: `/workflow/url-config`, serviceURL: \"api\" }).then((res) => {\n const data = res?.data || [];\n const map = data.reduce((acc: any, { module_name, ...details }: any) => {\n acc[module_name] = details;\n return acc;\n }, {});\n setUrlConfig(map);\n });\n }, []);\n\n useEffect(() => {\n if (selectedWorkflowsList.length && !selectedRequestArray.length) {\n fetchSelectedActivites();\n }\n }, [selectedWorkflowsList]);\n\n const buildRedirectionUrl = (info: any) => {\n if (info?.redirection_link) return info.redirection_link;\n if (urlBuilder)\n return urlBuilder(\n info?.module_name,\n info?.module_id,\n urlConfig,\n info?.reference_id\n );\n // fallback simple URL builder\n const ref = urlConfig?.[info?.module_name];\n if (ref?.base_url && ref?.sub_url) {\n const qs = new URLSearchParams();\n if (info?.reference_id)\n qs.set(\"reference_id\", String(info?.reference_id));\n if (info?.module_name) qs.set(\"module_name\", String(info?.module_name));\n return `${ref.base_url}${ref.sub_url}${\n qs.toString() ? `?${qs.toString()}` : \"\"\n }`;\n }\n return \"#\";\n };\n\n if (isLoading && loadingComponent) return <>{loadingComponent}</>;\n\n return (\n <>\n <Box\n sx={{ display: \"flex\", justifyContent: \"center\", flexWrap: \"nowrap\" }}\n >\n <Box sx={{ width: \"100%\", height: \"100%\" }}>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <Box sx={{ mt: 2, mb: 2 }}>\n {selectedWorkflowsList?.length ? (\n <Tooltip title=\"Selected Workflows\">\n <StyledChipProps\n label={\"Selected\"}\n icon={<span className=\"icon-eye\"></span>}\n color={\n selectedApprovalOtions?.includes(\"selected\")\n ? \"primary\"\n : \"default\"\n }\n variant=\"filled\"\n sx={{\n mr: 4,\n mb: 4,\n \"& .MuiChip-icon\": { fontSize: \"18px !important\" },\n }}\n onClick={() => handleProfileToggle(\"selected\")}\n />\n </Tooltip>\n ) : (\n \"\"\n )}\n\n {approvalChipLabel.map(({ label, icon, count }, index) => (\n <Tooltip key={index} title={`${count} ${label}`}>\n <StyledChipProps\n label={`${count} ${label}`}\n icon={icon}\n color={\n selectedApprovalOtions?.includes(label)\n ? \"primary\"\n : \"default\"\n }\n variant=\"filled\"\n sx={{\n mr: 4,\n mb: 4,\n \"& .MuiChip-icon\": { fontSize: \"18px !important\" },\n }}\n onClick={() => handleProfileToggle(label)}\n />\n </Tooltip>\n ))}\n </Box>\n <Box sx={{ flexGrow: 1, maxWidth: 250, ml: \"auto\" }}>\n <SearchBox\n placeHolderTitle=\"Search\"\n searchText={searchText}\n handleClearSearch={handleClearSearch}\n handleInputChange={(e) => handleSearchChange(e.target.value)}\n />\n </Box>\n </Box>\n\n {/* Selected */}\n {selectedApprovalOtions === \"selected\" && (\n <Box\n className=\"fixedModal\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visibleSelectedRequests?.map((info: any, index: number) => {\n const currentLevel = info?.levels.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel ? currentLevel.status_list : [];\n const statusByNum = (statusList || []).reduce(\n (acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s;\n return acc;\n },\n {} as any\n );\n\n const redir = buildRedirectionUrl(info);\n\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visibleSelectedRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"22%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography\n variant=\"h6\"\n fontWeight={600}\n noWrap\n color=\"text.primary\"\n >\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n noWrap\n sx={{ mt: 0.5 }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <Typography\n component=\"a\"\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n sx={{\n display: \"block\",\n color: \"primary.dark\",\n fontWeight: 500,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n mt: 0.8,\n }}\n >\n {redir}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu or Status Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" &&\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.order <=\n info?.levels?.find(\n (lvl: any) =>\n Number(lvl.assign_to[0]) ===\n userInfo?.userInfo?.id\n )?.order ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)?.id\n }`\n )\n }\n statusList={\n info?.isLevelZero &&\n info?.created_by === userInfo?.userInfo?.id\n ? statusList?.filter(\n (app: any) => app.status == 1\n )\n : statusList\n }\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: getStatus(currentStatus).color,\n color: getStatus(currentStatus).labelColor,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\"HH:mm\"),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name || \"N/A\",\n subTitle:\n item?.comment_reasons?.comment || \"No Comments\",\n attachment: item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n }))}\n />\n )}\n </Box>\n )}\n </Card>\n );\n })}\n </Box>\n )}\n\n {/* All Requests */}\n {selectedApprovalOtions === \"All Requests\" && (\n <Box\n className=\"fixedModal\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visibleAllRequests?.map((info: any, index: number) => {\n const currentLevel = info?.levels.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel ? currentLevel.status_list : [];\n const statusByNum = (statusList || []).reduce(\n (acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s;\n return acc;\n },\n {} as any\n );\n\n const redir = buildRedirectionUrl(info);\n\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visibleAllRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography\n variant=\"h6\"\n fontWeight={600}\n noWrap\n color=\"text.primary\"\n >\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{ mt: 0.5, color: \"text.secondary\" }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"18%\", minWidth: 180 }}>\n <Typography\n variant=\"caption\"\n color=\"text.secondary\"\n sx={{ display: \"block\" }}\n >\n Links\n </Typography>\n <Tooltip title={redir}>\n <Typography\n component=\"a\"\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n sx={{\n display: \"block\",\n color: \"primary.dark\",\n fontWeight: 500,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n mt: 0.8,\n }}\n >\n {redir}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ“Ž Attachments */}\n <Box sx={{ flexBasis: \"12%\", minWidth: 120 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Attachments\n </Typography>\n <Typography\n variant=\"body2\"\n noWrap\n sx={{\n mt: 0.8,\n color: info?.attachment_links?.length\n ? \"primary.dark\"\n : \"text.disabled\",\n }}\n >\n {info?.attachment_links?.length\n ? `${info.attachment_links.length} file(s)`\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* โฐ TAT */}\n <Box sx={{ flexBasis: \"14%\", minWidth: 130 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n TAT\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n mt: 0.8,\n fontWeight: 500,\n color: \"text.primary\",\n }}\n >\n {currentLevel?.tat_expiry\n ? moment(currentLevel.tat_expiry)\n .utcOffset(\"UTC+05:30\")\n .format(\"DD/MM/YYYY hh:mm A\")\n : \"N/A\"}\n </Typography>\n </Box>\n\n {/* ๐Ÿ”ข Level */}\n <Box\n sx={{\n flexBasis: \"8%\",\n minWidth: 80,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n Current Level\n </Typography>\n <Typography variant=\"body2\" sx={{ mt: 0.8 }}>\n {info?.isLevelZero\n ? \"L0\"\n : \"L\" +\n ((info?.levels?.findIndex(\n (lvl: any) => lvl.id === info?.current_level\n ) ?? -1) + 1 || \"\")}\n </Typography>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu or Status Chip */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {info?.current_status !== \"completed\" &&\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.order <=\n info?.levels?.find(\n (lvl: any) =>\n Number(lvl.assign_to[0]) ===\n userInfo?.userInfo?.id\n )?.order ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)?.id\n }`\n )\n }\n statusList={\n info?.isLevelZero &&\n info?.created_by === userInfo?.userInfo?.id\n ? statusList?.filter(\n (app: any) => app.status == 1\n )\n : statusList\n }\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: getStatus(currentStatus).color,\n color: getStatus(currentStatus).labelColor,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n {/* Divider & Expand */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\"HH:mm\"),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name || \"N/A\",\n subTitle:\n item?.comment_reasons?.comment || \"No Comments\",\n attachment: item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n }))}\n />\n )}\n </Box>\n )}\n </Card>\n );\n })}\n </Box>\n )}\n\n {/* Action Required */}\n {selectedApprovalOtions === \"Action Required\" && (\n <Box\n className=\"fixedModal\"\n sx={{\n overflowY: \"auto\",\n height: \"calc(100vh - 180px)\",\n px: 2,\n pb: 3,\n }}\n >\n {visiblePendingRequests?.map((info: any, index: number) => {\n const currentLevel = info?.levels?.find(\n (level_: any) => level_.id === info?.current_level\n );\n const statusList = currentLevel ? currentLevel.status_list : [];\n const statusByNum = (statusList || []).reduce(\n (acc: any, s: any) => {\n if (s?.status != null) acc[s.status] = s;\n return acc;\n },\n {} as any\n );\n const redir = buildRedirectionUrl(info);\n\n const currentStatus =\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 1\n ? \"approved\"\n : info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.selected_status?.status_id === 3\n ? \"rejected\"\n : \"pending\";\n\n const statusData = getStatus(currentStatus);\n\n return (\n <Card\n key={index}\n ref={\n index === visiblePendingRequests.length - 1\n ? lastCardRef\n : null\n }\n sx={{\n mb: 3,\n borderRadius: \"14px\",\n boxShadow: \"0px 2px 10px rgba(76, 78, 100, 0.1)\",\n px: 3,\n py: 2,\n }}\n >\n <CardContent\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: { xs: \"wrap\", md: \"nowrap\" },\n gap: 2,\n }}\n >\n {/* ๐Ÿงพ Activity Info */}\n <Box sx={{ flexBasis: \"22%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography\n variant=\"h6\"\n fontWeight={600}\n noWrap\n color=\"text.primary\"\n >\n {info.activity_name}\n </Typography>\n </Tooltip>\n <Tooltip title={info.description_data}>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n noWrap\n sx={{ mt: 0.5 }}\n >\n {info.description_data}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐Ÿ”— Links */}\n <Box sx={{ flexBasis: \"20%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <Typography\n component=\"a\"\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n sx={{\n display: \"block\",\n color: \"primary.dark\",\n fontWeight: 500,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n mt: 0.8,\n }}\n >\n {redir}\n </Typography>\n </Tooltip>\n </Box>\n\n {/* ๐ŸŸฆ Action Menu or Status */}\n <Box\n sx={{\n flexBasis: \"18%\",\n minWidth: 200,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n gap: 1.5,\n }}\n >\n {/* โœ… Action or Chip */}\n {info?.current_status !== \"completed\" &&\n info?.levels?.find(\n (lvl: any) => lvl.id === info?.current_level\n )?.order <=\n info?.levels?.find(\n (lvl: any) =>\n Number(lvl.assign_to[0]) ===\n userInfo?.userInfo?.id\n )?.order ? (\n <ActionMenu\n onSendBack={() => handleSendBack(info?._id)}\n onApprove={() =>\n handleApprove(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 1)?.id\n }`\n )\n }\n onReject={() =>\n handleReject(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 3)?.id\n }|${info?.reasons}`\n )\n }\n onHold={() =>\n handleOnHold(\n `${info?._id}|${\n statusList.find((i: any) => i.status == 2)?.id\n }`\n )\n }\n statusList={\n info?.isLevelZero &&\n info?.created_by === userInfo?.userInfo?.id\n ? statusList?.filter(\n (app: any) => app.status == 1\n )\n : statusList\n }\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: getStatus(currentStatus).color,\n color: getStatus(currentStatus).labelColor,\n height: \"40px\",\n px: 2,\n borderRadius: \"100px !important\",\n \"& .MuiChip-label\": {\n fontSize: \"14px\",\n lineHeight: \"15.4px\",\n fontWeight: \"500\",\n textTransform: \"capitalize\",\n },\n }}\n label={statusData.title}\n />\n )}\n\n {/* Divider */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n borderColor: \"#E0E0E0\",\n height: \"40px\",\n }}\n />\n\n {/* Expand Icon */}\n <IconButton\n disableFocusRipple\n disableRipple\n color=\"primary\"\n sx={{\n background: \"rgba(25,118,210,0.08)\",\n boxShadow: \"2px 2px 10px 0px #4C4E6426\",\n \"& span\": { color: \"primary.dark\" },\n }}\n onClick={() => handleExpandClick(info._id)}\n >\n {expandedId === info._id ? (\n <span className=\"icon-arrow-down-1\"></span>\n ) : (\n <span className=\"icon-arrow-right-3\"></span>\n )}\n </IconButton>\n </Box>\n </CardContent>\n\n {/* ๐Ÿ”ฝ Expanded Timeline */}\n {expandedId === info._id && (\n <Box sx={{ mt: 2, ml: 2 }}>\n {!expandedDetails?.length ? (\n <Box\n sx={{\n height: 150,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CircularProgress size={36} color=\"primary\" />\n </Box>\n ) : (\n <CustomTimelineWithStatus\n events={expandedDetails?.map((item: any) => ({\n date: moment(item?.created_at).format(\n \"DD-MM-YYYY\"\n ),\n time: moment(item?.created_at).format(\"HH:mm\"),\n title:\n item?.type === \"create\"\n ? `Raised by - ${item?.created_by_user?.full_name}`\n : item?.created_by_user?.full_name || \"N/A\",\n subTitle:\n item?.comment_reasons?.comment || \"No Comments\",\n attachment: item?.comment_reasons?.file || null,\n count:\n item?.current_level == \"L0\"\n ? \"L0\"\n : item?.current_level_count,\n cardType: \"card\",\n }))}\n />\n )}\n </Box>\n )}\n </Card>\n );\n })}\n </Box>\n )}\n </Box>\n </Box>\n {/* Dialogs */}\n <SendBackDialog\n openModal={!!sendDialog}\n closeModal={() => setSendDialog(null)}\n header=\"Send Back\"\n workflowLogId={sendDialog || \"\"}\n />\n <ApproveDialog\n openModal={!!approveTarget}\n closeModal={() => setApproveTarget(null)}\n header=\"Approve\"\n workflowLogId={approveTarget?.split(\"|\")?.[0]}\n statusId={approveTarget?.split(\"|\")?.[1]}\n />\n <RejectDialog\n openModal={!!rejectTarget}\n closeModal={() => setRejectTarget(null)}\n header=\"Reject\"\n workflowLogId={rejectTarget?.split(\"|\")?.[0]}\n statusId={rejectTarget?.split(\"|\")?.[1]}\n rejection_reason_master={rejectTarget?.split(\"|\")?.[2]}\n />\n <OnHoldDialog\n openModal={!!onHoldTarget}\n closeModal={() => setOnHoldTarget(null)}\n header=\"On Hold\"\n workflowLogId={onHoldTarget?.split(\"|\")?.[0]}\n statusId={onHoldTarget?.split(\"|\")?.[1]}\n />\n </>\n );\n}\n","import React, { useEffect, useState } from 'react'\nimport Button from '@mui/material/Button'\nimport Dialog from '@mui/material/Dialog'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\nimport DialogActions from '@mui/material/DialogActions'\nimport DialogContent from '@mui/material/DialogContent'\nimport { IconButton } from '@mui/material'\nimport HighlightOffIcon from '@mui/icons-material/HighlightOff'\nimport { ApprovalWorkflow } from './ApprovalWorkflow'\nimport type { DialogOpenerProps } from '../types'\n\nexport function DialogOpener({\n openDialog,\n handleClose,\n userInfoData,\n selectedWorkflowsList = []\n}: DialogOpenerProps) {\n const theme = useTheme()\n const fullScreen = useMediaQuery(theme.breakpoints.down('lg'))\n const [screenWidth, setScreenWidth] = useState<number>(typeof window !== 'undefined' ? window.innerWidth : 0)\n\n useEffect(() => {\n const updateScreenWidth = () => setScreenWidth(window.innerWidth)\n window.addEventListener('resize', updateScreenWidth)\n return () => window.removeEventListener('resize', updateScreenWidth)\n }, [])\n\n return (\n <>\n <Dialog\n fullScreen={true}\n open={openDialog}\n onClose={() => handleClose && handleClose()}\n aria-labelledby=\"responsive-dialog-title\"\n sx={{ zIndex: 123 }}\n >\n <DialogContent>\n <IconButton onClick={handleClose} disableFocusRipple disableRipple sx={{ float: 'right' }}>\n <HighlightOffIcon style={{ color: '#666666' }} />\n </IconButton>\n <ApprovalWorkflow userInfo={userInfoData} selectedWorkflowsList={selectedWorkflowsList} />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n sx={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center' }}\n onClick={handleClose}\n >\n Close\n </Button>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n\n\n","import React from 'react'\nimport { WorkflowProvider } from './context'\nimport type { ApiClient, UrlBuilder, DialogOpenerProps, ApprovalWorkflowProps } from './types'\nimport { DialogOpener as InternalDialogOpener } from './ui/DialogOpener'\nimport { ApprovalWorkflow as InternalApprovalWorkflow } from './ui/ApprovalWorkflow'\n\nexport type { ApiClient, UrlBuilder, DialogOpenerProps, ApprovalWorkflowProps }\n\nexport function DialogOpener(props: DialogOpenerProps & {\n api: ApiClient\n urlBuilder?: UrlBuilder\n loadingComponent?: React.ReactNode\n}) {\n const { api, urlBuilder, loadingComponent, userInfoData, ...rest } = props\n return (\n <WorkflowProvider value={{ api, urlBuilder, userInfo: userInfoData, loadingComponent }}>\n <InternalDialogOpener {...rest} userInfoData={userInfoData} />\n </WorkflowProvider>\n )\n}\n\nexport function ApprovalWorkflow(props: ApprovalWorkflowProps & {\n api: ApiClient\n urlBuilder?: UrlBuilder\n loadingComponent?: React.ReactNode\n}) {\n const { api, urlBuilder, loadingComponent, userInfo, ...rest } = props\n return (\n <WorkflowProvider value={{ api, urlBuilder, userInfo, loadingComponent }}>\n <InternalApprovalWorkflow userInfo={userInfo} {...rest} />\n </WorkflowProvider>\n )\n}\n\n\n"]}