mirror of
https://github.com/hex248/ob248.com.git
synced 2026-02-07 18:23:04 +00:00
tags!
This commit is contained in:
@@ -7,6 +7,7 @@ const {
|
||||
slug,
|
||||
isDevMode = false,
|
||||
isHidden = false,
|
||||
tags = [],
|
||||
} = Astro.props;
|
||||
---
|
||||
|
||||
@@ -44,6 +45,7 @@ const {
|
||||
<a
|
||||
href={`/projects/${slug}`}
|
||||
class={`project-item block border-2 flex flex-col justify-between rounded-md ${isDevMode && isHidden ? "dev-hidden" : ""}`}
|
||||
data-tags={tags.join(",")}
|
||||
>
|
||||
<div class="flex gap-4 p-4 pb-0">
|
||||
<div class="w-16 h-16 flex-shrink-0">
|
||||
@@ -66,6 +68,17 @@ const {
|
||||
<p class="project-description text-sm">
|
||||
{description}
|
||||
</p>
|
||||
{
|
||||
tags && tags.length > 0 && (
|
||||
<div class="flex gap-1.5 text-xs flex-wrap leading-3 items-center mb-1 no-select">
|
||||
{tags.map((tag: string, idx: number) => (
|
||||
<span class="flex items-center text-ayu-gutter font-500 rounded-md border border-ayu-gutter px-1.5 py-0.5">
|
||||
{tag}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full flex justify-end p-2 pt-1">
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface Props {
|
||||
url?: string;
|
||||
github?: string;
|
||||
hidden: boolean;
|
||||
tags?: string[];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -85,6 +86,18 @@ const { metadata } = Astro.props;
|
||||
}
|
||||
</p>
|
||||
|
||||
{
|
||||
metadata.tags && metadata.tags.length > 0 && (
|
||||
<div class="flex gap-1.5 text-sm flex-wrap leading-3 items-center mb-2 no-select">
|
||||
{metadata.tags.map((tag: string, idx: number) => (
|
||||
<span class="flex items-center text-ayu-gutter font-500 rounded-md border border-ayu-gutter px-1.5 py-1">
|
||||
{tag}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
{
|
||||
metadata.url ? (
|
||||
<a
|
||||
|
||||
@@ -12,6 +12,7 @@ interface ProjectMetadata {
|
||||
slug: string;
|
||||
hidden: boolean;
|
||||
image?: string;
|
||||
tags?: string[];
|
||||
}
|
||||
|
||||
interface AstroModule {
|
||||
@@ -163,6 +164,7 @@ const projects: ProjectMetadata[] = Object.values(
|
||||
slug={project.slug}
|
||||
isDevMode={isDevMode}
|
||||
isHidden={project.hidden}
|
||||
tags={project.tags || []}
|
||||
/>
|
||||
))
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export const metadata = {
|
||||
image: "/factor-e-icon.svg",
|
||||
github: "https://github.com/hex248/factor-e",
|
||||
hidden: false,
|
||||
tags: ["game", "cpp", "opengl", "cmake", "pixel-art"],
|
||||
};
|
||||
---
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ export const metadata = {
|
||||
url: "https://glimpse.ob248.com",
|
||||
github: "https://github.com/hex248/glimpse",
|
||||
hidden: false,
|
||||
tags: ["web", "react", "typescript"],
|
||||
};
|
||||
---
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ export const metadata = {
|
||||
slug: "mizu",
|
||||
image: "/mizu-icon.svg",
|
||||
hidden: true,
|
||||
tags: ["nodejs", "typescript", "postgresql", "aws_s3", "discord"],
|
||||
};
|
||||
---
|
||||
|
||||
@@ -22,6 +23,8 @@ export const metadata = {
|
||||
<ul class="list-disc list-inside space-y-1">
|
||||
<li>Node.js</li>
|
||||
<li>TypeScript</li>
|
||||
<li>Express.js</li>
|
||||
<li>Discord.js</li>
|
||||
<li>PostgreSQL</li>
|
||||
<li>AWS S3</li>
|
||||
</ul>
|
||||
|
||||
@@ -11,6 +11,15 @@ export const metadata = {
|
||||
image: "/watercooler-icon.svg",
|
||||
// github: "https://github.com/hex248/watercooler",
|
||||
hidden: true,
|
||||
tags: [
|
||||
"web",
|
||||
"react",
|
||||
"typescript",
|
||||
"webrtc",
|
||||
"livekit",
|
||||
"postgresql",
|
||||
"oauth",
|
||||
],
|
||||
};
|
||||
---
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ export const metadata = {
|
||||
// url: "https://wiskatron.oliverbryan.com",
|
||||
github: "https://github.com/hex248/wiskatron",
|
||||
hidden: false,
|
||||
tags: ["web", "react", "typescript", "spotify_api"],
|
||||
};
|
||||
---
|
||||
|
||||
|
||||
@@ -245,3 +245,11 @@ body {
|
||||
padding: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.no-select {
|
||||
user-select: none;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-o-user-select: none;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user