Skip to content

Commit 0fce34b

Browse files
committed
Update about me section
1 parent 42b9962 commit 0fce34b

File tree

4 files changed

+144
-13
lines changed

4 files changed

+144
-13
lines changed

src/components/ChessPawnIcon.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const ChessPawnIcon = ({ width = "12" }) => {
2+
return (
3+
<svg
4+
id="Layer_1"
5+
data-name="Layer 1"
6+
xmlns="http://www.w3.org/2000/svg"
7+
width={width}
8+
viewBox="0 0 104.38 122.88"
9+
fill="#83b34b"
10+
>
11+
<title>chess-pawn</title>
12+
<path d="M35.73,32.57a20.45,20.45,0,1,1,32.91,0Zm35.06,3.88a7.1,7.1,0,0,1,6.17,7h0a7.11,7.11,0,0,1-6.61,7.06H34a7.1,7.1,0,0,1-6.6-7.06h0a7.1,7.1,0,0,1,6.17-7ZM63.33,54.4c.91,14.57,6,26.07,18.75,31.85V91.6H22.3V86.25c12-3.8,17.68-15,18.73-31.85ZM82.39,95.45a14.39,14.39,0,0,1,12.67,14.23v.22H9.32v-.22A14.39,14.39,0,0,1,22,95.45l.31,0H82.08l.31,0ZM94.9,113.77a12,12,0,0,1,9.48,9.11H0a12,12,0,0,1,9.47-9.11Z" />
13+
</svg>
14+
);
15+
};
16+
17+
export default ChessPawnIcon;

src/components/DiscordIcon.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const DiscordIcon = ({ width = "18" }) => {
2+
return (
3+
<svg
4+
xmlns="http://www.w3.org/2000/svg"
5+
width={width}
6+
viewBox="0 0 127.14 96.36"
7+
>
8+
<path
9+
fill="#5865f2"
10+
d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"
11+
/>
12+
</svg>
13+
);
14+
};
15+
16+
export default DiscordIcon;
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
const PakistanFlagIcon = ({ width = "18" }) => {
2+
return (
3+
<svg
4+
xmlns="http://www.w3.org/2000/svg"
5+
shapeRendering="geometricPrecision"
6+
textRendering="geometricPrecision"
7+
imageRendering="optimizeQuality"
8+
fillRule="evenodd"
9+
clipRule="evenodd"
10+
width={width}
11+
viewBox="0 0 513 357.071"
12+
>
13+
<path
14+
fill="#fff"
15+
fillRule="nonzero"
16+
d="M28.477.32h456.044c15.488 0 28.159 12.672 28.159 28.16v300.111c0 15.488-12.671 28.16-28.159 28.16H28.477c-15.486 0-28.157-12.672-28.157-28.16V28.48C.32 12.992 12.991.32 28.477.32z"
17+
/>
18+
<path
19+
fill="#01411C"
20+
fillRule="nonzero"
21+
d="M122.835 356.751V.32h361.686c15.488 0 28.159 12.672 28.159 28.16v300.111c0 15.488-12.671 28.16-28.159 28.16H122.835z"
22+
/>
23+
<path
24+
fill="#fff"
25+
fillRule="nonzero"
26+
d="M290.758 76.663C247.631 90.44 216.4 130.838 216.4 178.534c0 59.057 47.875 106.931 106.931 106.931 43.252 0 80.504-25.681 97.345-62.626a98.756 98.756 0 01-4.89 4.661c-40.459 35.966-102.416 32.322-138.381-8.138s-32.32-102.417 8.139-138.382a99.87 99.87 0 015.214-4.317zm71.563 21.855l45.044 50.672-66.225-14.516 62.11-27.179-34.273 58.495-6.656-67.472z"
27+
/>
28+
<rect
29+
fill="none"
30+
stroke="#CCC"
31+
strokeWidth=".64"
32+
strokeMiterlimit="22.926"
33+
x=".32"
34+
y=".319"
35+
width="512.359"
36+
height="356.43"
37+
rx="27.231"
38+
ry="28.159"
39+
/>
40+
</svg>
41+
);
42+
};
43+
44+
export default PakistanFlagIcon;

src/pages/About.tsx

