From af0524b7853228293c40cf1ab3b8aafbf3fb4647 Mon Sep 17 00:00:00 2001 From: Malini Date: Wed, 29 Oct 2025 18:26:41 +0530 Subject: [PATCH] issue fix for dev env --- ipi-survey-platform/src/App.jsx | 28 ++++++++--------- .../src/components/admin/AdminHeader.jsx | 20 ++++++------- .../src/components/admin/SubmissionTable.jsx | 4 +-- .../src/components/common/FormControls.jsx | 4 +-- .../src/components/common/Table.jsx | 8 ++--- .../dashboard/SubmissionHistory.jsx | 6 ++-- .../components/dashboard/WelcomeSection.jsx | 2 +- .../src/components/layout/HeaderBar.jsx | 14 ++++----- .../EstablishmentInfo/EstablishmentInfo.jsx | 4 +-- .../survey/ProductData/ProductData.jsx | 4 +-- .../survey/ReviewSubmit/ReviewSubmit.jsx | 4 +-- ipi-survey-platform/src/main.jsx | 10 +++---- .../src/pages/Admin/AdminDashboard.jsx | 18 +++++------ .../src/pages/Admin/AdminUsers.jsx | 4 +-- .../src/pages/Admin/Configuration.jsx | 14 ++++----- .../src/pages/Admin/ValidationReview.jsx | 22 +++++++------- .../src/pages/Admin/Validations.jsx | 14 ++++----- .../pages/Admin/configuration/AdminUsers.jsx | 26 ++++++++-------- .../Admin/configuration/CompanyProfile.jsx | 30 +++++++++---------- .../Admin/configuration/EmailTemplates.jsx | 2 +- .../Admin/configuration/Establishment.jsx | 18 +++++------ .../pages/Admin/configuration/IsicHsCodes.jsx | 22 +++++++------- .../Admin/configuration/QuarterlyWindows.jsx | 26 ++++++++-------- .../configuration/SubmissionDeadlines.jsx | 2 +- .../pages/Admin/configuration/UnitMaster.jsx | 26 ++++++++-------- .../pages/ChangePassword/ChangePassword.jsx | 8 ++--- .../src/pages/Dashboard/Dashboard.jsx | 8 ++--- .../pages/ForgotPassword/ForgotPassword.jsx | 4 +-- .../src/pages/History/History.jsx | 10 +++---- ipi-survey-platform/src/pages/Login/Login.jsx | 4 +-- .../src/pages/PublicContactForm.jsx | 8 ++--- .../src/pages/Survey/Survey.jsx | 14 ++++----- ipi-survey-platform/src/routes/AppRoutes.jsx | 10 +++---- .../src/services/admin/submission.js | 2 +- .../src/services/api/CommonService.js | 2 +- .../src/services/auth/authService.js | 2 +- .../establishments/establishmentService.js | 4 +-- .../src/services/masters/masterService.js | 2 +- .../services/submissions/submissionService.js | 4 +-- .../src/services/survey/surveyService.js | 6 ++-- .../src/services/utils/establishment.js | 5 ++++ ipi-survey-platform/tsconfig.json | 25 ++++++++++++++++ ipi-survey-platform/vite.config.js | 20 ++++++++++--- 43 files changed, 256 insertions(+), 214 deletions(-) create mode 100644 ipi-survey-platform/tsconfig.json diff --git a/ipi-survey-platform/src/App.jsx b/ipi-survey-platform/src/App.jsx index b44aa1b..a0f6652 100644 --- a/ipi-survey-platform/src/App.jsx +++ b/ipi-survey-platform/src/App.jsx @@ -1,17 +1,17 @@ -import React from 'react' -import { Routes, Route, Navigate } from 'react-router-dom' -import Dashboard from './pages/Dashboard/Dashboard' -import AdminDashboard from './pages/Admin/AdminDashboard' -import AdminUsers from './pages/Admin/AdminUsers' -import Validations from './pages/Admin/Validations' -import ValidationReview from './pages/Admin/ValidationReview' -import Configuration from './pages/Admin/Configuration' -import Survey from './pages/Survey/Survey' -import Login from './pages/Login/Login' -import History from './pages/History/History' -import ChangePassword from './pages/ChangePassword/ChangePassword' -import ForgotPassword from './pages/ForgotPassword/ForgotPassword' -import PublicContactForm from './pages/PublicContactForm' +import React from 'react'; +import { Routes, Route, Navigate } from 'react-router-dom'; +import Dashboard from '@/pages/Dashboard/Dashboard'; +import AdminDashboard from '@/pages/Admin/AdminDashboard'; +import AdminUsers from '@/pages/Admin/AdminUsers'; +import Validations from '@/pages/Admin/Validations'; +import ValidationReview from '@/pages/Admin/ValidationReview'; +import Configuration from '@/pages/Admin/Configuration'; +import Survey from '@/pages/Survey/Survey'; +import Login from '@/pages/Login/Login'; +import History from '@/pages/History/History'; +import ChangePassword from '@/pages/ChangePassword/ChangePassword'; +import ForgotPassword from '@/pages/ForgotPassword/ForgotPassword'; +import PublicContactForm from '@/pages/PublicContactForm'; const RequireRole = ({ allowedRoles = [], children }) => { let role diff --git a/ipi-survey-platform/src/components/admin/AdminHeader.jsx b/ipi-survey-platform/src/components/admin/AdminHeader.jsx index 379eddd..c9e2bb6 100644 --- a/ipi-survey-platform/src/components/admin/AdminHeader.jsx +++ b/ipi-survey-platform/src/components/admin/AdminHeader.jsx @@ -1,15 +1,15 @@ import React from 'react'; import { NavLink, useNavigate } from 'react-router-dom'; -import Logo from '../../assets/images/fcsclogo.svg'; -import DashboardIconActive from '../../assets/images/cuida_dashboard-outline.svg'; -import DashboardIconInactive from '../../assets/images/cuida_dashboard-outline-inactive.svg'; -import CheckCircleActive from '../../assets/images/checkcircle-active.svg'; -import ConfigActive from '../../assets/images/configrationicon-active.svg'; -import ConfigInactive from '../../assets/images/configrationicon-inactive.svg'; -import UserActive from '../../assets/images/user-active.svg'; -import UserInactive from '../../assets/images/user-inactive.svg'; -import ManageSubmissionInactive from '../../assets/images/managesubmission - inactive.svg'; -import BellIconAsset from '../../assets/images/bell.svg'; +import Logo from '@/assets/images/fcsclogo.svg'; +import DashboardIconActive from '@/assets/images/cuida_dashboard-outline.svg'; +import DashboardIconInactive from '@/assets/images/cuida_dashboard-outline-inactive.svg'; +import CheckCircleActive from '@/assets/images/checkcircle-active.svg'; +import ConfigActive from '@/assets/images/configrationicon-active.svg'; +import ConfigInactive from '@/assets/images/configrationicon-inactive.svg'; +import UserActive from '@/assets/images/user-active.svg'; +import UserInactive from '@/assets/images/user-inactive.svg'; +import ManageSubmissionInactive from '@/assets/images/managesubmission - inactive.svg'; +import BellIconAsset from '@/assets/images/bell.svg'; const NavItem = ({ label, to, iconActive, iconInactive, end = false }) => ( { const normalized = String(status || '').toLowerCase(); diff --git a/ipi-survey-platform/src/components/dashboard/WelcomeSection.jsx b/ipi-survey-platform/src/components/dashboard/WelcomeSection.jsx index 00c0234..fc246d9 100644 --- a/ipi-survey-platform/src/components/dashboard/WelcomeSection.jsx +++ b/ipi-survey-platform/src/components/dashboard/WelcomeSection.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import HeaderBar from '../../components/layout/HeaderBar'; +import HeaderBar from '@/components/layout/HeaderBar'; const formatDate = (value) => { if (!value) return '—'; diff --git a/ipi-survey-platform/src/components/layout/HeaderBar.jsx b/ipi-survey-platform/src/components/layout/HeaderBar.jsx index 95bea4e..52d5eca 100644 --- a/ipi-survey-platform/src/components/layout/HeaderBar.jsx +++ b/ipi-survey-platform/src/components/layout/HeaderBar.jsx @@ -1,12 +1,12 @@ import React from 'react'; import { NavLink, useNavigate } from 'react-router-dom'; -import Logo from '../../assets/images/fcsclogo.svg'; -import SurveyIconActive from '../../assets/images/vector.svg'; -import SurveyIconInactive from '../../assets/images/vectorblack.svg'; -import DashboardIconActive from '../../assets/images/cuida_dashboard-outline.svg'; -import DashboardIconInactive from '../../assets/images/cuida_dashboard-outline-inactive.svg'; -import HistoryIconActive from '../../assets/images/mdi_history.svg'; -import HistoryIconInactive from '../../assets/images/history.svg'; +import Logo from '@/assets/images/fcsclogo.svg'; +import SurveyIconActive from '@/assets/images/vector.svg'; +import SurveyIconInactive from '@/assets/images/vectorblack.svg'; +import DashboardIconActive from '@/assets/images/cuida_dashboard-outline.svg'; +import DashboardIconInactive from '@/assets/images/cuida_dashboard-outline-inactive.svg'; +import HistoryIconActive from '@/assets/images/mdi_history.svg'; +import HistoryIconInactive from '@/assets/images/history.svg'; const HeaderBar = () => { const [open, setOpen] = React.useState(false); diff --git a/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx b/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx index cbe0b8d..83075c7 100644 --- a/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx +++ b/ipi-survey-platform/src/components/survey/EstablishmentInfo/EstablishmentInfo.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import CaretDown from '../../../assets/images/caretdown.svg'; -import BackVendor from '../../../assets/images/backvector.svg'; +import CaretDown from '@/assets/images/caretdown.svg'; +import BackVendor from '@/assets/images/backvector.svg'; const Field = ({ label, placeholder = '', type = 'text', value = '', onChange = () => {}, disabled = false }) => (
diff --git a/ipi-survey-platform/src/components/survey/ProductData/ProductData.jsx b/ipi-survey-platform/src/components/survey/ProductData/ProductData.jsx index 250c489..80acd60 100644 --- a/ipi-survey-platform/src/components/survey/ProductData/ProductData.jsx +++ b/ipi-survey-platform/src/components/survey/ProductData/ProductData.jsx @@ -4,8 +4,8 @@ import { fetchZeroTargetReasons, fetchProducts, fetchUnits, -} from '../../../services/masters/masterService.js'; -import CaretDown from '../../../assets/images/caretdown-black.svg'; +} from '@/services/masters/masterService.js'; +import CaretDown from '@/assets/images/caretdown-black.svg'; const Input = ({ placeholder = '', type = 'text', value = '', onChange = () => {} }) => ( (
diff --git a/ipi-survey-platform/src/main.jsx b/ipi-survey-platform/src/main.jsx index 0b295bd..6ba41ee 100644 --- a/ipi-survey-platform/src/main.jsx +++ b/ipi-survey-platform/src/main.jsx @@ -1,8 +1,8 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.jsx' -import './index.css' -import { BrowserRouter } from 'react-router-dom' +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import { BrowserRouter } from 'react-router-dom'; +import App from '@/App'; +import '@/index.css'; ReactDOM.createRoot(document.getElementById('root')).render( diff --git a/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx b/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx index 2f27055..052419f 100644 --- a/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx +++ b/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx @@ -1,13 +1,13 @@ import React from 'react'; -import AdminHeader from '../../components/admin/AdminHeader'; -import StatCard from '../../components/admin/StatCard'; -import WpfSurveyIcon from '../../assets/images/wpf_survey.svg'; -import SubmittedIcon from '../../assets/images/check-circle-fill 1.svg'; -import ApprovedIcon from '../../assets/images/check-circle-fill 1-approved.svg'; -import RejectedIcon from '../../assets/images/warning-circle-fill 1.svg'; -import OverdueIcon from '../../assets/images/warning-fill 1.svg'; -import PendingIcon from '../../assets/images/info-fill 1.svg'; -import SubmissionTable from '../../components/admin/SubmissionTable'; +import AdminHeader from '@/components/admin/AdminHeader'; +import StatCard from '@/components/admin/StatCard'; +import WpfSurveyIcon from '@/assets/images/wpf_survey.svg'; +import SubmittedIcon from '@/assets/images/check-circle-fill 1.svg'; +import ApprovedIcon from '@/assets/images/check-circle-fill 1-approved.svg'; +import RejectedIcon from '@/assets/images/warning-circle-fill 1.svg'; +import OverdueIcon from '@/assets/images/warning-fill 1.svg'; +import PendingIcon from '@/assets/images/info-fill 1.svg'; +import SubmissionTable from '@/components/admin/SubmissionTable'; const AdminDashboard = () => { return ( diff --git a/ipi-survey-platform/src/pages/Admin/AdminUsers.jsx b/ipi-survey-platform/src/pages/Admin/AdminUsers.jsx index 44ce0a5..28273e9 100644 --- a/ipi-survey-platform/src/pages/Admin/AdminUsers.jsx +++ b/ipi-survey-platform/src/pages/Admin/AdminUsers.jsx @@ -1,8 +1,8 @@ import React from 'react'; import { Link } from 'react-router-dom'; -import AdminHeader from '../../components/admin/AdminHeader'; +import AdminHeader from '@/components/admin/AdminHeader'; import AdminUsersContent from './configuration/AdminUsers'; -import CaretUp from '../../assets/images/caret-up.svg'; +import CaretUp from '@/assets/images/caret-up.svg'; const AdminUsersPage = () => { return ( diff --git a/ipi-survey-platform/src/pages/Admin/Configuration.jsx b/ipi-survey-platform/src/pages/Admin/Configuration.jsx index 53c6df8..db000a8 100644 --- a/ipi-survey-platform/src/pages/Admin/Configuration.jsx +++ b/ipi-survey-platform/src/pages/Admin/Configuration.jsx @@ -1,12 +1,12 @@ import React from 'react'; import { Link } from 'react-router-dom'; -import AdminHeader from '../../components/admin/AdminHeader'; -import QuarterlyWindows from './configuration/QuarterlyWindows'; -import IsicHsCodes from './configuration/IsicHsCodes'; -import UnitMaster from './configuration/UnitMaster'; -import AdminUsers from './configuration/AdminUsers'; -import CompanyProfile from './configuration/CompanyProfile'; -import CaretUp from '../../assets/images/caret-up.svg'; +import AdminHeader from '@/components/admin/AdminHeader'; +import QuarterlyWindows from '@/pages/Admin/configuration/QuarterlyWindows'; +import IsicHsCodes from '@/pages/Admin/configuration/IsicHsCodes'; +import UnitMaster from '@/pages/Admin/configuration/UnitMaster'; +import AdminUsers from '@/pages/Admin/configuration/AdminUsers'; +import CompanyProfile from '@/pages/Admin/configuration/CompanyProfile'; +import CaretUp from '@/assets/images/caret-up.svg'; const Configuration = () => { const tabs = ['Quarterly Windows', 'HS Codes', 'Unit Master', 'Admin Users', 'Company Profile']; diff --git a/ipi-survey-platform/src/pages/Admin/ValidationReview.jsx b/ipi-survey-platform/src/pages/Admin/ValidationReview.jsx index be147cf..a82e357 100644 --- a/ipi-survey-platform/src/pages/Admin/ValidationReview.jsx +++ b/ipi-survey-platform/src/pages/Admin/ValidationReview.jsx @@ -1,16 +1,16 @@ import React from 'react'; import { Link, useNavigate, useParams } from 'react-router-dom'; -import AdminHeader from '../../components/admin/AdminHeader'; -import CaretUp from '../../assets/images/caret-up.svg'; -import EstablishmentIcon from '../../assets/images/establishment.svg'; -import EstablishmentIdIcon from '../../assets/images/establishmentid.svg'; -import EmailIcon from '../../assets/images/emailid.svg'; -import EmiratesIcon from '../../assets/images/emirates.svg'; -import TotalEmployeesIcon from '../../assets/images/totalemployess.svg'; -import MaleEmployeesIcon from '../../assets/images/maleemployes.svg'; -import FemaleEmployeesIcon from '../../assets/images/femaleemployess.svg'; -import UaeIcon from '../../assets/images/uae.svg'; -import NonUaeIcon from '../../assets/images/nonuae.svg'; +import AdminHeader from '@/components/admin/AdminHeader'; +import CaretUp from '@/assets/images/caret-up.svg'; +import EstablishmentIcon from '@/assets/images/establishment.svg'; +import EstablishmentIdIcon from '@/assets/images/establishmentid.svg'; +import EmailIcon from '@/assets/images/emailid.svg'; +import EmiratesIcon from '@/assets/images/emirates.svg'; +import TotalEmployeesIcon from '@/assets/images/totalemployess.svg'; +import MaleEmployeesIcon from '@/assets/images/maleemployes.svg'; +import FemaleEmployeesIcon from '@/assets/images/femaleemployess.svg'; +import UaeIcon from '@/assets/images/uae.svg'; +import NonUaeIcon from '@/assets/images/nonuae.svg'; const establishmentDetails = [ { label: 'Establishment Name', value: 'ABC Manufacturing LLC' }, diff --git a/ipi-survey-platform/src/pages/Admin/Validations.jsx b/ipi-survey-platform/src/pages/Admin/Validations.jsx index d6bb35d..b8d33b7 100644 --- a/ipi-survey-platform/src/pages/Admin/Validations.jsx +++ b/ipi-survey-platform/src/pages/Admin/Validations.jsx @@ -1,12 +1,12 @@ import React from 'react'; import { Link, useNavigate } from 'react-router-dom'; -import AdminHeader from '../../components/admin/AdminHeader'; -import Table from '../../components/common/Table'; -import SearchIcon from '../../assets/images/material-symbols_search-rounded.svg'; -import DownloadIcon from '../../assets/images/downloadsimple.svg'; -import CaretUp from '../../assets/images/caret-up.svg'; -import { SelectField } from '../../components/common/FormControls'; -import { getSubmissions } from '../../services/admin/submission.js'; +import AdminHeader from '@/components/admin/AdminHeader'; +import Table from '@/components/common/Table'; +import { SelectField } from '@/components/common/FormControls'; +import { getSubmissions } from '@/services/admin/submission'; +import SearchIcon from '@/assets/images/material-symbols_search-rounded.svg'; +import DownloadIcon from '@/assets/images/downloadsimple.svg'; +import CaretUp from '@/assets/images/caret-up.svg'; const STATUS_VARIANTS = { Approved: { background: '#F3FAF4', text: '#2F663C', border: '#F3FAF4' }, diff --git a/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers.jsx b/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers.jsx index d3497a9..ea4035b 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers.jsx @@ -1,17 +1,17 @@ import React from 'react'; -import Table from '../../../components/common/Table'; -import SearchIcon from '../../../assets/images/material-symbols_search-rounded.svg'; -import ExportIcon from '../../../assets/images/downloadsimple.svg'; -import AddIcon from '../../../assets/images/ic_baseline-plus.svg'; -import PencilActive from '../../../assets/images/pencilsimple.svg'; -import PencilInactive from '../../../assets/images/pencilsimple-inactive.svg'; -import TrashActive from '../../../assets/images/trash - active.svg'; -import TrashInactive from '../../../assets/images/trash - inactive.svg'; -import AdminUserIcon from '../../../assets/images/usergear.svg'; -import ActiveUserIcon from '../../../assets/images/active-user.svg'; -import InactiveUserIcon from '../../../assets/images/inactive-user.svg'; -import ResetPasswordIcon from '../../../assets/images/hugeicons_reset-password.svg'; -import ResetPasswordInactiveIcon from '../../../assets/images/hugeicons_reset-password-inactive.svg'; +import Table from '@/components/common/Table'; +import SearchIcon from '@/assets/images/material-symbols_search-rounded.svg'; +import ExportIcon from '@/assets/images/downloadsimple.svg'; +import AddIcon from '@/assets/images/ic_baseline-plus.svg'; +import PencilActive from '@/assets/images/pencilsimple.svg'; +import PencilInactive from '@/assets/images/pencilsimple-inactive.svg'; +import TrashActive from '@/assets/images/trash - active.svg'; +import TrashInactive from '@/assets/images/trash - inactive.svg'; +import AdminUserIcon from '@/assets/images/usergear.svg'; +import ActiveUserIcon from '@/assets/images/active-user.svg'; +import InactiveUserIcon from '@/assets/images/inactive-user.svg'; +import ResetPasswordIcon from '@/assets/images/hugeicons_reset-password.svg'; +import ResetPasswordInactiveIcon from '@/assets/images/hugeicons_reset-password-inactive.svg'; const SummaryCard = ({ label, count, icon, iconBg = '#FDF7EB' }) => (
diff --git a/ipi-survey-platform/src/pages/Admin/configuration/CompanyProfile.jsx b/ipi-survey-platform/src/pages/Admin/configuration/CompanyProfile.jsx index 19451ae..5b58dbc 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/CompanyProfile.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/CompanyProfile.jsx @@ -1,25 +1,25 @@ import React from 'react'; -import Table from '../../../components/common/Table'; -import Loader from '../../../components/common/Loader'; -import { TextField, SelectField, PhoneField } from '../../../components/common/FormControls'; -import { fetchEmirates, fetchCityTowns } from '../../../services/masters/masterService'; +import Table from '@/components/common/Table'; +import Loader from '@/components/common/Loader'; +import { TextField, SelectField, PhoneField } from '@/components/common/FormControls'; +import { fetchEmirates, fetchCityTowns } from '@/services/masters/masterService'; import { createEstablishment, fetchEstablishments, fetchEstablishmentDetail, updateEstablishment, deleteEstablishment, -} from '../../../services/establishments/establishmentService'; -import SearchIcon from '../../../assets/images/material-symbols_search-rounded.svg'; -import DownloadIcon from '../../../assets/images/downloadsimple.svg'; -import AddIcon from '../../../assets/images/ic_baseline-plus.svg'; -import PencilActive from '../../../assets/images/pencilsimple.svg'; -import PencilInactive from '../../../assets/images/pencilsimple-inactive.svg'; -import TrashActive from '../../../assets/images/trash - active.svg'; -import TrashInactive from '../../../assets/images/trash - inactive.svg'; -import ResetPasswordActive from '../../../assets/images/hugeicons_reset-password.svg'; -import ResetPasswordInactive from '../../../assets/images/hugeicons_reset-password-inactive.svg'; -import DeleteIcon from '../../../assets/images/delete.svg'; +} from '@/services/establishments/establishmentService'; +import SearchIcon from '@/assets/images/material-symbols_search-rounded.svg'; +import DownloadIcon from '@/assets/images/downloadsimple.svg'; +import AddIcon from '@/assets/images/ic_baseline-plus.svg'; +import PencilActive from '@/assets/images/pencilsimple.svg'; +import PencilInactive from '@/assets/images/pencilsimple-inactive.svg'; +import TrashActive from '@/assets/images/trash - active.svg'; +import TrashInactive from '@/assets/images/trash - inactive.svg'; +import ResetPasswordActive from '@/assets/images/hugeicons_reset-password.svg'; +import ResetPasswordInactive from '@/assets/images/hugeicons_reset-password-inactive.svg'; +import DeleteIcon from '@/assets/images/delete.svg'; const PASSWORD_POLICY = { minLength: 12, diff --git a/ipi-survey-platform/src/pages/Admin/configuration/EmailTemplates.jsx b/ipi-survey-platform/src/pages/Admin/configuration/EmailTemplates.jsx index 5fe227c..839d774 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/EmailTemplates.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/EmailTemplates.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import { SelectField, TextField } from '../../../components/common/FormControls'; +import { SelectField, TextField } from '@/components/common/FormControls'; const initialTemplate = { subject: 'IPI Survey Submission Reminder - {{quarter}}', diff --git a/ipi-survey-platform/src/pages/Admin/configuration/Establishment.jsx b/ipi-survey-platform/src/pages/Admin/configuration/Establishment.jsx index 7742848..0bc8bea 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/Establishment.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/Establishment.jsx @@ -1,13 +1,13 @@ import React from 'react'; -import Table from '../../../components/common/Table'; -import { TextField, SelectField } from '../../../components/common/FormControls'; -import SearchIcon from '../../../assets/images/material-symbols_search-rounded.svg'; -import ExportIcon from '../../../assets/images/downloadsimple.svg'; -import AddIcon from '../../../assets/images/ic_baseline-plus.svg'; -import PencilActive from '../../../assets/images/pencilsimple.svg'; -import PencilInactive from '../../../assets/images/pencilsimple-inactive.svg'; -import TrashActive from '../../../assets/images/trash - active.svg'; -import TrashInactive from '../../../assets/images/trash - inactive.svg'; +import Table from '@/components/common/Table'; +import { TextField, SelectField } from '@/components/common/FormControls'; +import SearchIcon from '@/assets/images/material-symbols_search-rounded.svg'; +import ExportIcon from '@/assets/images/downloadsimple.svg'; +import AddIcon from '@/assets/images/ic_baseline-plus.svg'; +import PencilActive from '@/assets/images/pencilsimple.svg'; +import PencilInactive from '@/assets/images/pencilsimple-inactive.svg'; +import TrashActive from '@/assets/images/trash - active.svg'; +import TrashInactive from '@/assets/images/trash - inactive.svg'; const establishmentsSeed = [ { diff --git a/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx b/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx index 0044b95..9edd4b2 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx @@ -1,15 +1,15 @@ import React from 'react'; -import Table from '../../../components/common/Table'; -import DownloadIcon from '../../../assets/images/downloadsimple.svg'; -import UploadImportIcon from '../../../assets/images/upload-import.svg'; -import AddIcon from '../../../assets/images/ic_baseline-plus.svg'; -import PencilActive from '../../../assets/images/pencilsimple.svg'; -import PencilInactive from '../../../assets/images/pencilsimple-inactive.svg'; -import TrashActive from '../../../assets/images/trash - active.svg'; -import TrashInactive from '../../../assets/images/trash - inactive.svg'; -import DeleteIcon from '../../../assets/images/delete.svg'; -import StatusBadge from '../../../components/common/StatusBadge'; -import { TextField, SelectField } from '../../../components/common/FormControls'; +import Table from '@/components/common/Table'; +import DownloadIcon from '@/assets/images/downloadsimple.svg'; +import UploadImportIcon from '@/assets/images/upload-import.svg'; +import AddIcon from '@/assets/images/ic_baseline-plus.svg'; +import PencilActive from '@/assets/images/pencilsimple.svg'; +import PencilInactive from '@/assets/images/pencilsimple-inactive.svg'; +import TrashActive from '@/assets/images/trash - active.svg'; +import TrashInactive from '@/assets/images/trash - inactive.svg'; +import DeleteIcon from '@/assets/images/delete.svg'; +import StatusBadge from '@/components/common/StatusBadge'; +import { TextField, SelectField } from '@/components/common/FormControls'; const createEmptyCodeForm = () => ({ code: '', diff --git a/ipi-survey-platform/src/pages/Admin/configuration/QuarterlyWindows.jsx b/ipi-survey-platform/src/pages/Admin/configuration/QuarterlyWindows.jsx index 9fe44f1..1694c64 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/QuarterlyWindows.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/QuarterlyWindows.jsx @@ -1,17 +1,17 @@ import React from 'react'; -import Table from '../../../components/common/Table'; -import DownloadIcon from '../../../assets/images/downloadsimple.svg'; -import AddIcon from '../../../assets/images/ic_baseline-plus.svg'; -import PencilActive from '../../../assets/images/pencilsimple.svg'; -import PencilInactive from '../../../assets/images/pencilsimple-inactive.svg'; -import TrashActive from '../../../assets/images/trash - active.svg'; -import TrashInactive from '../../../assets/images/trash - inactive.svg'; -import DeleteIcon from '../../../assets/images/delete.svg'; -import CaretDownActive from '../../../assets/images/caretdown-active.svg'; -import SearchIcon from '../../../assets/images/material-symbols_search-rounded.svg'; -import CaretDown from '../../../assets/images/caretdown-black.svg'; -import { TextField, SelectField, DateField } from '../../../components/common/FormControls'; -import StatusBadge from '../../../components/common/StatusBadge'; +import Table from '@/components/common/Table'; +import { TextField, SelectField, DateField } from '@/components/common/FormControls'; +import StatusBadge from '@/components/common/StatusBadge'; +import DownloadIcon from '@/assets/images/downloadsimple.svg'; +import AddIcon from '@/assets/images/ic_baseline-plus.svg'; +import PencilActive from '@/assets/images/pencilsimple.svg'; +import PencilInactive from '@/assets/images/pencilsimple-inactive.svg'; +import TrashActive from '@/assets/images/trash - active.svg'; +import TrashInactive from '@/assets/images/trash - inactive.svg'; +import DeleteIcon from '@/assets/images/delete.svg'; +import CaretDownActive from '@/assets/images/caretdown-active.svg'; +import SearchIcon from '@/assets/images/material-symbols_search-rounded.svg'; +import CaretDown from '@/assets/images/caretdown-black.svg'; const createEmptyQuarterForm = () => ({ establishment: '', diff --git a/ipi-survey-platform/src/pages/Admin/configuration/SubmissionDeadlines.jsx b/ipi-survey-platform/src/pages/Admin/configuration/SubmissionDeadlines.jsx index 3c3b2a0..78e500d 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/SubmissionDeadlines.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/SubmissionDeadlines.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import { TextField } from '../../../components/common/FormControls'; +import { TextField } from '@/components/common/FormControls'; const SubmissionDeadlines = () => { const [form, setForm] = React.useState({ diff --git a/ipi-survey-platform/src/pages/Admin/configuration/UnitMaster.jsx b/ipi-survey-platform/src/pages/Admin/configuration/UnitMaster.jsx index aa8969e..7f191de 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/UnitMaster.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/UnitMaster.jsx @@ -1,17 +1,17 @@ import React from 'react'; -import Table from '../../../components/common/Table'; -import DownloadIcon from '../../../assets/images/downloadsimple.svg'; -import AddIcon from '../../../assets/images/ic_baseline-plus.svg'; -import PencilActive from '../../../assets/images/pencilsimple.svg'; -import PencilInactive from '../../../assets/images/pencilsimple-inactive.svg'; -import TrashActive from '../../../assets/images/trash - active.svg'; -import TrashInactive from '../../../assets/images/trash - inactive.svg'; -import DeleteIcon from '../../../assets/images/delete.svg'; -import StatusBadge from '../../../components/common/StatusBadge'; -import { TextField, SelectField } from '../../../components/common/FormControls'; -import CaretDownIcon from '../../../assets/images/caretdown-active.svg'; -import RectangleIcon from '../../../assets/images/rectangle.svg'; -import CheckboxIcon from '../../../assets/images/checkbox.svg'; +import Table from '@/components/common/Table'; +import DownloadIcon from '@/assets/images/downloadsimple.svg'; +import AddIcon from '@/assets/images/ic_baseline-plus.svg'; +import PencilActive from '@/assets/images/pencilsimple.svg'; +import PencilInactive from '@/assets/images/pencilsimple-inactive.svg'; +import TrashActive from '@/assets/images/trash - active.svg'; +import TrashInactive from '@/assets/images/trash - inactive.svg'; +import DeleteIcon from '@/assets/images/delete.svg'; +import StatusBadge from '@/components/common/StatusBadge'; +import { TextField, SelectField } from '@/components/common/FormControls'; +import CaretDownIcon from '@/assets/images/caretdown-active.svg'; +import RectangleIcon from '@/assets/images/rectangle.svg'; +import CheckboxIcon from '@/assets/images/checkbox.svg'; const createEmptyUnitForm = () => ({ unitName: '', diff --git a/ipi-survey-platform/src/pages/ChangePassword/ChangePassword.jsx b/ipi-survey-platform/src/pages/ChangePassword/ChangePassword.jsx index 93c1ed6..04e51c8 100644 --- a/ipi-survey-platform/src/pages/ChangePassword/ChangePassword.jsx +++ b/ipi-survey-platform/src/pages/ChangePassword/ChangePassword.jsx @@ -1,7 +1,7 @@ -import React from "react"; -import Logo from "../../assets/images/fcsclogo.svg"; -import { useNavigate, useLocation } from "react-router-dom"; -import apiClient from "../../services/api/apiClient.js"; +import React from 'react'; +import { useNavigate, useLocation } from 'react-router-dom'; +import Logo from '@/assets/images/fcsclogo.svg'; +import apiClient from '@/services/api/apiClient'; const ChangePassword = () => { const navigate = useNavigate(); diff --git a/ipi-survey-platform/src/pages/Dashboard/Dashboard.jsx b/ipi-survey-platform/src/pages/Dashboard/Dashboard.jsx index 8336d49..71e4405 100644 --- a/ipi-survey-platform/src/pages/Dashboard/Dashboard.jsx +++ b/ipi-survey-platform/src/pages/Dashboard/Dashboard.jsx @@ -1,8 +1,8 @@ import React from 'react'; -import { WelcomeSection } from '../../components/dashboard/WelcomeSection'; -import { SurveyStatus } from '../../components/dashboard/SurveyStatus'; -import { SubmissionHistory } from '../../components/dashboard/SubmissionHistory'; -import { fetchEstablishmentDashboard } from '../../services/establishments/establishmentService.js'; +import { WelcomeSection } from '@/components/dashboard/WelcomeSection'; +import { SurveyStatus } from '@/components/dashboard/SurveyStatus'; +import { SubmissionHistory } from '@/components/dashboard/SubmissionHistory'; +import { fetchEstablishmentDashboard } from '@/services/establishments/establishmentService.js'; const Dashboard = () => { const [dashboardData, setDashboardData] = React.useState(null); diff --git a/ipi-survey-platform/src/pages/ForgotPassword/ForgotPassword.jsx b/ipi-survey-platform/src/pages/ForgotPassword/ForgotPassword.jsx index c90930a..d0368d5 100644 --- a/ipi-survey-platform/src/pages/ForgotPassword/ForgotPassword.jsx +++ b/ipi-survey-platform/src/pages/ForgotPassword/ForgotPassword.jsx @@ -1,7 +1,7 @@ import React from 'react'; -import Logo from '../../assets/images/fcsclogo.svg'; import { useNavigate } from 'react-router-dom'; -import { requestPasswordReset } from '../../services/auth/authService.js'; +import Logo from '@/assets/images/fcsclogo.svg'; +import { requestPasswordReset } from '@/services/auth/authService.js'; const ForgotPassword = () => { const navigate = useNavigate(); diff --git a/ipi-survey-platform/src/pages/History/History.jsx b/ipi-survey-platform/src/pages/History/History.jsx index 0bddc6e..1174ddb 100644 --- a/ipi-survey-platform/src/pages/History/History.jsx +++ b/ipi-survey-platform/src/pages/History/History.jsx @@ -1,10 +1,10 @@ import React from 'react'; import { useNavigate } from 'react-router-dom'; -import Table from '../../components/common/Table'; -import HeaderBar from '../../components/layout/HeaderBar'; -import { fetchSubmissionHistory } from '../../services/submissions/submissionService.js'; -import SearchIcon from '../../assets/images/material-symbols_search-rounded.svg'; -import CaretDown from '../../assets/images/caretdown.svg'; +import Table from '@/components/common/Table'; +import HeaderBar from '@/components/layout/HeaderBar'; +import { fetchSubmissionHistory } from '@/services/submissions/submissionService.js'; +import SearchIcon from '@/assets/images/material-symbols_search-rounded.svg'; +import CaretDown from '@/assets/images/caretdown.svg'; const Badge = ({ variant = 'default', children }) => { const styles = { diff --git a/ipi-survey-platform/src/pages/Login/Login.jsx b/ipi-survey-platform/src/pages/Login/Login.jsx index 36cdb51..3f42cb3 100644 --- a/ipi-survey-platform/src/pages/Login/Login.jsx +++ b/ipi-survey-platform/src/pages/Login/Login.jsx @@ -1,7 +1,7 @@ import React from 'react'; -import Logo from '../../assets/images/fcsclogo.svg'; import { useNavigate } from 'react-router-dom'; -import { login } from '../../services/auth/authService.js'; +import Logo from '@/assets/images/fcsclogo.svg'; +import { login } from '@/services/auth/authService.js'; const Login = () => { const navigate = useNavigate(); diff --git a/ipi-survey-platform/src/pages/PublicContactForm.jsx b/ipi-survey-platform/src/pages/PublicContactForm.jsx index ef8425e..122ae2c 100644 --- a/ipi-survey-platform/src/pages/PublicContactForm.jsx +++ b/ipi-survey-platform/src/pages/PublicContactForm.jsx @@ -1,7 +1,7 @@ -import React, { useState, useEffect } from "react"; -import Logo from "../assets/images/fcsclogo.svg"; -import { useNavigate } from "react-router-dom"; -import apiClient from "../services/api/apiClient.js"; +import React, { useState, useEffect } from 'react'; +import { useNavigate } from 'react-router-dom'; +import Logo from '@/assets/images/fcsclogo.svg'; +import apiClient from '@/services/api/apiClient'; const PublicContactForm = () => { const navigate = useNavigate(); diff --git a/ipi-survey-platform/src/pages/Survey/Survey.jsx b/ipi-survey-platform/src/pages/Survey/Survey.jsx index 86b75b8..120e1e9 100644 --- a/ipi-survey-platform/src/pages/Survey/Survey.jsx +++ b/ipi-survey-platform/src/pages/Survey/Survey.jsx @@ -1,12 +1,12 @@ import React from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; -import { submitSurvey, fetchSubmissionDetail } from '../../services/submissions/submissionService.js'; -import { fetchEstablishmentDetail } from '../../services/establishments/establishmentService.js'; -import EstablishmentInfo from '../../components/survey/EstablishmentInfo/EstablishmentInfo'; -import HeaderBar from '../../components/layout/HeaderBar'; -import ProductData from '../../components/survey/ProductData/ProductData'; -import ReviewSubmit from '../../components/survey/ReviewSubmit/ReviewSubmit'; -import CheckCircleActive from '../../assets/images/circleframe.svg'; +import { submitSurvey, fetchSubmissionDetail } from '@/services/submissions/submissionService'; +import { fetchEstablishmentDetail } from '@/services/establishments/establishmentService'; +import EstablishmentInfo from '@/components/survey/EstablishmentInfo/EstablishmentInfo'; +import HeaderBar from '@/components/layout/HeaderBar'; +import ProductData from '@/components/survey/ProductData/ProductData'; +import ReviewSubmit from '@/components/survey/ReviewSubmit/ReviewSubmit'; +import CheckCircleActive from '@/assets/images/circleframe.svg'; const createEmptyProduct = (id) => ({ id, diff --git a/ipi-survey-platform/src/routes/AppRoutes.jsx b/ipi-survey-platform/src/routes/AppRoutes.jsx index 243e264..d69a43f 100644 --- a/ipi-survey-platform/src/routes/AppRoutes.jsx +++ b/ipi-survey-platform/src/routes/AppRoutes.jsx @@ -1,10 +1,10 @@ import React from 'react'; import { Routes, Route } from 'react-router-dom'; -import Dashboard from '../pages/Dashboard/Dashboard'; -import Survey from '../pages/Survey/Survey'; -import History from '../pages/History/History'; -import Configuration from '../pages/Admin/Configuration'; -import AdminDashboard from '../pages/Admin/AdminDashboard'; +import Dashboard from '@/pages/Dashboard/Dashboard'; +import Survey from '@/pages/Survey/Survey'; +import History from '@/pages/History/History'; +import Configuration from '@/pages/Admin/Configuration'; +import AdminDashboard from '@/pages/Admin/AdminDashboard'; const AppRoutes = () => { return ( diff --git a/ipi-survey-platform/src/services/admin/submission.js b/ipi-survey-platform/src/services/admin/submission.js index 3ab264c..3fe46c1 100644 --- a/ipi-survey-platform/src/services/admin/submission.js +++ b/ipi-survey-platform/src/services/admin/submission.js @@ -1,4 +1,4 @@ -import apiClient from '../api/apiClient.js'; +import apiClient from '@/services/api/apiClient'; /** Fetch all submissions for the listing page */ export const getSubmissions = async () => { diff --git a/ipi-survey-platform/src/services/api/CommonService.js b/ipi-survey-platform/src/services/api/CommonService.js index 1b8984c..138db97 100644 --- a/ipi-survey-platform/src/services/api/CommonService.js +++ b/ipi-survey-platform/src/services/api/CommonService.js @@ -1,4 +1,4 @@ -import apiClient from './apiClient.js'; +import apiClient from '@/services/api/apiClient'; export const getRequest = (url, config = {}) => apiClient.get(url, config); diff --git a/ipi-survey-platform/src/services/auth/authService.js b/ipi-survey-platform/src/services/auth/authService.js index 943a391..04d1544 100644 --- a/ipi-survey-platform/src/services/auth/authService.js +++ b/ipi-survey-platform/src/services/auth/authService.js @@ -1,4 +1,4 @@ -import apiClient from '../api/apiClient.js'; +import apiClient from '@/services/api/apiClient'; export const login = async ({ email, password }) => { const response = await apiClient.post('/auth/login', { email, password }, { skipAuth: true }); diff --git a/ipi-survey-platform/src/services/establishments/establishmentService.js b/ipi-survey-platform/src/services/establishments/establishmentService.js index a4adc76..e524f08 100644 --- a/ipi-survey-platform/src/services/establishments/establishmentService.js +++ b/ipi-survey-platform/src/services/establishments/establishmentService.js @@ -1,5 +1,5 @@ -import { getRequest, postRequest, putRequest, deleteRequest } from '../api/CommonService.js'; -import resolveEstablishmentId from '../utils/establishment.js'; +import { getRequest, postRequest, putRequest, deleteRequest } from '@/services/api/CommonService'; +import resolveEstablishmentId from '@/services/utils/establishment'; const dashboardEndpoint = '/establishment_dashboard'; const establishmentsEndpoint = '/establishments'; diff --git a/ipi-survey-platform/src/services/masters/masterService.js b/ipi-survey-platform/src/services/masters/masterService.js index 944cdde..500c391 100644 --- a/ipi-survey-platform/src/services/masters/masterService.js +++ b/ipi-survey-platform/src/services/masters/masterService.js @@ -1,4 +1,4 @@ -import { getRequest } from '../api/CommonService.js'; +import { getRequest } from '@/services/api/CommonService'; const endpoints = { variationReasons: '/variation_reasons', diff --git a/ipi-survey-platform/src/services/submissions/submissionService.js b/ipi-survey-platform/src/services/submissions/submissionService.js index 6ddfc9d..f480e3b 100644 --- a/ipi-survey-platform/src/services/submissions/submissionService.js +++ b/ipi-survey-platform/src/services/submissions/submissionService.js @@ -1,5 +1,5 @@ -import { getRequest, postRequest } from '../api/CommonService.js'; -import resolveEstablishmentId from '../utils/establishment.js'; +import { getRequest, postRequest } from '@/services/api/CommonService'; +import resolveEstablishmentId from '@/services/utils/establishment'; const endpoint = '/submissions'; diff --git a/ipi-survey-platform/src/services/survey/surveyService.js b/ipi-survey-platform/src/services/survey/surveyService.js index fa8bd1f..9a6c47e 100644 --- a/ipi-survey-platform/src/services/survey/surveyService.js +++ b/ipi-survey-platform/src/services/survey/surveyService.js @@ -2,11 +2,11 @@ export { submitSurvey, fetchSubmissionHistory, fetchSubmissionDetail, -} from '../submissions/submissionService.js'; +} from '@/services/submissions/submissionService'; export { fetchEstablishmentDashboard, fetchEstablishmentDetail, -} from '../establishments/establishmentService.js'; +} from '@/services/establishments/establishmentService'; -export { default as resolveEstablishmentId } from '../utils/establishment.js'; +export { default as resolveEstablishmentId } from '@/services/utils/establishment'; diff --git a/ipi-survey-platform/src/services/utils/establishment.js b/ipi-survey-platform/src/services/utils/establishment.js index 1409189..01b4a0f 100644 --- a/ipi-survey-platform/src/services/utils/establishment.js +++ b/ipi-survey-platform/src/services/utils/establishment.js @@ -1,3 +1,8 @@ +/** + * Resolves an establishment ID from various input types + * @param {string|number} inputId - The input ID to resolve + * @returns {number|undefined} The resolved establishment ID or undefined if not found + */ export const resolveEstablishmentId = (inputId) => { if (typeof inputId === 'number' && Number.isFinite(inputId)) { return inputId; diff --git a/ipi-survey-platform/tsconfig.json b/ipi-survey-platform/tsconfig.json new file mode 100644 index 0000000..6ca0e63 --- /dev/null +++ b/ipi-survey-platform/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "baseUrl": ".", + "paths": { + "@assets/*": ["src/assets/*"] + } + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/ipi-survey-platform/vite.config.js b/ipi-survey-platform/vite.config.js index 8b0f57b..54e9de9 100644 --- a/ipi-survey-platform/vite.config.js +++ b/ipi-survey-platform/vite.config.js @@ -1,7 +1,19 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import path from 'path'; -// https://vite.dev/config/ export default defineConfig({ plugins: [react()], -}) + resolve: { + alias: { + '@': path.resolve(__dirname, 'src'), + '@assets': path.resolve(__dirname, 'src/assets'), + }, + }, + // Ensure Vite handles these file types + assetsInclude: ['**/*.svg', '**/*.png', '**/*.jpg', '**/*.jpeg', '**/*.gif'], + build: { + assetsDir: 'assets', + outDir: 'dist', + } +});