Skip to content

Commit

Permalink
Added Web3 Section
Browse files Browse the repository at this point in the history
  • Loading branch information
santosh898 committed Nov 29, 2024
1 parent 6108319 commit 5808a91
Show file tree
Hide file tree
Showing 8 changed files with 171 additions and 29 deletions.
12 changes: 6 additions & 6 deletions src/components/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ const Header = () => {
label: "Phone",
href: "tel:+919985094687",
},
{
icon: Mail,
label: "Email",
href: "mailto:[email protected]",
},
{
icon: Github,
label: "GitHub",
Expand All @@ -39,11 +44,6 @@ const Header = () => {
label: "LinkedIn",
href: "https://www.linkedin.com/in/santosh898",
},
{
icon: Mail,
label: "Email",
href: "mailto:[email protected]",
},
].map(({ icon: Icon, label, href }) => (
<Tooltip key={label}>
<TooltipTrigger asChild>
Expand All @@ -67,7 +67,7 @@ const Header = () => {
</nav>
</header>

<section className="mb-12">
<section className="mb-12 max-sm:text-center">
<p className="max-w-2xl text-gray-300">
Experienced Tech Lead with expertise in modern web technologies.
Passionate about creating efficient, scalable, and innovative
Expand Down
48 changes: 25 additions & 23 deletions src/components/Skills.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
"use client";

import { useState } from "react";
import { ChevronDown, ChevronUp } from "lucide-react";

import { Card, CardContent } from "@/components/ui/card";
import { Button } from "@/components/ui/button";

import ReactLogo from "@/logos/react.svg";
import ReactNativeLogo from "@/logos/react-native.svg";
Expand All @@ -23,37 +27,48 @@ import WebextensionsLogo from "@/logos/webextensions.svg";
import WebrtcLogo from "@/logos/webrtc.svg";
import ThingsboardLogo from "@/logos/thingsboard.svg";
import DockerLogo from "@/logos/docker.svg";
import { Button } from "./ui/button";
import { ChevronDown, ChevronUp } from "lucide-react";
import { useEffect, useState } from "react";
import SolidityLogo from "@/logos/solidity.svg";
import EthersLogo from "@/logos/ethers.svg";
import AlchemyLogo from "@/logos/alchemy.svg";
import HardhatLogo from "@/logos/hardhat.svg";
import InfuraLogo from "@/logos/infura.svg";
import MetamaskLogo from "@/logos/metamask.svg";

const seggregatedSkills = {
frontend: [
{ name: "React", logo: ReactLogo },
{ name: "Typescript", logo: TypescriptLogo },
{ name: "Tailwind", logo: TailwindLogo },
{ name: "Next.JS", logo: NextjsLogo },
{ name: "React Native", logo: ReactNativeLogo },
{ name: "Javascript", logo: JavascriptLogo },
{ name: "Typescript", logo: TypescriptLogo },
{ name: "Styled Components", logo: StyledComponentsLogo },
{ name: "Tailwind", logo: TailwindLogo },
{ name: "Vue.JS", logo: VuejsLogo },
{ name: "Solid.JS", logo: SolidjsLogo },
{ name: "Redux", logo: ReduxLogo },
{ name: "Next.JS", logo: NextjsLogo },
{ name: "Vitest/Jest", logo: VitestLogo },
],
backend: [
{ name: "Node.JS", logo: NodejsLogo },
{ name: "Postgres", logo: PostgresqlLogo },
{ name: "GraphQL", logo: GraphqlLogo },
{ name: "Firebase", logo: FirebaseLogo },
{ name: "Microservices", logo: MicroservicesLogo },
{ name: "Docker", logo: DockerLogo },
{ name: "GraphQL", logo: GraphqlLogo },
{ name: "Microservices", logo: MicroservicesLogo },
],
misc: [
{ name: "Electron.JS", logo: ElectronLogo },
{ name: "Web Extensions", logo: WebextensionsLogo },
{ name: "WebRTC", logo: WebrtcLogo },
{ name: "Metamask", logo: MetamaskLogo },
{ name: "Thingsboard", logo: ThingsboardLogo },
{ name: "Infura", logo: InfuraLogo },
],
web3: [
{ name: "Solidity", logo: SolidityLogo },
{ name: "Ethers", logo: EthersLogo },
{ name: "Hardhat", logo: HardhatLogo },
{ name: "Alchemy", logo: AlchemyLogo },
],
};

Expand All @@ -70,21 +85,8 @@ function SkillSection({
expanded: boolean;
onToggle: () => void;
}) {
const [isMobile, setIsMobile] = useState(false);

useEffect(() => {
const checkMobile = () => setIsMobile(window.innerWidth < 1024);
checkMobile();
window.addEventListener("resize", checkMobile);
return () => window.removeEventListener("resize", checkMobile);
}, []);

const displayedSkills = !isMobile
? skills
: expanded
? skills
: skills.slice(0, ITEMS_TO_SHOW);
const showToggle = skills.length > ITEMS_TO_SHOW && isMobile;
const displayedSkills = expanded ? skills : skills.slice(0, ITEMS_TO_SHOW);
const showToggle = skills.length > ITEMS_TO_SHOW;

return (
<div className="flex-1 min-w-[250px]">
Expand Down
5 changes: 5 additions & 0 deletions src/logos/alchemy.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/logos/ethers.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions src/logos/hardhat.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/logos/infura.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
84 changes: 84 additions & 0 deletions src/logos/metamask.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/logos/solidity.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 5808a91

Please sign in to comment.