Skip to content

Commit fdf3f36

Browse files
committed
project showcase
1 parent 47069b0 commit fdf3f36

3 files changed

Lines changed: 77 additions & 24 deletions

File tree

src/components/projectShowcase.astro

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,49 @@
22
interface Props {
33
title: string;
44
link: string;
5-
slides: { image: string; description: string }[];
5+
slides: { image?: string; description?: string }[];
66
color: string;
77
}
88
99
const { title, link, slides, color } = Astro.props;
1010
---
1111

1212
<div class="flex flex-col text-right gap-2">
13-
<a
14-
href={link}
15-
target="_blank"
16-
class="external-link hover:underline text-2xl md:text-3xl">{title}</a
17-
>
13+
<div>
14+
<a
15+
href={link}
16+
target="_blank"
17+
class="external-link hover:underline text-2xl md:text-3xl">{title}</a
18+
>
19+
</div>
1820
<div
19-
class="flex md:flex-row flex-col overflow-x-auto border-t"
21+
class="project-showcase-container flex md:flex-row flex-col border-t"
2022
style={`background-color: ${color}20`}
2123
>
2224
{
23-
slides.map((slide) => {
25+
slides.map((slide, index) => {
2426
return (
25-
<div class="flex md:flex-row flex-col-reverse w-full md:mr-16 mb-16 gap-x-96 gap-y-10 border-b">
26-
<div class="border-r p-5">
27-
<img
28-
class="md:min-w-[768px] md:min-h-[425px] rounded-sm"
29-
src={slide.image}
30-
alt={slide.description}
31-
/>
32-
</div>
33-
<div class="md:min-w-[568px] md:min-h-[425px] text-2xl text-right leading-10 md:leading-13">
34-
{slide.description}
35-
</div>
27+
<div class="project-showcase-content flex md:flex-row flex-col-reverse md:mr-16 mb-16 gap-x-96 gap-y-10 border-b">
28+
{slide.image && (
29+
<div class="md:border-r p-5">
30+
<img
31+
class="md:min-w-[768px] md:min-h-[425px] rounded-sm"
32+
src={slide.image}
33+
alt={slide.description}
34+
/>
35+
</div>
36+
)}
37+
{slide.description && (
38+
<div class="relative md:min-w-[568px] md:min-h-[425px] text-2xl text-right leading-10 md:leading-12 whitespace-pre-line">
39+
{slide.description}
40+
41+
{slides.length > 1 && index < slides.length - 2 && (
42+
<div class="hidden md:flex text-4xl absolute bottom-10 right-0 animate-wiggle">
43+
44+
</div>
45+
)}
46+
</div>
47+
)}
3648
</div>
3749
);
3850
})
@@ -46,4 +58,15 @@ const { title, link, slides, color } = Astro.props;
4658
font-size: 0.75em;
4759
margin-right: 0.25em;
4860
}
61+
62+
.project-showcase-container {
63+
overflow-x: auto;
64+
overflow-y: hidden;
65+
scrollbar-width: none; /* Firefox */
66+
-ms-overflow-style: none; /* IE/Edge */
67+
}
68+
69+
.project-showcase-container::-webkit-scrollbar {
70+
display: none; /* Chrome/Safari */
71+
}
4972
</style>

src/pages/projects.astro

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,30 @@ import ProjectShowcase from "../components/projectShowcase.astro";
1212
slides={[
1313
{
1414
image: "/1mindFirst.png",
15-
description: `1mind is an AI agent company. They specialize in creating both realistic and unrealistic ai avatars which can be trained
16-
on your voice and mannerisms in few minutes. They can be used as sales representatives, information providers,
17-
customer support agents and pretty much anywhere you would want customer interaction. `,
15+
description: `1mind is an AI agent company.
16+
They specialize in creating both realistic and unrealistic ai avatars which can be trained
17+
on your voice and mannerisms in few minutes.
18+
They can be used as sales representatives, information providers, customer support agents and pretty much anywhere you would want customer interaction. `,
1819
},
1920
{
2021
image: "/1mindSecond.png",
21-
description: `I worked here as a fullstack engineer and cloud architect. helped create their zoom integration. built and managed parts of their aws and gcp cloud infrastructure. built and optimized apis. carried out migration from aws to gcp. worked on their admin dashboard and control panel.`,
22+
description: `I worked here as a fullstack engineer and cloud architect.
23+
helped create their zoom integration.
24+
built and managed parts of their aws and gcp cloud infrastructure.
25+
built and optimized apis.
26+
carried out migration from aws to gcp.
27+
worked on their admin dashboard and control panel.`,
28+
},
29+
{
30+
description: `tech i used:`,
31+
},
32+
{
33+
description: `typescript.bash.
34+
aws.gcp.pulumi.docker.
35+
nodejs.fastify.express.
36+
react.styled components.tailwind.mui.
37+
turborepo.git.workflows.
38+
openai.anthropic.`,
2239
},
2340
]}
2441
/>

src/styles/global.css

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11
@import "tailwindcss";
22

3+
@theme {
4+
--animate-wiggle: wiggle 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
5+
@keyframes wiggle {
6+
0%,
7+
100% {
8+
transform: translateX(3px);
9+
}
10+
50% {
11+
transform: translateX(-3px);
12+
}
13+
}
14+
}
15+
316
body {
417
/* background-color: #ffffff; */
518
color: #000;
6-
19+
text-transform: lowercase;
720
/* cursor: none; */
821
}
922

0 commit comments

Comments
 (0)