TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/luislopez-stack/landing-pages/llms.txt
Use this file to discover all available pages before exploring further.
Footer component sits at the bottom of every page and is rendered once inside App.js, outside the <Routes> block, so it appears on all routes automatically. Its file lives at src/components/Footer.js. The component auto-computes the current calendar year using new Date().getFullYear(), so the copyright notice never goes stale.
Structure
The footer uses a single Bootstrap<Container fluid> with one <Row> split across three equal md={4} columns:
src/components/Footer.js
| Column | Content |
|---|---|
Left (footer-copywright) | Static heading: “Designed and Developed by” |
Center (footer-copywright) | Auto-generated copyright line: © LZ |
Right (footer-body) | Row of four social icon anchor links |
Social icons
The four icons are rendered as a<ul className="footer-icons"> list. Each href is currently an empty string and must be filled in before going live:
src/components/Footer.js
href="" with the appropriate profile URL:
| Icon component | Network | href to fill in |
|---|---|---|
AiFillGithub | GitHub | Your GitHub profile URL, e.g. https://github.com/your-username |
AiOutlineTwitter | Twitter / X | Your Twitter profile URL, e.g. https://twitter.com/your-handle |
FaLinkedinIn | Your LinkedIn profile URL, e.g. https://linkedin.com/in/your-profile | |
AiFillInstagram | Your Instagram profile URL, e.g. https://instagram.com/your-handle |
Updating copyright
The year is generated dynamically — no manual updates are ever needed:src/components/Footer.js
LZ to your own name or brand, replace LZ with any string. For example:
src/components/Footer.js
<h3> text in the first <Col>.
CSS
The footer’s background and text color are controlled by the.footer class in src/style.css:
src/style.css
background-color value. To use a solid brand color, try:
src/style.css
Resume / ResumeNew component
The Resume page is served at the/resume route and is implemented in src/components/Resume/ResumeNew.js. It renders a PDF inline using the react-pdf library.
How it works:
pdfjs.GlobalWorkerOptions.workerSrcis set to thepdfjs-distCDN worker so the PDF engine loads without a local build step.- A
widthstate variable is initialized to1200and set towindow.innerWidthonce on mount via auseEffectwith an empty dependency array. There is no resize event listener — the value is read a single time when the component first renders. - The
widthvalue controls thescaleprop passed to<Page>: 1.7 for desktop viewports and 0.6 for narrow (mobile) screens, ensuring the PDF is readable at any size. - The PDF source is imported directly from
src/Assets/Soumyajit_Behera-BIT_MESRA.pdf.
src/Assets/Soumyajit_Behera-BIT_MESRA.pdf with your own CV or document — keeping the same filename — or update the import at the top of ResumeNew.js:
src/components/Resume/ResumeNew.js
href={pdf} and target="_blank" to open the PDF in a new browser tab:
src/components/Resume/ResumeNew.js
download attribute and no wrapping <a> tag. The Bootstrap <Button> renders directly as an anchor when given an href prop, and target="_blank" causes the PDF to open in a new tab rather than triggering a file download prompt.
The
/resume route is linked from the Resumen nav item in the Navbar, but that link currently uses an external href="" instead of a React Router <Link to="/resume">. See the Navbar docs for instructions on switching it to an internal link.