Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added public/images/enerlinq.com.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion src/components/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import React from "react";
import HeaderResume from "./HeaderResume";
import HeaderProfile from "./HeaderProfile";
import "../styles/Header.scss";
Expand Down
1 change: 0 additions & 1 deletion src/components/HeaderProfile.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import React from "react";
import "../styles/HeaderProfile.scss";
import Box from "./Box";

Expand Down
17 changes: 9 additions & 8 deletions src/components/HeaderResume.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import Box from "./Box";
import Icon from "./icons/Icon";

function HeaderResume() {
const name = 'Jonás Perusquía Morales';
const job = 'Chief Technology Officer at Enerlinq Innovations';
const socialNetworks = [
{
name: "Facebook",
Expand Down Expand Up @@ -73,27 +75,26 @@ function HeaderResume() {
<path d="M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z" />
</svg>
),
url: "mailto:jonaspm_99@outlook.com",
url: "mailto:jperusm@outlook.com",
},
];

return (
<Box className="header-resume items-center justify-center text-center grid gap-6 hover:bg-secondary/60 transition-all duration-700">
<div></div>
<div />
<h1 className="text-2xl font-bold">
<span className="overflow-hidden whitespace-nowrap animate-typewriter inline-block max-w-[11em] align-bottom md:text-4xl">
Jonás Perusquía Morales
<span className="overflow-hidden whitespace-nowrap inline-block align-bottom md:text-4xl relative border-r-4 animate-typewriter">
{name}
</span>
<span className="border-r-4 border-r-transparent animate-blinking md:text-4xl"></span>
</h1>
<span className="text-lg">
Senior Software Associate at Concentrix Catalyst
{job}
</span>
<div className="flex flex-row justify-center gap-6 flex-wrap items-center">
{socialNetworks.map((socialNetwork, index) => {
{socialNetworks.map(socialNetwork => {
return (
<a
key={index}
key={socialNetwork.name}
href={socialNetwork.url}
target="_blank"
rel="noreferrer"
Expand Down
23 changes: 12 additions & 11 deletions src/components/MainBody.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,22 @@ type Project = {
function MainBody({ projects }: { projects: Project[] }) {

const skills = [
'HTML',
'JavaScript',
'CSS',
'HTML-CSS-JavaScript',
'TypeScript',
'Svelte',
'React',
'AngularJS',
'Next.js',
'Astro',
'Node.js',
'Express',
'MySQL',
'Git',
'Scrum',
'ServiceNOW',
'SQL Databases',
'MongoDB',
'Angular.js',
'Next.js',
'Astro',
'TypeScript',
'ServiceNOW',
'Version Control',
'Agile Methodologies',
'Project Management',
'Cloud Computing',
]

const aboutText =
Expand Down
33 changes: 20 additions & 13 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,29 @@ import Layout from "@/layouts/Layout.astro"
import MainBody from "@/components/MainBody"
import sorteosClickImage from "@/images/sorteos.click.png"
import autosolutionsImage from "@/images/autosolutions.app.png"
import enerlinqImage from "@/images/enerlinq.com.png"
import { getImage } from "astro:assets"

const projects = [
{
name: 'Sorteos Click',
url: 'https://sorteos.click',
description: 'Create and manage your own raffles for FREE.',
image: await getImage({src: sorteosClickImage, format: 'avif'}),
},
{
name: 'Autosolutions',
url: 'https://autosolutions.app',
description: 'On-demand services for your vehicle & more.',
image: await getImage({src: autosolutionsImage, format: 'avif'}),
}
]
{
name: 'Enerlinq',
url: 'https://enerlinq.com',
description: 'Technology and innovation lab. Startup company.',
image: await getImage({src: enerlinqImage, format: 'avif'}),
},
{
name: 'Autosolutions',
url: 'https://autosolutions.app',
description: 'On-demand services for your vehicle & more.',
image: await getImage({src: autosolutionsImage, format: 'avif'}),
},
{
name: 'Sorteos Click',
url: 'https://sorteos.click',
description: 'Create and manage your own raffles for FREE.',
image: await getImage({src: sorteosClickImage, format: 'avif'}),
},
]
---

<Layout title="Jonas Perusquia Morales">
Expand Down
2 changes: 1 addition & 1 deletion src/styles/global.scss
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,4 @@ body {
font-weight: var(--font-weight);
text-shadow: var(--font-shadow);
font-size: var(--font-size);
}
}
9 changes: 4 additions & 5 deletions tailwind.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ module.exports = {
},
extend: {
animation: {
typewriter: "typewriter 5s steps(23) 0s infinite alternate both",
blinking: "blinkTextCursor 800ms infinite normal",
typewriter: "typewriter 8s steps(23) -6s infinite alternate both, blinkTextCursor 800ms infinite normal",
"fade-in":
"fadeIn 800ms calc(var(--delay-index) * 0.5s) ease-out forwards",
},
Expand All @@ -32,9 +31,9 @@ module.exports = {
},
},
typewriter: {
"0%": { width: "0" },
"20%": { width: "0" },
"80%": { width: "100%" },
"0%": { width: "0%" },
"37.5%": { width: "0%" },
"62.5%": { width: "100%" },
"100%": { width: "100%" },
},
blinkTextCursor: {
Expand Down