amp-workflow-ui 0.1.4 โ 0.1.5
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.
- package/dist/index.js +40 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +40 -10
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -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/CustomTimeLineWithStatus.tsx","../src/hooks/useDebounce.ts","../src/common-component/SearchBox.tsx","../src/ui/ApprovalWorkflow.tsx","../src/ui/DialogOpener.tsx","../src/index.tsx"],"names":["createContext","jsx","useContext","useState","jsxs","Fragment","Button","Menu","MenuItem","useRef","error","toast","Dialog","Box","DialogTitle","IconButton","HighlightOffIcon","DialogContent","Grid","TextField","InputAdornment","DialogActions","CircularProgress","useTheme","useMediaQuery","useEffect","FormControl","InputLabel","Select","Typography","Card","CardContent","Chip","Tooltip","styled","React","useCallback","getStatus","_a","_b","_c","_d","_e","_f","_g","moment","Divider","DialogOpener","ApprovalWorkflow"],"mappings":"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","file":"index.js","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, ENV_VARIABLES } =\n 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 useEffect(() => {\n if (Object.keys(urlConfig).length > 0 && userInfo) {\n fetchPendingActivities();\n }\n }, [urlConfig, userInfo]);\n\n const buildRedirectionUrl = (info: any) => {\n const { module_name, module_id, reference_id, redirection_link } = info;\n\n // Direct URL override\n if (redirection_link) return redirection_link;\n\n // Handle known module types\n if (module_name === \"route_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}route-listing/view/${reference_id}`;\n } else if (module_name === \"update_bus_details_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}bus-listing/view/${reference_id}`;\n } else if (module_name === \"kit_handover_approve\") {\n return `${ENV_VARIABLES?.FINANCE_URL}fee-collection/?reference_id=${reference_id}&module_name=${module_name}&module_id=${module_id}`;\n }\n\n // Generic fallback โ uses urlConfig and optional urlBuilder\n if (urlBuilder) {\n return urlBuilder(module_name, module_id, urlConfig, reference_id);\n }\n\n const ref = urlConfig?.[module_name];\n if (ref?.base_url && ref?.sub_url) {\n const qs = new URLSearchParams();\n if (reference_id) qs.set(\"reference_id\", String(reference_id));\n if (module_name) qs.set(\"module_name\", String(module_name));\n if (module_id) qs.set(\"module_id\", String(module_id));\n return `${ref.base_url}${ref.sub_url}?${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 <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\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 {/* ๐ 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 <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\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 redir = buildRedirectionUrl(info);\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 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: \"20%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography variant=\"h6\" fontWeight={600} noWrap>\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: \"18%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\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 / 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 <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={statusList}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: statusData.color,\n color: statusData.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 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 </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 {\n ApiClient,\n UrlBuilder,\n DialogOpenerProps,\n ApprovalWorkflowProps,\n} 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(\n props: DialogOpenerProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfoData,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{\n api,\n urlBuilder,\n userInfo: userInfoData,\n loadingComponent,\n ENV_VARIABLES,\n }}\n >\n <InternalDialogOpener {...rest} userInfoData={userInfoData} />\n </WorkflowProvider>\n );\n}\n\nexport function ApprovalWorkflow(\n props: ApprovalWorkflowProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfo,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{ api, urlBuilder, userInfo, loadingComponent, ENV_VARIABLES }}\n >\n <InternalApprovalWorkflow userInfo={userInfo} {...rest} />\n </WorkflowProvider>\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":["createContext","jsx","useContext","useState","jsxs","Fragment","Button","Menu","MenuItem","useRef","error","toast","Dialog","Box","DialogTitle","IconButton","HighlightOffIcon","DialogContent","Grid","TextField","InputAdornment","DialogActions","CircularProgress","useTheme","useMediaQuery","useEffect","FormControl","InputLabel","Select","Typography","Card","CardContent","Chip","Tooltip","styled","React","useCallback","getStatus","_a","_b","_c","_d","_e","_f","_g","moment","Divider","DialogOpener","ApprovalWorkflow"],"mappings":"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","file":"index.js","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, ENV_VARIABLES } =\n 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(\n 0,\n visibleAll\n );\n const visiblePendingRequests = (filteredPendingRequestArray || []).slice(\n 0,\n visiblePending\n );\n const visibleSelectedRequests = (filteredSelectedRequestArray || []).slice(\n 0,\n visibleSelected\n );\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 ? pendingRequestArray.length : 0,\n },\n {\n label: \"All Requests\",\n icon: <span className=\"icon-document-copy\"></span>,\n count: allRequestArray ? allRequestArray.length : 0,\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 useEffect(() => {\n if (Object.keys(urlConfig).length > 0 && userInfo) {\n fetchPendingActivities();\n }\n }, [urlConfig, userInfo]);\n\n const buildRedirectionUrl = (info: any) => {\n const { module_name, module_id, reference_id, redirection_link } = info;\n\n // Direct URL override\n if (redirection_link) return redirection_link;\n\n // Handle known module types\n if (module_name === \"route_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}route-listing/view/${reference_id}`;\n } else if (module_name === \"update_bus_details_approval\") {\n return `${ENV_VARIABLES?.TRANSPORT_URL}bus-listing/view/${reference_id}`;\n } else if (module_name === \"kit_handover_approve\") {\n return `${ENV_VARIABLES?.FINANCE_URL}fee-collection/?reference_id=${reference_id}&module_name=${module_name}&module_id=${module_id}`;\n }\n\n // Generic fallback โ uses urlConfig and optional urlBuilder\n if (urlBuilder) {\n return urlBuilder(module_name, module_id, urlConfig, reference_id);\n }\n\n const ref = urlConfig?.[module_name];\n if (ref?.base_url && ref?.sub_url) {\n const qs = new URLSearchParams();\n if (reference_id) qs.set(\"reference_id\", String(reference_id));\n if (module_name) qs.set(\"module_name\", String(module_name));\n if (module_id) qs.set(\"module_id\", String(module_id));\n return `${ref.base_url}${ref.sub_url}?${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 <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\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 {/* ๐ 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 <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\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 redir = buildRedirectionUrl(info);\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 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: \"20%\", minWidth: 220 }}>\n <Tooltip title={info.activityInstruction}>\n <Typography variant=\"h6\" fontWeight={600} noWrap>\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: \"18%\", minWidth: 180 }}>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Links\n </Typography>\n <Tooltip title={redir}>\n <a\n href={redir}\n target=\"_blank\"\n rel=\"noreferrer\"\n style={{\n cursor: \"pointer\",\n textDecoration: \"none\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n color=\"primary.dark\"\n sx={{\n mt: 0.8,\n lineHeight: \"15.4px\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {redir}\n </Typography>\n </a>\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 / 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 <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={statusList}\n />\n ) : (\n <Chip\n variant=\"filled\"\n sx={{\n backgroundColor: statusData.color,\n color: statusData.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 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 </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>(\n typeof window !== \"undefined\" ? window.innerWidth : 0\n );\n console.log(\"Dialog opener props\", {\n openDialog,\n handleClose,\n userInfoData,\n selectedWorkflowsList,\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: 1234 }}\n >\n <DialogContent>\n <IconButton\n onClick={handleClose}\n disableFocusRipple\n disableRipple\n sx={{ float: \"right\" }}\n >\n <HighlightOffIcon style={{ color: \"#666666\" }} />\n </IconButton>\n <ApprovalWorkflow\n userInfo={userInfoData}\n selectedWorkflowsList={selectedWorkflowsList}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"primary\"\n sx={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n }}\n onClick={handleClose}\n >\n Close\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n","import React from \"react\";\nimport { WorkflowProvider } from \"./context\";\nimport type {\n ApiClient,\n UrlBuilder,\n DialogOpenerProps,\n ApprovalWorkflowProps,\n} 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(\n props: DialogOpenerProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfoData,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{\n api,\n urlBuilder,\n userInfo: userInfoData,\n loadingComponent,\n ENV_VARIABLES,\n }}\n >\n <InternalDialogOpener {...rest} userInfoData={userInfoData} />\n </WorkflowProvider>\n );\n}\n\nexport function ApprovalWorkflow(\n props: ApprovalWorkflowProps & {\n api: ApiClient;\n urlBuilder?: UrlBuilder;\n loadingComponent?: React.ReactNode;\n ENV_VARIABLES?: any;\n }\n) {\n const {\n api,\n urlBuilder,\n loadingComponent,\n userInfo,\n ENV_VARIABLES,\n ...rest\n } = props;\n return (\n <WorkflowProvider\n value={{ api, urlBuilder, userInfo, loadingComponent, ENV_VARIABLES }}\n >\n <InternalApprovalWorkflow userInfo={userInfo} {...rest} />\n </WorkflowProvider>\n );\n}\n"]}
|