diff --git a/content/profile/lwinmoepaing.mdx b/content/profile/lwinmoepaing.mdx
index a5a249f..916bbb6 100644
--- a/content/profile/lwinmoepaing.mdx
+++ b/content/profile/lwinmoepaing.mdx
@@ -6,7 +6,7 @@ tags:
- Fullstack
- Frontend
- JavaScript
- - ReactJS
+ - ReactJS
- SolidJS
---
@@ -15,39 +15,52 @@ import ContriSquareBox from "@/components/Contributors/ContriSquareBox/ContriSqu
import SpacingDivider from "@/components/Common/SpacingDivider/SpacingDivider";
-
-
-
-
-
-
-
-
- Hi, I'm Lwin Moe Paing
-
-
-
-
-
- I’m looking for help with Javascript Language to build Many Free Softwares to help people who can't afford to pay!!
- How to reach me **lwinmoepaing.dev@gmail.com (or) [facebook](https://www.facebook.com/lwin.im/)**
-
-
-
-
-
+
+
+
+
+
+
+
+
+ Hi, I'm Lwin Moe Paing
+
+
+
+
+
+
+
+ I’m looking for help with Javascript Language to build Many Free Softwares
+ to help people who can't afford to pay!!
+
+
+
+ How to reach me **lwinmoepaing.dev@gmail.com (or) [facebook](https://www.facebook.com/lwin.im/)**
+
+
+
+
+
+
diff --git a/content/profile/yehtetaung.mdx b/content/profile/yehtetaung.mdx
new file mode 100644
index 0000000..5d20f23
--- /dev/null
+++ b/content/profile/yehtetaung.mdx
@@ -0,0 +1,24 @@
+---
+name: Ye Htet Aung
+description: I'm full stack developer with 1 year of experience.
+image: "https://avatars.githubusercontent.com/u/66383566?v=4"
+tags:
+ - FullStack
+ - JavaScript
+ - TypeScript
+ - ReactJS
+ - React Native
+ - NextJS
+ - NodeJS
+ - ExpressJS
+ - MySQL
+ - MongoDB
+ - Firebase
+ - Prisma
+---
+
+import YeHtetAung from "@/components/Contributors/YeHtetAung/App";
+
+
+
+
diff --git a/src/app/profile/page.tsx b/src/app/profile/page.tsx
index 5f94ecf..aa06166 100644
--- a/src/app/profile/page.tsx
+++ b/src/app/profile/page.tsx
@@ -8,29 +8,29 @@ import SpacingDivider from "@/components/Common/SpacingDivider/SpacingDivider";
import ProfileCardList from "@/components/Profile/ProfileCardList/ProfileCardList";
export const metadata: Metadata = {
- title: `Profile List | ${APP_CONFIG.title}`,
- description: APP_CONFIG.description,
- openGraph: {
- title: `Profile List | ${APP_CONFIG.title}`,
- description: APP_CONFIG.description,
- images: "https://mmswe.com/images/landing/galaxy.jpg",
- },
+ title: `Profile List | ${APP_CONFIG.title}`,
+ description: APP_CONFIG.description,
+ openGraph: {
+ title: `Profile List | ${APP_CONFIG.title}`,
+ description: APP_CONFIG.description,
+ images: "https://mmswe.com/images/landing/galaxy.jpg",
+ },
};
const getAllProfileList = async () => {
- return allProfiles;
+ return allProfiles;
};
const ProfileListPage = async () => {
- const profiles = await getAllProfileList();
+ const profiles = await getAllProfileList();
- return (
-
-
-
-
-
-
- );
+ return (
+
+
+
+
+
+
+ );
};
export default ProfileListPage;
diff --git a/src/components/Contributors/YeHtetAung/App.tsx b/src/components/Contributors/YeHtetAung/App.tsx
new file mode 100644
index 0000000..f71bea9
--- /dev/null
+++ b/src/components/Contributors/YeHtetAung/App.tsx
@@ -0,0 +1,21 @@
+import React from "react";
+
+import Skills from "./components/Skills";
+import Intro from "./components/Intro";
+import Profile from "./components/Profile";
+import Projects from "./components/Projects";
+
+const YeHtetAung = () => {
+ return (
+
+ );
+};
+
+export default YeHtetAung;
diff --git a/src/components/Contributors/YeHtetAung/components/Intro.tsx b/src/components/Contributors/YeHtetAung/components/Intro.tsx
new file mode 100644
index 0000000..63055d3
--- /dev/null
+++ b/src/components/Contributors/YeHtetAung/components/Intro.tsx
@@ -0,0 +1,15 @@
+import React from "react";
+
+const Intro = () => {
+ return (
+
+
Ye Htet Aung
+
+ I'm full stack developer with 1 year of experience. Now I currently
+ working with React, React Native, Nextjs and Nodejs.
+
+
+ );
+};
+
+export default Intro;
diff --git a/src/components/Contributors/YeHtetAung/components/Profile.tsx b/src/components/Contributors/YeHtetAung/components/Profile.tsx
new file mode 100644
index 0000000..c4d29b2
--- /dev/null
+++ b/src/components/Contributors/YeHtetAung/components/Profile.tsx
@@ -0,0 +1,66 @@
+/* eslint-disable @next/next/no-img-element */
+import React from "react";
+import { Profile } from "../types";
+
+import { FaLinkedin, FaFacebook, FaGithub } from "react-icons/fa";
+import { SiGmail } from "react-icons/si";
+
+const Profile = () => {
+ const profiles: Profile[] = [
+ {
+ title: "Zen",
+ url: "https://github.com/yellhtetaung",
+ icon: FaGithub,
+ iconColor: "#1F2328",
+ },
+ {
+ title: "Ye Htet Aung",
+ url: "https://www.facebook.com/yehtetaungxzen",
+ icon: FaFacebook,
+ iconColor: "#0765FF",
+ },
+ {
+ title: "Ye Htet Aung",
+ url: "https://www.linkedin.com/in/yellhtetaung2488/",
+ icon: FaLinkedin,
+ iconColor: "#0B65C2",
+ },
+ {
+ title: "yehtetaung.dev@gmail.com",
+ url: "mailto:yehtetaung.dev@gmail.com",
+ icon: SiGmail,
+ iconColor: "#000000",
+ },
+ ];
+
+ return (
+
+
+
+
+
+ );
+};
+
+export default Profile;
diff --git a/src/components/Contributors/YeHtetAung/components/Projects.tsx b/src/components/Contributors/YeHtetAung/components/Projects.tsx
new file mode 100644
index 0000000..65a700b
--- /dev/null
+++ b/src/components/Contributors/YeHtetAung/components/Projects.tsx
@@ -0,0 +1,12 @@
+import React from "react";
+
+const Projects = () => {
+ return (
+
+
Projects
+ Comming Soon....
+
+ );
+};
+
+export default Projects;
diff --git a/src/components/Contributors/YeHtetAung/components/Skills.tsx b/src/components/Contributors/YeHtetAung/components/Skills.tsx
new file mode 100644
index 0000000..b65c850
--- /dev/null
+++ b/src/components/Contributors/YeHtetAung/components/Skills.tsx
@@ -0,0 +1,68 @@
+import { Skills } from "../types";
+import {
+ TbBrandTypescript,
+ TbBrandTailwind,
+ TbBrandBootstrap,
+ TbBrandMongodb,
+ TbBrandNextjs,
+ TbBrandHtml5,
+ TbBrandCss3,
+ TbBrandMysql,
+ TbBrandJavascript,
+ TbBrandReact,
+ TbBrandReactNative,
+ TbBrandNodejs,
+ TbBrandPrisma,
+ TbBrandFigma,
+ TbBrandUbuntu,
+ TbBrandGithub,
+} from "react-icons/tb";
+
+const SkillsComponent = () => {
+ const skills: Skills[] = [
+ { title: "html", bg: "#DC4A25", icon: TbBrandHtml5 },
+ { title: "css", bg: "#244BDD", icon: TbBrandCss3 },
+ { title: "javascript", bg: "#EFD81A", icon: TbBrandJavascript, text: true },
+ {
+ title: "typescript",
+ bg: "#3077C6",
+ icon: TbBrandTypescript,
+ },
+ { title: "tailwindcss", bg: "#38BDF8", icon: TbBrandTailwind },
+ { title: "bootstrap", bg: "#7A10F7", icon: TbBrandBootstrap },
+ { title: "react", bg: "#0A7EA3", icon: TbBrandReact },
+ { title: "react native", bg: "#0A7EA3", icon: TbBrandReactNative },
+ { title: "nextjs", bg: "#000000", icon: TbBrandNextjs },
+ { title: "nodejs", bg: "#509F43", icon: TbBrandNodejs },
+ { title: "mysql", bg: "#3E6E93", icon: TbBrandMysql },
+ { title: "mongodb", bg: "#00EC64", icon: TbBrandMongodb, text: true },
+ { title: "prisma", bg: "#2D3748", icon: TbBrandPrisma },
+ { title: "figma", bg: "#2B2F41", icon: TbBrandFigma },
+ { title: "linux", bg: "#DE4F21", icon: TbBrandUbuntu },
+ { title: "github", bg: "#1F2229", icon: TbBrandGithub },
+ ];
+
+ return (
+
+
Skills
+
+
+ {skills.map((skill) => (
+
+
+ {skill.title}
+
+ ))}
+
+
+ );
+};
+
+export default SkillsComponent;
diff --git a/src/components/Contributors/YeHtetAung/types.d.ts b/src/components/Contributors/YeHtetAung/types.d.ts
new file mode 100644
index 0000000..3f27bb5
--- /dev/null
+++ b/src/components/Contributors/YeHtetAung/types.d.ts
@@ -0,0 +1,13 @@
+export interface Skills {
+ title: string;
+ bg?: string;
+ text?: boolean;
+ icon?: any;
+}
+
+export interface Profile {
+ title: string;
+ url: string;
+ icon?: any;
+ iconColor?: string;
+}
diff --git a/src/components/Profile/ProfileCardList/ProfileCardList.tsx b/src/components/Profile/ProfileCardList/ProfileCardList.tsx
index ad044c9..6b7a634 100644
--- a/src/components/Profile/ProfileCardList/ProfileCardList.tsx
+++ b/src/components/Profile/ProfileCardList/ProfileCardList.tsx
@@ -15,93 +15,93 @@ import { useState } from "react";
import { IoPeople } from "react-icons/io5";
type TPropsProfileCardList = {
- profiles: Profile[];
+ profiles: Profile[];
};
const ProfileCardList = ({ profiles }: TPropsProfileCardList) => {
- const searchParams = useSearchParams();
- const initSearchTag = searchParams.get("tag") ?? "";
- const {
- searchTag,
- uniqueTagColors,
- uniqueTags,
- searchedTags,
- filteredProfiles,
- searchByName,
- handleSearchByName,
- handleSearchTag,
- } = useProfileHook(profiles, initSearchTag);
+ const searchParams = useSearchParams();
+ const initSearchTag = searchParams.get("tag") ?? "";
+ const {
+ searchTag,
+ uniqueTagColors,
+ uniqueTags,
+ searchedTags,
+ filteredProfiles,
+ searchByName,
+ handleSearchByName,
+ handleSearchTag,
+ } = useProfileHook(profiles, initSearchTag);
- return (
- <>
-
- {uniqueTagColors?.length &&
- uniqueTags.map((tag, i) => (
-
-
-
- ))}
-
+ return (
+ <>
+
+ {uniqueTagColors?.length &&
+ uniqueTags.map((tag, i) => (
+
+
+
+ ))}
+
-
-
-
-
- Total Profiles :{filteredProfiles.length}
-
+
+
+
+
+ Total Profiles :{filteredProfiles.length}
+
- {uniqueTagColors?.length &&
- searchedTags.map((tag, i) => (
-
- ))}
-
+ {uniqueTagColors?.length &&
+ searchedTags.map((tag, i) => (
+
+ ))}
+
-
+
-
- {filteredProfiles.map((profile) => (
-
- ))}
-
- >
- );
+
+ {filteredProfiles.map((profile) => (
+
+ ))}
+
+ >
+ );
};
export default ProfileCardList;
diff --git a/src/styles/globals.scss b/src/styles/globals.scss
index bf2a446..8d91675 100644
--- a/src/styles/globals.scss
+++ b/src/styles/globals.scss
@@ -18,3 +18,4 @@
@import "profiles/aungkoko";
@import "profiles/peter";
@import "profiles/jiro";
+@import "profiles/yehtetaung";
diff --git a/src/styles/profiles/_yehtetaung.scss b/src/styles/profiles/_yehtetaung.scss
new file mode 100644
index 0000000..67f468e
--- /dev/null
+++ b/src/styles/profiles/_yehtetaung.scss
@@ -0,0 +1,84 @@
+:root {
+ --color-primary: #ffffff;
+ --color-secondary: #f4f4f4;
+ --color-tertiary: #e4e4e4;
+ --color-quaternary: #d4d4d4;
+ --color-quinary: #c4c4c4;
+}
+
+.text_shadows {
+ text-shadow: 3px 3px 0 var(--color-secondary), 6px 6px 0 var(--color-tertiary),
+ 9px 9px var(--color-quaternary), 12px 12px 0 var(--color-quinary);
+ font-family: bungee, sans-serif;
+ font-weight: 800;
+ text-transform: uppercase;
+ font-size: calc(2rem + 1vw);
+ margin: 0;
+ color: var(--color-primary);
+ animation: shadows 1.2s ease-in infinite, move 1.2s ease-in infinite;
+ letter-spacing: 0.4rem;
+}
+
+@keyframes shadows {
+ 0% {
+ text-shadow: none;
+ }
+ 10% {
+ text-shadow: 3px 3px 0 var(--color-secondary);
+ }
+ 20% {
+ text-shadow: 3px 3px 0 var(--color-secondary),
+ 6px 6px 0 var(--color-tertiary);
+ }
+ 30% {
+ text-shadow: 3px 3px 0 var(--color-secondary),
+ 6px 6px 0 var(--color-tertiary), 9px 9px var(--color-quaternary);
+ }
+ 40% {
+ text-shadow: 3px 3px 0 var(--color-secondary),
+ 6px 6px 0 var(--color-tertiary), 9px 9px var(--color-quaternary),
+ 12px 12px 0 var(--color-quinary);
+ }
+ 50% {
+ text-shadow: 3px 3px 0 var(--color-secondary),
+ 6px 6px 0 var(--color-tertiary), 9px 9px var(--color-quaternary),
+ 12px 12px 0 var(--color-quinary);
+ }
+ 60% {
+ text-shadow: 3px 3px 0 var(--color-secondary),
+ 6px 6px 0 var(--color-tertiary), 9px 9px var(--color-quaternary),
+ 12px 12px 0 var(--color-quinary);
+ }
+ 70% {
+ text-shadow: 3px 3px 0 var(--color-secondary),
+ 6px 6px 0 var(--color-tertiary), 9px 9px var(--color-quaternary);
+ }
+ 80% {
+ text-shadow: 3px 3px 0 var(--color-secondary),
+ 6px 6px 0 var(--color-tertiary);
+ }
+ 90% {
+ text-shadow: 3px 3px 0 var(--color-secondary);
+ }
+ 100% {
+ text-shadow: none;
+ }
+}
+
+@keyframes move {
+ 0% {
+ transform: translate(0px, 0px);
+ }
+ 40% {
+ transform: translate(-12px, -12px);
+ }
+ 50% {
+ transform: translate(-12px, -12px);
+ }
+ 60% {
+ transform: translate(-12px, -12px);
+ }
+ 100% {
+ transform: translate(0px, 0px);
+ }
+}