The home page (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/paaatrrrick/personalwebsite/llms.txt
Use this file to discover all available pages before exploring further.
src/Home.js) is the main landing page of the portfolio. It is composed of four distinct sections: a hero, work experiences, projects, and a contact footer.
Layout overview
Hero section
The hero displays an animated glitch-style heading and a full-body photo of Patrick. The heading is rendered as an unordered list (<ul className="headingText">) with three <li> items — “Hello,”, “I’m”, and “Patrick” — each using a CSS custom property --clr to drive its glitch animation color:
data-text attribute on each <a> tag mirrors the link text and is used by the CSS pseudo-element (::before / ::after) to produce the chromatic glitch offset effect. The --clr custom property sets the highlight color for each word independently.
The full-body photo (src/images/full.jpg) is rendered next to the heading inside .top.
A wave SVG divider is rendered immediately after the hero
<div className="top"> to provide a visual transition into the experiences section.Experiences section
The experiences section (<div className="busSect">) lists Patrick’s work history using <Work> components sourced from src/constants/work.js.
Default and expanded states
By default, only the first 2 entries are shown. A toggle button lets visitors expand or collapse the full list:Work component
Each entry renders a<Work> component with the following props:
| Prop | Type | Description |
|---|---|---|
title | string | Job title and company name |
text | string | Short description of responsibilities |
image | string | Cloudinary URL for company logo/image |
timeLine | string | Date range and location string |
Projects section
The projects section (<div className="codeSect">) works identically to the experiences section but renders <Card> components sourced from src/constants/projects.js.
Default and expanded states
Card component
Each entry renders a<Card> component (distinct from Mintlify’s Card — this is a custom component at src/components/Card.js) with the following props:
| Prop | Type | Description |
|---|---|---|
title | string | Project name |
text | string[] | Array of description lines |
image | string | Cloudinary URL (image or video) |
isVideo | boolean | Render as <video> instead of <img> |
links | object[] | Array of { text, href } link objects |
Contact footer
The contact footer (<div className="bott">) contains a farewell heading, a copyable email address, and a LinkedIn icon link.
Email copy-to-clipboard
The component uses two refs to handle the copy interaction:value of a read-only <input> element:
LinkedIn icon
A LinkedIn SVG icon is rendered in the footer. Clicking it callswindow.open to navigate to Patrick’s LinkedIn profile in a new tab.
State summary
| State variable | Initial value | Purpose |
|---|---|---|
projectsToShow | myProjects.slice(0, 2) | Controls how many projects are visible |
currentWorkExperience | workExperience.slice(0, 2) | Controls how many work entries are visible |