All checks were successful
Build and Deploy Gabriel Kaszewski Portfolio / build-and-deploy-local (push) Successful in 1m32s
- Added essays: qui-sumus-existential-dread.pdf and licencjat.pdf - Added scripts: loop.pdf - Added images: DSC_1283.avif, GAK00015.avif, GAK00017.avif, GAK00041.avif, GAK00042.avif, painter.avif, parasitic-god-1.avif, parasitic-god-2.avif, parasitic-god-3.avif, parasitic-god-4.avif, parasitic-god-5.avif, spanish-inq-1.avif, spanish-inq-2.avif, spanish-inq-3.avif, spanish-inq-4.avif, typing-game-1.avif, typing-game-2.avif
32 lines
798 B
TypeScript
32 lines
798 B
TypeScript
import Chip from "@/components/chip";
|
|
import { Skill } from "@/lib/types";
|
|
|
|
interface SkillsProps {
|
|
skills: Skill[];
|
|
}
|
|
|
|
const Skills = ({ skills }: SkillsProps) => {
|
|
return (
|
|
<div
|
|
id="skills"
|
|
className="flex flex-col items-center justify-center gap-4 p-4 rounded w-full"
|
|
>
|
|
<h2 className="mt-4 mb-2 text-5xl font-bold tracking-tight text-white">
|
|
Skills
|
|
</h2>
|
|
<div className="flex flex-wrap justify-center w-full max-w-lg gap-4">
|
|
{skills.map((skill, index) => (
|
|
<div
|
|
key={index}
|
|
className="odd:motion-preset-slide-left even:motion-preset-slide-right odd:motion-delay-100"
|
|
>
|
|
<Chip text={skill.name} />
|
|
</div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default Skills;
|