diff --git a/bun.lockb b/bun.lockb
index 6cac7f3..7ddda0f 100644
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/src/components/ProjectCard.astro b/src/components/ProjectCard.astro
index fa56622..4d3cea5 100644
--- a/src/components/ProjectCard.astro
+++ b/src/components/ProjectCard.astro
@@ -1,14 +1,14 @@
---
-import { array } from "astro/zod";
-
+import SkillBadge from "./SkillBadge.astro";
+import type { SkillKey } from "../data/skills";
interface Props {
name: string;
+ skills: SkillKey[];
href?: string;
gallery?: string | string[];
center?: true;
}
-
-const { name, href, gallery, center } = Astro.props;
+const { name, href, gallery, center, skills } = Astro.props;
---
-
-
![]()
diff --git a/src/components/Skill.astro b/src/components/Skill.astro
deleted file mode 100644
index e69de29..0000000
diff --git a/src/components/SkillBadge.astro b/src/components/SkillBadge.astro
new file mode 100644
index 0000000..bde7db6
--- /dev/null
+++ b/src/components/SkillBadge.astro
@@ -0,0 +1,56 @@
+---
+import { Icon } from "astro-icon/components";
+import { skills } from "../data/skills";
+import type { SkillKey } from "../data/skills";
+interface Props {
+ key: SkillKey;
+}
+const { key } = Astro.props;
+---
+
+
+
+
diff --git a/src/data/skills.ts b/src/data/skills.ts
index 697a445..13c53ce 100644
--- a/src/data/skills.ts
+++ b/src/data/skills.ts
@@ -1,12 +1,4 @@
-type Skill = {
- [name: string]: {
- iconName: string
- url?: string
- color?: string
- }
-}
-
-const skills: Skill = {
+const skilllist = {
"React": {
iconName: "mdi:react",
url: "https://react.dev/",
@@ -94,6 +86,7 @@ const skills: Skill = {
},
"Bun": {
iconName: "logos:bun",
+ color:"#FBF0DF",
url: "https://bun.sh/"
},
"Blender": {
@@ -121,6 +114,15 @@ const skills: Skill = {
"Adobe Indesign": {
iconName: "logos:adobe-indesign"
}
+} as const;
+
+type Skill = {
+ iconName: string
+ url?: string
+ color?: string
}
-export { skills }
\ No newline at end of file
+type SkillKey = keyof typeof skilllist;
+const skills: Record = skilllist
+export { skills }
+export type { SkillKey }
\ No newline at end of file
diff --git a/src/pages/projects.astro b/src/pages/projects.astro
index d7d200e..2967a0a 100644
--- a/src/pages/projects.astro
+++ b/src/pages/projects.astro
@@ -19,6 +19,20 @@ import GalaryZoom from "../components/GalaryZoom.astro";
- I am currently developing a program that can simulate customer calls.
For this, I am using the Web Speech Recognition API, OpenAI, and
Elevenlabs.
Modular multi purpose bot powering your Discord server.
@@ -49,6 +74,7 @@ import GalaryZoom from "../components/GalaryZoom.astro";
The first Discord RPC plugin for the version 4 of the Godot game
@@ -56,6 +82,7 @@ import GalaryZoom from "../components/GalaryZoom.astro";
Adds a component to astro with statically built GitHub info and dynamic
updated stars and forks. Supports GitHub auth tokens in the built
diff --git a/src/styles/main.scss b/src/styles/main.scss
index 01faaa9..ebba569 100644
--- a/src/styles/main.scss
+++ b/src/styles/main.scss
@@ -8,6 +8,7 @@
::selection {
background-color: $accent;
}
+
::marker {
color: $accent;
}
@@ -43,6 +44,7 @@ main {
padding: 20px;
margin-bottom: 11vh;
}
+
.second-content {
align-self: center;
text-align: center;
@@ -52,7 +54,12 @@ main {
border: 1px solid lighten($second-content-clr, 12%);
min-width: 30vw;
margin-inline: 10vw;
- p, ul,h1,h2,h3{
+
+ p,
+ ul,
+ h1,
+ h2,
+ h3 {
padding-inline: 2vw;
}
}
@@ -67,13 +74,16 @@ table {
display: block;
}
-b, strong {
+b,
+strong {
font-family: "Satoshi-Bold";
color: $accent;
}
+
a {
color: $link;
- &[target="_blank"]::after{
+
+ &[target="_blank"]::after {
display: inline-block;
width: 20px;
height: 20px;
@@ -92,14 +102,17 @@ figure {
.expressive-code {
border: 1px solid lighten(#282a36, 10%);
+
code {
background-color: transparent;
}
+
pre {
background-color: transparent !important;
border: transparent !important;
background: none !important;
}
+
.copy {
button {
width: 30px !important;
@@ -109,6 +122,7 @@ figure {
display: none;
}
}
+
&:hover {
.copy {
button {
@@ -116,6 +130,7 @@ figure {
}
}
}
+
& {
position: relative;
overflow: scroll;
@@ -125,6 +140,7 @@ figure {
background-color: #282a36;
border-radius: 20px;
}
+
.frame.is-terminal .header::before {
background-color: gray !important;
}
@@ -164,6 +180,7 @@ button {
background-color: $button-color;
border: 1px solid lighten($button-color, 12%);
font-size: 18px;
+
&:active {
background-color: darken($button-color, 10);
transform: translateY(1px);
@@ -179,12 +196,13 @@ button {
}
@media (max-width: $responsive-width) {
- .content{
+ .content {
min-width: 50vw !important;
}
}
+
@media (max-width: $responsive-width-secondary) {
- .content{
+ .content {
min-width: 85vw !important;
}
-}
\ No newline at end of file
+}