mirror of
https://github.com/hex248/ob248.com.git
synced 2026-02-08 02:33:02 +00:00
professional + personal projects
This commit is contained in:
@@ -8,6 +8,7 @@ const {
|
|||||||
isDevMode = false,
|
isDevMode = false,
|
||||||
isHidden = false,
|
isHidden = false,
|
||||||
tags = [],
|
tags = [],
|
||||||
|
type = "personal",
|
||||||
} = Astro.props;
|
} = Astro.props;
|
||||||
|
|
||||||
tags.sort();
|
tags.sort();
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export interface Props {
|
|||||||
github?: string;
|
github?: string;
|
||||||
hidden: boolean;
|
hidden: boolean;
|
||||||
tags?: string[];
|
tags?: string[];
|
||||||
|
type: string;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ interface ProjectMetadata {
|
|||||||
hidden: boolean;
|
hidden: boolean;
|
||||||
image?: string;
|
image?: string;
|
||||||
tags?: string[];
|
tags?: string[];
|
||||||
|
type: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface AstroModule {
|
interface AstroModule {
|
||||||
@@ -146,7 +147,8 @@ const sortedTags = Array.from(allTags).sort((a, b) => a.localeCompare(b));
|
|||||||
Developer Junior
|
Developer Junior
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="text-ayu-red-500 font-500">Education: </span>Final Year Software Engineeering (BEng), University of Westminster (2024-2026)
|
<span class="text-ayu-red-500 font-500">Education: </span>Final Year
|
||||||
|
Software Engineeering (BEng), University of Westminster (2024-2026)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="text-ayu-blue-500 font-500">Experience: </span>7 years,
|
<span class="text-ayu-blue-500 font-500">Experience: </span>7 years,
|
||||||
@@ -171,43 +173,54 @@ const sortedTags = Array.from(allTags).sort((a, b) => a.localeCompare(b));
|
|||||||
</li> -->
|
</li> -->
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2 class="text-2xl font-600 text-ayu-green-500 mt-6">PROJECTS</h2>
|
{
|
||||||
|
projects.filter((project) => project.type === "professional").length >
|
||||||
|
0 && (
|
||||||
|
<>
|
||||||
|
<h2 class="text-2xl font-600 text-ayu-green-500 mt-6">
|
||||||
|
PROFESSIONAL PROJECTS
|
||||||
|
</h2>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-4 py-2">
|
||||||
|
{projects
|
||||||
|
.filter((project) => project.type === "professional")
|
||||||
|
.map((project) => (
|
||||||
|
<ProjectListItem
|
||||||
|
title={project.title}
|
||||||
|
description={project.description}
|
||||||
|
date={project.date}
|
||||||
|
image={project.image}
|
||||||
|
slug={project.slug}
|
||||||
|
isDevMode={isDevMode}
|
||||||
|
isHidden={project.hidden}
|
||||||
|
tags={project.tags || []}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
<h2 class="text-2xl font-600 text-ayu-green-500 mt-6">PERSONAL PROJECTS</h2>
|
||||||
|
|
||||||
<div class="flex flex-col mb-2">
|
|
||||||
<div class="flex flex-wrap items-center gap-x-1 gap-y-1 mt-1">
|
|
||||||
<!-- <span class="text-sm mr-1 text-ayu-fg opacity-50 font-600"
|
|
||||||
>FILTER:</span
|
|
||||||
> -->
|
|
||||||
<Icon name="mdi:filter" class="w-5 h-5 text-ayu-gutter" />
|
|
||||||
{
|
|
||||||
sortedTags.map((tag) => (
|
|
||||||
<span
|
|
||||||
id={`tag-${tag}`}
|
|
||||||
data-tag={tag}
|
|
||||||
class="no-select cursor-pointer rounded-md border border-ayu-gutter text-ayu-fg px-2 py-0 text-xs font-600"
|
|
||||||
>
|
|
||||||
{tag}
|
|
||||||
</span>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-4 py-2">
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-4 py-2">
|
||||||
{
|
{
|
||||||
projects.map((project) => (
|
projects
|
||||||
<ProjectListItem
|
.filter((project) => project.type === "personal")
|
||||||
title={project.title}
|
.map((project) => (
|
||||||
description={project.description}
|
<ProjectListItem
|
||||||
date={project.date}
|
title={project.title}
|
||||||
image={project.image}
|
description={project.description}
|
||||||
slug={project.slug}
|
date={project.date}
|
||||||
isDevMode={isDevMode}
|
image={project.image}
|
||||||
isHidden={project.hidden}
|
slug={project.slug}
|
||||||
tags={project.tags || []}
|
isDevMode={isDevMode}
|
||||||
/>
|
isHidden={project.hidden}
|
||||||
))
|
tags={project.tags || []}
|
||||||
|
/>
|
||||||
|
))
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const selectedTagBg = "bg-ayu-accent";
|
const selectedTagBg = "bg-ayu-accent";
|
||||||
const selectedTagText = "text-ayu-bg";
|
const selectedTagText = "text-ayu-bg";
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export const metadata = {
|
|||||||
github: "https://github.com/hex248/factor-e",
|
github: "https://github.com/hex248/factor-e",
|
||||||
hidden: false,
|
hidden: false,
|
||||||
tags: ["Game", "C++", "OpenGL", "CMake", "Pixel Art"],
|
tags: ["Game", "C++", "OpenGL", "CMake", "Pixel Art"],
|
||||||
|
type: "personal",
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export const metadata = {
|
|||||||
"Blob Storage",
|
"Blob Storage",
|
||||||
"Databases",
|
"Databases",
|
||||||
],
|
],
|
||||||
|
type: "personal",
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ export const metadata = {
|
|||||||
"Discord API",
|
"Discord API",
|
||||||
"Database",
|
"Database",
|
||||||
],
|
],
|
||||||
|
type: "personal",
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -10,18 +10,16 @@ export const metadata = {
|
|||||||
image: "/shleep-icon.svg",
|
image: "/shleep-icon.svg",
|
||||||
url: "https://bigbootstudio.itch.io/shleep",
|
url: "https://bigbootstudio.itch.io/shleep",
|
||||||
hidden: true,
|
hidden: true,
|
||||||
tags: [
|
tags: ["Unity", "C#", "HLSL", "Shader Graph", "Visual Effects Graph"],
|
||||||
"Unity",
|
type: "personal",
|
||||||
"C#",
|
|
||||||
"HLSL",
|
|
||||||
"Shader Graph",
|
|
||||||
"Visual Effects Graph"
|
|
||||||
],
|
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
<ProjectPage metadata={metadata}>
|
<ProjectPage metadata={metadata}>
|
||||||
<p>Shleep is a couch co-op base defense game where you can build towers to help aid you and your party to protect a sleeping child from nightmares.</p>
|
<p>
|
||||||
|
Shleep is a couch co-op base defense game where you can build towers to
|
||||||
|
help aid you and your party to protect a sleeping child from nightmares.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>images here</p>
|
<p>images here</p>
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export const metadata = {
|
|||||||
"OAuth2",
|
"OAuth2",
|
||||||
"Databases",
|
"Databases",
|
||||||
],
|
],
|
||||||
|
type: "personal",
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export const metadata = {
|
|||||||
github: "https://github.com/hex248/wiskatron",
|
github: "https://github.com/hex248/wiskatron",
|
||||||
hidden: false,
|
hidden: false,
|
||||||
tags: ["Web", "React", "TypeScript", "Spotify API"],
|
tags: ["Web", "React", "TypeScript", "Spotify API"],
|
||||||
|
type: "personal",
|
||||||
};
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user