diff --git a/src/App.jsx b/src/App.jsx index db0da6589..e856a8e7d 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -15,6 +15,7 @@ import ApplicantDashboard from "./Modules/Patent/components/Applicant/ApplicantD import ViewApplicationsPage from "./Modules/Patent/components/Applicant/ApplicationView"; import SavedDraftsPage from "./Modules/Patent/components/Applicant/ApplicationDraft"; import ApplicationForm from "./Modules/Patent/components/Applicant/ApplicationForm"; +import StatusView from "./Modules/Patent/components/Applicant/StatusView"; export default function App() { const location = useLocation(); @@ -103,6 +104,14 @@ export default function App() { } /> + + + + } + /> } /> } /> diff --git a/src/Modules/Patent/components/Applicant/StatusView.css b/src/Modules/Patent/components/Applicant/StatusView.css index e69de29bb..9aa891b1d 100644 --- a/src/Modules/Patent/components/Applicant/StatusView.css +++ b/src/Modules/Patent/components/Applicant/StatusView.css @@ -0,0 +1,70 @@ +/* CSS for the whole page */ +body { + background-color: white; + font-family: Arial, sans-serif; + margin: 0; + padding: 20px; + color: #333; + } + + /* Styling for the main container */ + .mainbox { + background-color: white; + border-radius: 18px; + padding: 20px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + max-width: 1200px; + margin: 0 auto; + } + + /* Title Styling */ + h2 { + text-align: center; + color: #333; + } + + + + /* Table Headers */ + table th { + background-color: #f2f2f2; + color: #333; + text-align: left; + padding: 10px; + border: 1px solid #ddd; + font-weight: bold; + } + + /* Table Data */ + table td { + border: 1px solid #ddd; + padding: 10px; + color: #555; + } + + /* Table Row Hover Effect */ + table tr:hover { + background-color: #f9f9f9; + } + + /* Table Row Alternating Colors */ + table tr:nth-child(even) { + background-color: #f2f2f2; + } + + /* Styling for Paragraphs */ + p { + margin-bottom: 10px; + color: #333; + } + + /* Status Image Styling */ + + + /* Styling for Inventor Details Heading */ + h3 { + color: #333; + margin-top: 30px; + } + + \ No newline at end of file diff --git a/src/Modules/Patent/components/Applicant/StatusView.jsx b/src/Modules/Patent/components/Applicant/StatusView.jsx index e69de29bb..26e0928df 100644 --- a/src/Modules/Patent/components/Applicant/StatusView.jsx +++ b/src/Modules/Patent/components/Applicant/StatusView.jsx @@ -0,0 +1,158 @@ +import React from "react"; +import "./StatusView.css"; +import PropTypes from "prop-types"; // Import PropTypes +import { Progress, Tooltip } from "@mantine/core"; // Import Mantine Progress and Tooltip + +function PatentApplication(props) { + const { + title, + date, + applicationNumber, + tokenNumber, + attorneyName = "N/A", + phoneNumber = "N/A", + email = "N/A", + inventors = [], + status, + statusImage, + } = props; + + return ( +
+

Title of Patent Application

+

{title}

+ +
+

+ Date: {date} +

+

+ Application No.: {applicationNumber} +

+

+ Token No.: {tokenNumber} +

+

+ Attorney Name: {attorneyName} +

+

+ Phone No.: {phoneNumber} +

+

+ Email ID: {email} +

+
+ +

Details of All Inventors:

+ + + + + + + + + + {inventors.map((inventor, index) => ( + + + + + + ))} + +
+ Inventor's Name + + Email ID + + Phone No. +
+ {inventor.names} + + {inventor.email} + + {inventor.phone} +
+ +
+

+ Status of Application: {status} +

+ {statusImage && ( + Status + )} +
+ +
+

Application Progress

+ + + + Application Submit + + + + + + PCC Review + + + + + + Director Review + + + + + PCC Review + + + + + Attorney Assigned + + + +
+
+ ); +} + +PatentApplication.propTypes = { + title: PropTypes.string.isRequired, + date: PropTypes.string.isRequired, + applicationNumber: PropTypes.string.isRequired, + tokenNumber: PropTypes.string.isRequired, + attorneyName: PropTypes.string, + phoneNumber: PropTypes.string, + email: PropTypes.string, + inventors: PropTypes.arrayOf( + PropTypes.shape({ + name: PropTypes.string.isRequired, + email: PropTypes.string.isRequired, + phone: PropTypes.string.isRequired, + }), + ), + status: PropTypes.string.isRequired, + statusImage: PropTypes.string, +}; + +// Default props (if any) +PatentApplication.defaultProps = { + attorneyName: "N/A", + phoneNumber: "N/A", + email: "N/A", + inventors: [], + statusImage: null, +}; + +export default PatentApplication;