11import React , { useState } from 'react' ;
2+ import PropTypes from 'prop-types' ; // ✅ Import prop-types
23import {
34 CCard ,
45 CCardBody ,
@@ -23,40 +24,14 @@ const RecruitmentModule = () => {
2324 const { data : jobPostings , error, isLoading } = useGetJobPostingsQuery ( ) ;
2425 const [ selectedJobId , setSelectedJobId ] = useState ( null ) ;
2526 const [ modalVisible , setModalVisible ] = useState ( false ) ;
26- const [ activityTracked , setActivityTracked ] = useState ( { jobId : null , jobTitle : null , jobDepartment : null } ) ; // State for tracking activity
2727
2828 const { data : jobDetails , isLoading : isJobLoading } = useGetJobPostingByIdQuery ( selectedJobId , {
2929 skip : ! selectedJobId , // Only fetch details when a job is selected
3030 } ) ;
3131
32- const trackActivity = ( jobId , action ) => {
33- const job = jobPostings . find ( ( job ) => job . _id === jobId ) ;
34- const jobTitle = job ? job . title : 'Unknown Job' ;
35- const jobDepartment = job ? job . department : 'Unknown Department' ;
36-
37- // Track the activity
38- setActivityTracked ( { jobId, jobTitle, jobDepartment } ) ;
39-
40- // Log the action (optional, for debugging)
41- console . log ( `${ action } job: ${ jobTitle } ` ) ;
42- } ;
43-
4432 const viewApplications = ( jobId ) => {
4533 setSelectedJobId ( jobId ) ;
4634 setModalVisible ( true ) ;
47- trackActivity ( jobId , 'View' ) ;
48- } ;
49-
50- const editJob = ( jobId ) => {
51- trackActivity ( jobId , 'Edit' ) ;
52- // Add your edit logic here
53- console . log ( `Editing job: ${ jobId } ` ) ;
54- } ;
55-
56- const deleteJob = ( jobId ) => {
57- trackActivity ( jobId , 'Delete' ) ;
58- // Add your delete logic here
59- console . log ( `Deleting job: ${ jobId } ` ) ;
6035 } ;
6136
6237 const closeModal = ( ) => {
@@ -99,7 +74,6 @@ const RecruitmentModule = () => {
9974 View
10075 </ CButton >
10176 </ CTableDataCell >
102-
10377 </ CTableRow >
10478 ) ) }
10579 </ CTableBody >
@@ -108,14 +82,6 @@ const RecruitmentModule = () => {
10882 </ CCardBody >
10983 </ CCard >
11084
111- { /* Track Activity */ }
112- { activityTracked . jobId && (
113- < ActivityTracker
114- action = { `Interacted with ${ activityTracked . jobTitle } ` }
115- description = { `Interacted with job: ${ activityTracked . jobTitle } in the ${ activityTracked . jobDepartment } department` }
116- />
117- ) }
118-
11985 { /* Modal to view applications */ }
12086 < CModal visible = { modalVisible } onClose = { closeModal } >
12187 < CModalHeader >
@@ -162,4 +128,11 @@ const RecruitmentModule = () => {
162128 ) ;
163129} ;
164130
165- export default RecruitmentModule ;
131+ // ✅ Add Prop Validation
132+ RecruitmentModule . propTypes = {
133+ jobPostings : PropTypes . array , // Array of job postings (fetched from API)
134+ error : PropTypes . object , // Error state from API
135+ isLoading : PropTypes . bool , // Loading state from API
136+ } ;
137+
138+ export default RecruitmentModule ;
0 commit comments