From 901729e1dbb42ddeba37220cc8c0a8aed3394233 Mon Sep 17 00:00:00 2001 From: Malini Date: Tue, 11 Nov 2025 18:51:02 +0530 Subject: [PATCH] adding landing page --- .../public/assets/images/FCSCLogo.png | Bin 0 -> 2452 bytes .../public/assets/images/lock.jpg | Bin 0 -> 17636 bytes .../public/assets/images/product-image.jpg | Bin 0 -> 68170 bytes .../public/assets/images/timeline-image.jpg | Bin 0 -> 25529 bytes ipi-survey-platform/src/App.jsx | 8 +- .../src/pages/Admin/AdminDashboard.jsx | 11 +- .../AdminUsers/ResetPasswordModal.jsx | 6 +- .../pages/Admin/configuration/IsicHsCodes.jsx | 51 ++++-- .../pages/LandingPage/component/Banner.jsx | 39 +++++ .../src/pages/LandingPage/component/Cards.jsx | 75 +++++++++ .../pages/LandingPage/component/Collect.jsx | 47 ++++++ .../src/pages/LandingPage/component/Cta.jsx | 35 +++++ .../src/pages/LandingPage/component/Faq.jsx | 97 ++++++++++++ .../pages/LandingPage/component/Footer.jsx | 99 ++++++++++++ .../LandingPage/component/Industrial.jsx | 49 ++++++ .../pages/LandingPage/component/Navbar.jsx | 146 ++++++++++++++++++ .../LandingPage/component/Participation.jsx | 40 +++++ .../pages/LandingPage/component/Protected.jsx | 88 +++++++++++ .../pages/LandingPage/component/Resources.jsx | 37 +++++ .../pages/LandingPage/component/Survey.jsx | 35 +++++ .../pages/LandingPage/component/Timeline.jsx | 54 +++++++ 21 files changed, 887 insertions(+), 30 deletions(-) create mode 100644 ipi-survey-platform/public/assets/images/FCSCLogo.png create mode 100644 ipi-survey-platform/public/assets/images/lock.jpg create mode 100644 ipi-survey-platform/public/assets/images/product-image.jpg create mode 100644 ipi-survey-platform/public/assets/images/timeline-image.jpg create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Banner.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Cards.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Collect.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Cta.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Faq.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Footer.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Industrial.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Navbar.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Participation.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Protected.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Resources.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Survey.jsx create mode 100644 ipi-survey-platform/src/pages/LandingPage/component/Timeline.jsx diff --git a/ipi-survey-platform/public/assets/images/FCSCLogo.png b/ipi-survey-platform/public/assets/images/FCSCLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..0148d29a75d03b641930c43fc63553a4223d7cdd GIT binary patch literal 2452 zcmV;F32XL=P)_6ddta?4@lCoug4mLDK6=N`bGCy?d|ET59waIiV#W(|Ve z0&M#bU~?MHV)KLX%zF8mRa-@hq9}{<%4>f>n`E=Py1Kf$y1Ur&4uETHFLv;VJH;>M z`V`xTudyDE^YkiDGjt2`z06a{(=<&LHCFyMS1Gw=|b|;JSFn(O{EO!2IvmtcP#ZpxIN-LjpY7j0R95^3x_By z8ge~Dp%f}RLeaP$*2hrzjxewAOzLJm>JgS1UIdf73!DnST@;>*7&Xv)T}2IaKTa7Q zBdlk2Ax{UjZ_+qd;^(skW+i@{#1NgHxE&Desq+_spNl z{dtS}C~KGADna3q&RpGb1HI}bLeZ{;-m1^w_scS02wWy2`IdY%HefY(hs+F*C=oA=zb%t z4l@1{O(Q*xqkPI(w0j8ol;L+fRk=JOS0|H>0^>EG*EO{6XhB|Z`3VXmdWp@*!FKxT zql$pV`Y6fVm4_fhzrfifXyJ6x9Jzb0{#lJo>w1Sa2n~60p7v45yoc`f!wx~^{^ttvDABkW@8<|f@h~qwD-{_pb!mn2&?+2-GRcJfons*xY-IKca(E;w8LBy~<{cXWfn!)DW zfW=!_(mZ!`O_9i`CQrX|rsxJwYU*4x?cEBuT0{K#vor+ z;{@$NrBZ=omsfrE(D+IU>vYY_cHUpLgj6@2wmxqtVyyr0RnCp^`o(erS+ z2zh!Zd7-8r{eBV4z3R;0v)t_rV*LMq1B*w*CNV^L5p`F=Fk*~Cc{KVUc?V7oPB9V6 z-xH=V8QU!Wy1*{hz{&Tx9Zh@dzRCj)WcHoHTsOH)v!PxiP)uOkw<>Nk`qvuCo5D(q%6#qcP`$&0L2H9};NIcEptV6~!B9UP@miqwPDfH#uAG8UTdLt>TyM`F{Z9r*bS8wF%={ugm z$)K?VAHvqucXbC>zE>l6-_cde^eX&zPkE$Tf74!cabDEVjmWq zNl_e{VdFLAd?I!Of6<4TROX)W z*LI{LAMcNy>}QUb$}tk!Lzn@kuz1Blc=u6`p`4%`%sPV&uy!8euU8+iMaW=QK1F$y z(&Bl(FoMPI-?{f19C{(o35xLai-!8BaDUqA!aXywGhf3F+Xj@6*7-WWsIi4JbA+;&+=csb(Ncrpbg^YfVV!s`&)xv2aE{tco~fWyxeq8tRt)P%4Fkuh z2YDxscW|^+{A<{u+F7M;Ex!l*o)P3e!|E8rPMinHdn^2ctM3)cVf3k^39wMLu0w{x zbGbqM?dsbZwg*#pPr0a^F|0$_@tj)^VDWv9*3^~fz0T7|Ldy<&QsJpy=RorG7h-(o zG{O?n7f2UM@ZUr)^Ctawf3YhyIE^mUL06XDIJ)$~VR#zWM$N zTZnaIgE7CH9j3?iQWeVy})%}BF= z_09oAu-|s_+H>!y$m51`p^`U7VJK8$g85@-G0gjLYu98DROVBd;S3sR1Ll8{AEZ3X zvJKTv?P31hx`>=l}pzDB3)I((Po-uwm6W1T9;GG(FhJ(e;9Muo{f6C#IMmVSPyx_bx*Di{rFq zJ`uy*f1SLZhti`WYqdNaZRBKC?>K`^S6)6|gDaagw8MMaObudNv4cn4DSiN-G1~J8 S6so=e0000_w5WuM^qVlD%X% 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 z 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�i?3 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 literal 0 HcmV?d00001 diff --git a/ipi-survey-platform/public/assets/images/timeline-image.jpg b/ipi-survey-platform/public/assets/images/timeline-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3413097c177cc0da3c1797d0c3880f5489673a1 GIT binary patch literal 25529 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 literal 0 HcmV?d00001 diff --git a/ipi-survey-platform/src/App.jsx b/ipi-survey-platform/src/App.jsx index 473405c..edaec63 100644 --- a/ipi-survey-platform/src/App.jsx +++ b/ipi-survey-platform/src/App.jsx @@ -14,7 +14,7 @@ import ChangePassword from '@/pages/ChangePassword/ChangePassword'; import ForgotPassword from '@/pages/ForgotPassword/ForgotPassword'; import PublicContactForm from '@/pages/PublicContactForm'; import EditCompanyProfile from '@/pages/Admin/configuration/EditCompanyProfile'; - +import Navbar from './pages/LandingPage/component/Navbar'; const RequireRole = ({ allowedRoles = [], children }) => { let role; let token; @@ -37,7 +37,8 @@ const RequireRole = ({ allowedRoles = [], children }) => { return children; } - return ; + // return ; + return }; const SessionWarningModal = ({ show, remainingTime, onExtend, onLogout }) => { @@ -295,6 +296,9 @@ function App() { } /> } /> } /> + {/* landingpage */} + + } /> ); diff --git a/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx b/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx index 874d19b..963b694 100644 --- a/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx +++ b/ipi-survey-platform/src/pages/Admin/AdminDashboard.jsx @@ -51,14 +51,9 @@ const AdminDashboard = () => { setLoading(true); const params = new URLSearchParams(); - // Only add quarter and year to params if they are not 'All' - if (quarter && quarter !== 'All') { - params.append('quarter', quarter); - } - - if (year && year !== 'All') { - params.append('year', year); - } + // Always send both quarter and year, but use 'All' if not specified + params.append('quarter', quarter || 'All'); + params.append('year', year || 'All'); const response = await apiClient.get(`/admin_dashboard?${params.toString()}`); diff --git a/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers/ResetPasswordModal.jsx b/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers/ResetPasswordModal.jsx index d9207ac..f9318bb 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers/ResetPasswordModal.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/AdminUsers/ResetPasswordModal.jsx @@ -118,7 +118,7 @@ const ResetPasswordModal = ({ onClick={() => setShowOldPassword(!showOldPassword)} disabled={loading} > - {showOldPassword ? : } + {showOldPassword ? : } @@ -152,7 +152,7 @@ const ResetPasswordModal = ({ onClick={() => setShowNewPassword(!showNewPassword)} disabled={loading} > - {showNewPassword ? : } + {showNewPassword ? : } @@ -186,7 +186,7 @@ const ResetPasswordModal = ({ onClick={() => setShowConfirmPassword(!showConfirmPassword)} disabled={loading} > - {showConfirmPassword ? : } + {showConfirmPassword ? : } diff --git a/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx b/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx index 6a8c402..71f3a81 100644 --- a/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx +++ b/ipi-survey-platform/src/pages/Admin/configuration/IsicHsCodes.jsx @@ -132,20 +132,23 @@ const ImportModal = ({ isOpen, onClose, onImport }) => { let errorMsg = response.message || 'Import failed'; // Add duplicate HS codes to the error message if they exist - if (response.duplicate_hs_codes_in_system?.length > 0) { - errorMsg += `\nDuplicate HS codes found: ${response.duplicate_hs_codes_in_system.join(', ')}`; - } + // if (response.duplicate_hs_codes_in_system?.length > 0) { + // errorMsg += `\nDuplicate HS codes found: ${response.duplicate_hs_codes_in_system.join(', ')}`; + // } - // Show error summary if available - if (response.summary) { - errorMsg += `\nTotal records: ${response.summary.total_records}`; - errorMsg += `\nImported: ${response.summary.imported}`; - errorMsg += `\nSkipped: ${response.summary.skipped}`; + // // Show error summary if available + // if (response.summary) { + // errorMsg += `\nTotal records: ${response.summary.total_records}`; + // errorMsg += `\nImported: ${response.summary.imported}`; + // errorMsg += `\nSkipped: ${response.summary.skipped}`; if (response.summary.errors?.length > 0) { - errorMsg += `\n\nErrors:\n${response.summary.errors.join('\n')}`; + errorMsg += '\n\nErrors:'; + response.summary.errors.forEach(err => { + errorMsg += `\nRow ${err.row}: ${err.error}`; + }); } - } + setError(errorMsg); return; @@ -159,7 +162,24 @@ const ImportModal = ({ isOpen, onClose, onImport }) => { onClose(); } catch (err) { console.error('Error uploading CSV:', err); - const errorMessage = err.response?.data?.message || 'Failed to import file. Please try again.'; + let errorMessage = 'Failed to import file. Please try again.'; + + // Handle different error response formats + if (err.response?.data) { + if (typeof err.response.data === 'string') { + errorMessage = err.response.data; + } else if (err.response.data.message) { + errorMessage = err.response.data.message; + } else if (err.response.data.error) { + errorMessage = err.response.data.error; + } else { + // Stringify the entire response if it's an object + errorMessage = JSON.stringify(err.response.data, null, 2); + } + } else if (err.message) { + errorMessage = err.message; + } + setError(errorMessage); } finally { setLoading(false); @@ -175,12 +195,9 @@ const ImportModal = ({ isOpen, onClose, onImport }) => { const downloadSampleCSV = () => { const sampleData = [ - ['HS Code', 'Product Name', 'Unit', 'Description', 'Status'], - ['0101', 'Live Horses', 'kg', 'Live pure-bred breeding horses', 'Active'], - ['0102', 'Live Bovine Animals', 'kg', 'Live bovine animals', 'Active'], - ['0103', 'Live Swine', 'kg', 'Live swine', 'Active'], - ['0104', 'Live Sheep And Goats', 'kg', 'Live sheep and goats', 'Active'], - ['0105', 'Live Poultry', 'kg', 'Live poultry', 'Active'] + ['HS Code', 'Product Name', 'Unit'], + ['0101', 'Live Horses', 'kg'], + ['0102', 'Live Bovine Animals', 'kg'], ]; const csvContent = sampleData.map(row => diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Banner.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Banner.jsx new file mode 100644 index 0000000..a7f959e --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Banner.jsx @@ -0,0 +1,39 @@ +import React from "react"; + +const Banner = () => { + return ( +

+ {/* Tagline */} +
+ Official survey by{" "} + + Federal Competitiveness and Statistics Centre (FCSC) + +
+ + {/* Title */} +

+ Industrial Production Index (IPI) Survey – UAE +

+ + {/* Description */} +

+ A secure quarterly survey for manufacturing establishments — with{" "} + monthly breakdowns inside each quarter. + Your data powers official national indicators. +

+ + {/* Buttons */} +
+ + +
+
+ ); +}; + +export default Banner; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Cards.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Cards.jsx new file mode 100644 index 0000000..8d0722a --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Cards.jsx @@ -0,0 +1,75 @@ +import React from "react"; + +const steps = [ + { + number: 1, + title: "Notification", + description: "You receive an email/SMS when a new quarter opens.", + }, + { + number: 2, + title: "Sign in", + description: + "Use your FCSC-provided account. If needed, use Forgot password.", + }, + { + number: 3, + title: "Enter data", + description: + "Provide monthly quantities and values for each product in the open quarter (e.g., Jan, Feb, Mar for Q1).", + }, + { + number: 4, + title: "Validate", + description: + "Inline checks highlight missing or unusual values across months.", + }, + { + number: 5, + title: "Submit", + description: + "Certify accuracy for the quarter and submit.", + }, + { + number: 6, + title: "Review", + description: + "FCSC may contact you for clarifications or revisions.", + }, +]; + +const Cards = () => { + return ( +
+
+

How the survey works

+

A simple quarterly cycle

+
+ +
+ {steps.map((step) => ( +
+
+
+ {step.number} +
+

+ {step.title} +

+
+

{step.description}

+
+ ))} +
+ +

+ Accounts are issued by FCSC. There is no self-registration. +

+
+ ); +}; + +export default Cards; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Collect.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Collect.jsx new file mode 100644 index 0000000..c8a4428 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Collect.jsx @@ -0,0 +1,47 @@ +import React from "react"; + +const Collect = () => { + return ( +
+ {/* Left Section */} +
+

+ Why we collect this data +

+
    +
  • + To produce timely and reliable statistics on manufacturing trends. +
  • +
  • + To support evidence-based decisions by public and private stakeholders. +
  • +
  • + To contribute to national accounts and short-term economic indicators. +
  • +
+
+ + {/* Right Section */} +
+
+ {[ + { q: "Q1", period: "Jan–Mar" }, + { q: "Q2", period: "Apr–Jun" }, + { q: "Q3", period: "Jul–Sep" }, + { q: "Q4", period: "Oct–Dec" }, + ].map((item) => ( +
+

{item.q}

+

{item.period}

+
+ ))} +
+
+
+ ); +}; + +export default Collect; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Cta.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Cta.jsx new file mode 100644 index 0000000..b18ac66 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Cta.jsx @@ -0,0 +1,35 @@ +import React from "react"; + +const Cta = () => { + return ( +
+
+ {/* Left content */} +
+

+ We’re here to help +

+

+ Our support team can assist with access, questions, or clarifications. +

+

+ Support hours: Sun–Thu, 8:00–16:00 GST +

+
+ + {/* Buttons */} +
+ + +
+
+
+ ); +}; + +export default Cta; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Faq.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Faq.jsx new file mode 100644 index 0000000..aad558b --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Faq.jsx @@ -0,0 +1,97 @@ +import React, { useState } from "react"; +import { ChevronDown, ChevronUp } from "lucide-react"; // ✅ Up/Down icons + +const Faq = () => { + const [openIndex, setOpenIndex] = useState(null); + + const faqs = [ + { + question: "Do I need an account to respond?", + answer: + "Yes. FCSC provisions accounts to selected establishments. Use Login to access the survey.", + }, + { + question: "Can I register myself?", + answer: + "No. There is no self-registration. If you were contacted but can’t access your account, use Forgot password or Contact support.", + }, + { + question: "Is my data public?", + answer: "No. Results are published only in aggregate form.", + }, + { + question: "What if production was zero in a month?", + answer: "Enter 0 for the month and provide a reason when prompted.", + }, + { + question: "Can I update after submission?", + answer: + "Yes, if a revision window is open or if FCSC requests a correction.", + }, + { + question: "Which browser is supported?", + answer: "Latest Chrome, Edge, Safari.", + }, + { + question: "How long does it take?", + answer: + "Most respondents complete within minutes each quarter, depending on product lines.", + }, + { + question: "Who can I contact?", + answer: "See Need help below.", + }, + ]; + + const toggleFaq = (index) => { + setOpenIndex(openIndex === index ? null : index); + }; + + return ( +
+

+ Frequently asked questions +

+ +
+ {faqs.map((faq, index) => { + const isOpen = openIndex === index; + return ( +
+ + + {isOpen && ( +

+ {faq.answer} +

+ )} +
+ ); + })} +
+
+ ); +}; + +export default Faq; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Footer.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Footer.jsx new file mode 100644 index 0000000..f73754d --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Footer.jsx @@ -0,0 +1,99 @@ +import React from "react"; +import logo from "/assets/images/FCSCLogo.png"; + +import { + Phone, + PhoneCall, + Facebook, + Instagram, + Linkedin, + Youtube, + Mail, +} from "lucide-react"; + +const Footer = () => { + return ( +
+
+ {/* Column 1 */} +
+

+ The Ministry +

+
    +

    The Federal Competitiveness and Statistics Centre (FCSC) provides reliable data and insights to enhance the UAE’s competitiveness and support sustainable national development.

    +
+
+ + {/* Column 2 */} +
+

+ Using the website +

+ +
+ + {/* Column 3 */} +
+

+ Information and support +

+ +
+ + {/* Column 4 – Logo & Contact */} +
+ Tawasol Logo +
+
+ + +971 4 608 0000 +
+
+ + +971 4 327 3535 +
+

+

+ + +info@fcsc.gov.ae +
+

+
+
+
+ +
+
+

+ Copyright © 2025 Federal Competitiveness and Statistics Centre, All Rights Reserved{" "} + {/* All rights reserved. Last updated on 24/04/2023 at 15:45 */} +

+ + {/* Social Icons */} +
+ {/* + + + */} +
+
+
+
+ ); +}; + +export default Footer; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Industrial.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Industrial.jsx new file mode 100644 index 0000000..1c2d3e9 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Industrial.jsx @@ -0,0 +1,49 @@ +import React from "react"; + +const Industrial = () => { + return ( +
+ {/* Left Side: Content */} +
+

+ What is the Industrial Production Index (IPI)? +

+

+ The Industrial Production Index (IPI) measures changes in the volume + of industrial output over time. It tracks production across + manufacturing activities classified by ISIC and is a key official + indicator used to monitor economic activity and inform policy. +

+
+ + {/* Right Side: Quick Facts Box */} +
+

+ Quick facts +

+
    +
  • + Frequency: Quarterly (enter monthly figures for the + quarter) +
  • +
  • + Reference area: United Arab Emirates +
  • +
  • + Respondents: Registered manufacturing establishments +
  • +
  • + Classification: ISIC Rev.4 +
  • +
+ +
+ Tip: Keep monthly records ready (e.g., invoices, ERP + extracts). +
+
+
+ ); +}; + +export default Industrial; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Navbar.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Navbar.jsx new file mode 100644 index 0000000..a43f6cc --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Navbar.jsx @@ -0,0 +1,146 @@ +import React, { useState, useEffect } from "react"; +import { Menu, X } from "lucide-react"; +import logo from "/assets/images/FCSCLogo.png"; +import Banner from "./Banner"; +import Industrial from "./Industrial"; +import Collect from "./Collect"; +import Survey from "./Survey"; +import Cards from "./Cards"; +import Protected from "./Protected"; +import Participation from "./Participation"; +import Timeline from "./Timeline"; +import Faq from "./Faq"; +import Footer from "./Footer"; +import Resources from "./Resources"; +import Cta from "./Cta"; +import { Link } from "react-router-dom"; + +const Navbar = () => { + const [menuOpen, setMenuOpen] = useState(false); + const [activeSection, setActiveSection] = useState("about-ipi"); + + const closeMenu = () => setMenuOpen(false); + + // Scroll detection for active section + useEffect(() => { + const sections = document.querySelectorAll("section[id]"); + const options = { + root: null, + threshold: 0.5, + }; + + const observer = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + setActiveSection(entry.target.id); + } + }); + }, options); + + sections.forEach((section) => observer.observe(section)); + return () => sections.forEach((section) => observer.unobserve(section)); + }, []); + + // Active & hover styling + const linkClass = (id) => + `relative pb-1 transition-all duration-300 ${ + activeSection === id + ? "text-[#b9933b] after:content-[''] after:absolute after:left-0 after:bottom-0 after:w-full after:h-[2px] after:bg-[#b9933b]" + : "text-gray-800 hover:text-[#b9933b]" + }`; + + // Scroll and highlight on click + const handleClick = (id) => { + setActiveSection(id); + closeMenu(); + const section = document.getElementById(id); + if (section) { + section.scrollIntoView({ behavior: "smooth", block: "start" }); + } + }; + + return ( + <> + {/* Navbar */} +
+
+ FCSC Logo + + {/* Desktop Menu */} + + + {/* Mobile Menu Toggle */} + +
+ + {/* Mobile Menu */} + {menuOpen && ( +
+ {["about-ipi", "how-it-works", "eligibility", "faqs", "resources"].map((id) => ( + + ))} + + Login + +
+ )} +
+ + {/* Sections */} +
+ +
+
+
+ + + + +
+
+ +
+
+ + ); +}; + +export default Navbar; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Participation.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Participation.jsx new file mode 100644 index 0000000..7c16302 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Participation.jsx @@ -0,0 +1,40 @@ +import React from "react"; +import sampleForm from "/assets/images/product-image.jpg"; + +const Participation = () => { + return ( + +
+
+ {/* Left Side - Image / Form Box */} +
+
+ Participation form example +
+
+ + {/* Right Side - Text Content */} +
+

+ Why your participation matters +

+ +
    +
  • Accurate indicators help calibrate policies that affect industry.
  • +
  • Timely inputs reduce follow-up calls and queries.
  • +
  • Access to historical submissions and receipts for your records.
  • +
  • + Contributes to a complete national picture of manufacturing performance. +
  • +
+
+
+
+ ); +}; + +export default Participation; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Protected.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Protected.jsx new file mode 100644 index 0000000..f18cba2 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Protected.jsx @@ -0,0 +1,88 @@ +import React from "react"; +import Lock from "/assets/images/lock.jpg" + + +const Protected = () => { + return ( +
+
+ + {/* Left Side - Text Content */} +
+

+ How your data is protected and used +

+ +
+
+

Confidentiality

+

+ Your establishment’s data is confidential and used only for official + statistics. Published results are aggregated; no individual + establishment’s data is disclosed. +

+
+ +
+

Legal basis

+

+ + Collected under the national statistics mandate to compile official + indicators. Participation is compulsory for selected establishments + under applicable statistical regulations. +

+
+ +
+

Data security

+

+ + Role-based access, encryption in transit and at rest, and monitored + environments. Regular audits and adherence to government security + guidelines. +

+
+ +
+

Retention

+

+ + Data is retained only as long as necessary for statistical purposes per + policy. +

+
+
+ +

+ See{" "} + + Privacy Policy + + ,{" "} + + Terms of Use + {" "} + and{" "} + + Data Protection + + . +

+
+ + {/* Right Side - Image / Icon Box */} +
+
+ Data Protection Illustration +
+
+
+
+ ); +}; + +export default Protected; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Resources.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Resources.jsx new file mode 100644 index 0000000..d854db1 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Resources.jsx @@ -0,0 +1,37 @@ +import React from "react"; + +const Resources = () => { + const resources = [ + { title: "FCSC – Official website", link: "#" }, + { title: "Sample questionnaire (PDF)", link: "#" }, + { title: "Item classification guide (ISIC) (PDF)", link: "#" }, + { title: "Data definitions & unit guidelines (PDF)", link: "#" }, + { title: "Browser and system requirements", link: "#" }, + ]; + + return ( +
+
+

+ Resources & downloads +

+ +
+
+ ); +}; + +export default Resources; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Survey.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Survey.jsx new file mode 100644 index 0000000..159f717 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Survey.jsx @@ -0,0 +1,35 @@ +import React from "react"; + +const Survey = () => { + return ( +
+ {/* Heading */} +

+ Who should complete the IPI survey? +

+ + {/* Content */} +
+

+ Manufacturing establishments operating in the UAE that are selected/notified by FCSC. +

+

+ The survey is address-based: if your establishment is contacted, you are required + to respond for the reference quarter. +

+

+ If your activities paused or changed, you must still complete the survey and indicate + reasons where relevant. +

+

+ If you believe you were contacted in error, please see{" "} + + Contact + . +

+
+
+ ); +}; + +export default Survey; diff --git a/ipi-survey-platform/src/pages/LandingPage/component/Timeline.jsx b/ipi-survey-platform/src/pages/LandingPage/component/Timeline.jsx new file mode 100644 index 0000000..d0c87e5 --- /dev/null +++ b/ipi-survey-platform/src/pages/LandingPage/component/Timeline.jsx @@ -0,0 +1,54 @@ +import React from "react"; +import timelineImage from "/assets/images/timeline-image.jpg"; + +const Timeline = () => { + return ( +
+
+ + {/* Left Side - Text Content */} +
+

+ Key dates & timeline +

+ +
+

+ Survey frequency: Quarterly — each survey collects{" "} + monthly figures for the months in that quarter. +

+

+ Quarter mapping: Q1 (Jan–Mar), Q2 (Apr–Jun), Q3 (Jul–Sep), + Q4 (Oct–Dec). +

+

+ Windows: Open and deadline dates are communicated in + notifications; a short grace period may apply. +

+

+ Revisions: If requested, please update promptly; indices are + re-computed when revisions arrive. +

+

+ Tip: Keep your monthly records ready; you can save drafts + before final submission. +

+
+
+ + {/* Right Side - Image / Timeline Box */} +
+
+ Participation form example +
+
+
+
+ ); +}; + +export default Timeline;