2023-10-24 17:59:00 +00:00
|
|
|
"use client";
|
|
|
|
|
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
export default function MySkillsSection() {
|
|
|
|
const webDevStack = require("../(utils)/web-dev-stack.json");
|
|
|
|
const uiStack = require("../(utils)/ui-ux-stack.json");
|
|
|
|
|
|
|
|
const [targetStack, setTargetStack] = React.useState("dev");
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div className="max-w-6xl w-full flex flex-col items-start pb-40 page-section">
|
|
|
|
<div className="h-[200px]"></div>
|
|
|
|
|
|
|
|
<div className="flex flex-col items-start gap-6 w-full xl:w-[50%]">
|
2024-01-08 18:06:05 +00:00
|
|
|
<h2 className="mb-0">Some of My Skills</h2>
|
2023-10-24 17:59:00 +00:00
|
|
|
|
2024-01-08 18:06:05 +00:00
|
|
|
<span className="text-[24px]">
|
|
|
|
An inexhaustive list of my skills and abilities. I'm always
|
|
|
|
learning new things and picking up new skills so this list
|
|
|
|
is always growing.
|
|
|
|
</span>
|
2023-10-24 17:59:00 +00:00
|
|
|
|
|
|
|
<hr className="w-full" />
|
|
|
|
|
2024-01-08 18:06:05 +00:00
|
|
|
<h3 className="m-0">
|
|
|
|
{targetStack?.match(/dev/i)
|
|
|
|
? "Web Dev Tech Stack"
|
|
|
|
: "UI/UX tech stack"}
|
|
|
|
</h3>
|
2023-10-24 17:59:00 +00:00
|
|
|
|
|
|
|
<div className="flex flex-col xl:flex-col items-start gap-4 w-full">
|
|
|
|
{/* <h3>My Tech Stack</h3> */}
|
|
|
|
<div className="flex flex-wrap w-full gap-2">
|
|
|
|
<div
|
2024-01-08 18:06:05 +00:00
|
|
|
className={
|
|
|
|
"p-4 text-lg cursor-pointer grow" +
|
|
|
|
(targetStack.match(/dev/i)
|
|
|
|
? " bg-[white] text-[black] font-bold"
|
|
|
|
: " border border-solid border-white/10 hover:opacity-60 ")
|
|
|
|
}
|
2023-10-24 17:59:00 +00:00
|
|
|
onClick={() => {
|
|
|
|
setTargetStack("dev");
|
|
|
|
}}
|
|
|
|
>
|
|
|
|
<div>Web Dev Stack</div>
|
|
|
|
</div>
|
|
|
|
<div
|
2024-01-08 18:06:05 +00:00
|
|
|
className={
|
|
|
|
"p-4 text-lg cursor-pointer grow" +
|
|
|
|
(targetStack.match(/design/i)
|
|
|
|
? " bg-[white] text-[black] font-bold"
|
|
|
|
: " border border-solid border-white/10 hover:opacity-60 ")
|
|
|
|
}
|
2023-10-24 17:59:00 +00:00
|
|
|
onClick={() => {
|
|
|
|
setTargetStack("design");
|
|
|
|
}}
|
|
|
|
>
|
|
|
|
<div>UI/UX Stack</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2024-01-08 18:06:05 +00:00
|
|
|
<ul style={{ maxWidth: "800px" }} className="pl-6">
|
2023-10-24 17:59:00 +00:00
|
|
|
{targetStack?.match(/dev/i) ? (
|
|
|
|
<React.Fragment>
|
2024-01-08 18:06:05 +00:00
|
|
|
{webDevStack.map(
|
|
|
|
(
|
|
|
|
item: {
|
|
|
|
title: string;
|
|
|
|
description: string;
|
|
|
|
},
|
|
|
|
index: number
|
|
|
|
) => (
|
|
|
|
<li key={index} className="mb-4">
|
|
|
|
<h4 className="m-0 text-[#BBE572]">
|
|
|
|
{item.title}
|
|
|
|
{/* <TextShuffler textInput={item.title} /> */}
|
|
|
|
</h4>
|
|
|
|
<span className="opacity-80">
|
|
|
|
{item.description}
|
|
|
|
{/* <TextShuffler textInput={item.description} /> */}
|
|
|
|
</span>
|
|
|
|
</li>
|
|
|
|
)
|
|
|
|
)}
|
2023-10-24 17:59:00 +00:00
|
|
|
</React.Fragment>
|
|
|
|
) : (
|
|
|
|
<React.Fragment>
|
2024-01-08 18:06:05 +00:00
|
|
|
{uiStack.map(
|
|
|
|
(
|
|
|
|
item: {
|
|
|
|
title: string;
|
|
|
|
description: string;
|
|
|
|
},
|
|
|
|
index: number
|
|
|
|
) => (
|
|
|
|
<li key={index} className="mb-4">
|
|
|
|
<h4 className="m-0 text-[#BBE572]">
|
|
|
|
{item.title}
|
|
|
|
{/* <TextShuffler textInput={item.title} /> */}
|
|
|
|
</h4>
|
|
|
|
<span className="opacity-80">
|
|
|
|
{item.description}
|
|
|
|
{/* <TextShuffler textInput={item.description} /> */}
|
|
|
|
</span>
|
|
|
|
</li>
|
|
|
|
)
|
|
|
|
)}
|
2023-10-24 17:59:00 +00:00
|
|
|
</React.Fragment>
|
|
|
|
)}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|