The home page is composed of three tightly coupled components —Documentation 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.
Home, Home2, and Type — all located in src/components/Home/. Together they produce the full landing experience: a two-column hero with an animated typewriter and a dental illustration, followed by an introduction panel with a tilt avatar and social links. Two utility components, Particle and Pre, complete the page-level experience alongside ScrollToTop, which is mounted globally in App.js.
Home (hero section)
Home.js is the page-level wrapper rendered at the / route. It mounts the <Particle> background, then lays out a Bootstrap <Row> with two columns inside a home-content container.
The left column (md={7}) contains the greeting heading, the owner name, and the <Type> typewriter component:
src/components/Home/Home.js
className="main-name" class applies color: #cd5ff8 from style.css, giving the owner name its distinctive purple tint. To update the name, replace the text inside the <strong> tag.
The right column (md={5}) renders the hero illustration image:
src/components/Home/Home.js
<Home2 /> is rendered directly below to produce the intro panel section.
The hero image (
src/Assets/dentista.png) can be swapped by replacing the file with your own image — keeping the filename — or by updating the import homeLogo path at the top of Home.js to point to a new asset.Type (typewriter)
Type.js wraps the typewriter-effect library to cycle through a list of service strings below the owner name. The full component source is:
src/components/Home/Type.js
options object controls every aspect of the animation:
| Option | Value | Description |
|---|---|---|
strings | ["Consultoria", "Limpiezas", "Extraciones", ""] | Text phrases cycled in the hero. Add, remove, or reorder entries freely. |
autoStart | true | Begins typing immediately on component mount. |
loop | true | Restarts the cycle from the first string after the last one is deleted. |
deleteSpeed | 50 | Milliseconds between each character deletion. Lower values delete faster. |
strings array. To slow the deletion animation, increase deleteSpeed (e.g. 100).
Home2 (intro panel)
Home2.js renders the business introduction section directly below the hero. It uses a two-column Bootstrap layout inside a home-about-section container.
Left column (md={8}) — contains the section heading and a multi-paragraph body with className="purple" spans for highlighted keywords:
src/components/Home/Home2.js
Home2.js to reflect your own business description. Wrap any word in <b className="purple"> or <span className="purple"> to apply the accent color.
Right column (md={4}) — renders a react-parallax-tilt wrapped avatar image:
src/components/Home/Home2.js
src/Assets/homeImg.png with your own avatar or business photo to update this image.
Social links row — a full-width row below the two columns renders four social icon anchors. All four href values are currently empty strings and must be filled in:
src/components/Home/Home2.js
href="" with the appropriate profile URL. The same four icons also appear in the Footer — see /customization/content for a checklist of every location where social hrefs need updating.
Particle background
Particle.js renders a react-tsparticles canvas that floats behind the page content on the Home, Projects, About, and Resume pages.
src/components/Particle.js
| Key | Default | Effect |
|---|---|---|
particles.number.value | 160 | Total number of particles rendered |
particles.move.direction | "right" | Direction of drift ("left", "top", "bottom", "none") |
particles.move.speed | 0.05 | Drift speed; increase for faster movement |
line_linked.enable | false | Set to true to draw lines between nearby particles |
opacity.anim.enable | true | Enables fade-in/fade-out animation on each particle |
retina_detect | true | Renders at device pixel ratio for sharp visuals on high-DPI screens |
Pre (preloader)
Pre.js is a minimal preloader screen that overlays the entire viewport while the app hydrates.
src/components/Pre.js
id="preloader"— the element is visible;style.cssgives it a full-screen overlay.id="preloader-none"—style.csssetsopacity: 0andvisibility: hidden, making it invisible without unmounting.
App.js, a setTimeout of 1200 ms flips load from true to false after the app mounts:
src/App.js
1200 value (milliseconds).
ScrollToTop
ScrollToTop.js uses React Router’s useLocation hook to watch for route changes and immediately scrolls the browser window back to the top-left corner (0, 0) whenever the pathname changes.
src/components/ScrollToTop.js
null) and is mounted once inside <Router> in App.js, directly after <Navbar />. It requires no configuration.