Lines changed: 67 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,94 @@
11
import RootLayout from "../layouts/RootLayout";
2+
import { useThemeContext } from "../hooks/useThemeContext";
23
import Heading2 from "../components/Heading2";
3-
import { myChessProfile } from "../data/links";
4+
import { myChessProfile, myLinkedinProfile } from "../data/links";
5+
import technologies from "../data/technologies";
6+
import ChessPawnIcon from "../components/ChessPawnIcon";
7+
import PakistanFlagIcon from "../components/PakistanFlagIcon";
8+
import DiscordIcon from "../components/DiscordIcon";
49

510
const About = () => {
11+
const { isLightMode } = useThemeContext();
12+
613
return (
714
<RootLayout>
815
<div className="page-container animate-slidein opacity-0 [--slidein-delay:300ms]">
916
<div className="max-w-2xl mx-auto">
1017
<Heading2>About Me</Heading2>
1118
<div className="mt-6 space-y-4 text-left text-lg text-slate-700 dark:text-slate-400">
1219
<p>
13-
Hi, I'm Sami, a Web Developer currently based in Pakistan. With
14-
over 2 years of professional experience in software engineering, I
15-
specialise in front end development using React.
20+
Hi 👋 I'm Sami, a 💻 Web Developer currently based in{" "}
21+
<span className="inline-flex items-center mr-1">
22+
<PakistanFlagIcon />
23+
</span>
24+
Pakistan. With years of professional experience in software
25+
engineering, I specialise in front end development using{" "}
26+
<span className="inline-flex items-center mr-1 h-3">
27+
<img
28+
src={
29+
isLightMode
30+
? technologies.react.imageSrc.light
31+
: technologies.react.imageSrc.dark
32+
}
33+
className={`object-contain w-full h-full`}
34+
/>
35+
</span>
36+
React.
1637
</p>
1738
<p>
18-
I started off as a freelancer in 2019 building chatbots for
19-
clients online. I moved on to work for Letswork as a Frontend Web
20-
Developer. My last job was a contract role as a Web Developer at
21-
Classadia where I also got the chance to work on the backend using
39+
I started off as a freelancer in 2019 building{" "}
40+
<span className="inline-flex items-center mr-1">
41+
<DiscordIcon />
42+
</span>
43+
Discord chatbots for clients online. I moved on to work for
44+
Letswork as a Frontend Web Developer. My last job was a contract
45+
role as a Web Developer at Classadia where I also got the chance
46+
to work on the backend using{" "}
47+
<span className="inline-flex items-center mr-1 h-3">
48+
<img
49+
src={
50+
isLightMode
51+
? technologies.nestjs.imageSrc.light
52+
: technologies.nestjs.imageSrc.dark
53+
}
54+
className={`object-contain w-full h-full`}
55+
/>
56+
</span>
2257
NestJS.
2358
</p>
2459
<p>
25-
Apart from coding, I also enjoy journaling, playing football,
26-
reading books and playing chess (
60+
Apart from coding, I also enjoy 📓 journaling, reading 📖 books,
61+
playing ⚽ football and playing{" "}
2762
<a
2863
href={myChessProfile}
2964
target="_blank"
3065
rel="noopener noreferrer"
31-
className="hover:underline"
66+
className="text-blue-500 hover:underline"
3267
>
33-
challenge me
68+
<span className="inline-flex items-center mr-1">
69+
<ChessPawnIcon />
70+
</span>
71+
chess
3472
</a>
35-
).
73+
.
74+
</p>
75+
<p>
76+
At the moment, I'm on the hunt for my next opportunity. Feel free
77+
to{" "}
78+
<a
79+
href={myLinkedinProfile}
80+
target="_blank"
81+
rel="noopener noreferrer"
82+
className="text-blue-500 hover:underline"
83+
>
84+
reach out
85+
</a>{" "}
86+
if you'd like to get in touch.
3687
</p>
3788
</div>
89+
<div className="mt-8 italic text-sm text-left text-slate-700 dark:text-slate-400">
90+
Updated: 2024-11-22
91+
</div>
3892
</div>
3993
</div>
4094
</RootLayout>

0 commit comments

Comments
 (0)