diff --git a/bun.lockb b/bun.lockb
index 663ad3c..340e664 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/content/profile/ayechansoe.mdx b/content/profile/ayechansoe.mdx
new file mode 100644
index 0000000..502f30b
--- /dev/null
+++ b/content/profile/ayechansoe.mdx
@@ -0,0 +1,8 @@
+---
+name: Aye Chan Soe
+description:
+image:
+tags:
+ - Html
+ - Css
+---
diff --git a/content/profile/hponemyatthu30.mdx b/content/profile/hponemyatthu30.mdx
new file mode 100644
index 0000000..34ef30e
--- /dev/null
+++ b/content/profile/hponemyatthu30.mdx
@@ -0,0 +1,42 @@
+---
+name: HMThu30
+description: I'm Junior full stack developer and currently working as React developer in ACE Data System.
+image: "https://avatars.githubusercontent.com/u/128682546?v=4"
+tags:
+ - Java
+ - C#
+ - Javascript
+ - HTML
+ - CSS
+ - React JS
+ - Node JS
+---
+
+
+
+
+
+
+ ☕️
+
+ {" "}
+ Hello, I am Hpone Myat Thu
+
+
+
+
+
+- 🤝 I’m currently focusing on Node JS.
+- 💬 Ask me about **Java, React & C#.**
+- 📫 How to reach me **hponemy8tthu@gmail.com (or) [facebook](https://www.facebook.com/phonemyat.thu.71) (or) [github](https://github.com/HponeMyatThu)**
+
+
+```javascript
+const HMThu = {
+ code: [Javascript, HTML, CSS, Java, C#],
+ tools: [React],
+ challenge: "Become skillful person",
+};
+```
+
+
diff --git a/content/profile/htetwaiyan.mdx b/content/profile/htetwaiyan.mdx
new file mode 100644
index 0000000..893fd04
--- /dev/null
+++ b/content/profile/htetwaiyan.mdx
@@ -0,0 +1,136 @@
+---
+name: Htet Wai Yan
+description: MEAN stack developer and love to learn new techs.
+image: "https://avatars.githubusercontent.com/u/72548139?v=4"
+tags:
+ - Angular
+ - React
+ - Node.js
+ - Python
+ - Flutter
+ - AWS
+---
+
+import { FaFacebook, FaGithub, FaLinkedin, FaGlobe } from "react-icons/fa";
+
+
+
+
+ {/* Profile Image */}
+
+
+
+
+ {/* Name */}
+
+ HTET WAI YAN
+
+ {/* Terminal */}
+
+
+
+
+
Last login: Thu Nov 05 09:11:04 on ttys002
+
+
hwy@localhost:~$
+
profile
+
+ MEAN stack developer with over 3 years of hands-on experience in
+ building scalable web applications.
+
+
+
+
hwy@localhost:~$
+
frameworks
+
Angular, React, Node.Js, Flutter
+
+
+
hwy@localhost:~$
+
languages
+
HTML/CSS, Typescript, Python, Dart
+
+
+
+
hwy@localhost:~$
+
girlfriend
+
+ zsh: command not found: girlfriend
+
+
+
+
+
+
+ {/* Socials */}
+
+
+
+
+
diff --git a/content/profile/linthithtwe.mdx b/content/profile/linthithtwe.mdx
new file mode 100644
index 0000000..4e97835
--- /dev/null
+++ b/content/profile/linthithtwe.mdx
@@ -0,0 +1,202 @@
+---
+name: Lin Thit Htwe
+description: Turning dreams into reality, one line of code at a time. 👨💻💡.
+image: "https://avatars.githubusercontent.com/u/106507721?v=4"
+tags:
+ - Java
+ - JavaScript
+ - React
+ - Tailwind
+ - Spring
+ - MySql
+ - Bootstrap
+ - CSS
+ - HTML
+---
+
+
+
+
Hello World 👋
+
+
+
+
+
+ I'm Lin Thit Htwe, a Junior Software Engineer with an insatiable
+ passion for learning, coding, and the thrill of discovering new
+ things in the ever-evolving world of technology 🌱
+
+
+
+
+ 💬 More About Me ...
+
+
+
+
Contact me at:
+
+
+
+
+
+
linthit2745@gmail.com ,
+
+
+
+
diff --git a/content/profile/minhankyaw.mdx b/content/profile/minhankyaw.mdx
new file mode 100644
index 0000000..cdf853f
--- /dev/null
+++ b/content/profile/minhankyaw.mdx
@@ -0,0 +1,20 @@
+---
+name: Min Han Kyaw
+description: A Software Engineer who love Tech.
+image: "https://avatars.githubusercontent.com/u/90894979?s=400&u=52f3d0baa76b5b547ba68a11a0eec071a1b6487c&v=4"
+tags:
+ - Python
+ - Node.js
+ - PHP
+ - Flutter
+ - React
+ - C#
+ - AWS
+---
+
+import MinHanKyaw from "@/components/Contributors/MinHanKyaw/MinHanKyaw";
+
+
+
+
+{/* */}
\ No newline at end of file
diff --git a/content/profile/minzayarmaung.mdx b/content/profile/minzayarmaung.mdx
new file mode 100644
index 0000000..e6db13f
--- /dev/null
+++ b/content/profile/minzayarmaung.mdx
@@ -0,0 +1,126 @@
+---
+name: Min Zayar Maung
+description: I'm a Freelance Backend Developer / Mobile Software Service Technician.
+image: "https://avatars.githubusercontent.com/u/94619791?v=4"
+tags:
+ - Java
+ - C++
+ - Fullstack
+ - Springboot
+ - Kotlin
+ - Angular
+ - HTML , CSS
+ - Linux
+---
+
+Hi 👋, I'm Min Zayar Maung
+A passionate Java developer from Myanmar
+
+
+
+- 🔭 I’m currently working on **Cafe Website**
+
+- 🌱 I’m currently learning **Kotlin , Java , Angular**
+
+- 💬 Ask me about **Java**
+
+- 📫 How to reach me **minzayarmaung2002@gmail.com**
+
+
+
+Connect with me:
+
+
+
+
+
+
+
+
+
+
+Languages and Tools:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/content/profile/nhwai.mdx b/content/profile/nhwai.mdx
new file mode 100644
index 0000000..6ee61e7
--- /dev/null
+++ b/content/profile/nhwai.mdx
@@ -0,0 +1,9 @@
+---
+name: nhwai
+description: nhwai is learning to code...
+image: "https://avatars.githubusercontent.com/u/89084040?v=4"
+tags:
+ - JavaScript
+ - ReactJS
+ - NextJS
+---
diff --git a/content/profile/phyuphyuthin.mdx b/content/profile/phyuphyuthin.mdx
new file mode 100644
index 0000000..ad70437
--- /dev/null
+++ b/content/profile/phyuphyuthin.mdx
@@ -0,0 +1,53 @@
+---
+name: Phyu Phyu Thin (Dabria)
+description: Junior Software Engineer at ACE Data Systems
+image: "https://github.com/dabria2004.png"
+tags:
+ - C#
+ - ASP.NET
+ - Java
+ - Blazor Web Assembly
+ - MySQL
+ - MSSQL
+---
+
+
+
+
+
+ Phyu Phyu Thin (Dabria)
+
+
+
+
+## About Me
+
+Hello, I'm Phyu Phyu Thin, also known as Dabria. I'm currently working as a Junior Software Engineer at ACE Data Systems with 1 year of experience in the field. I'm passionate about software development and enjoy working with a variety of technologies.
+
+- **Name**: Phy Phyu Thin
+- **Location**: Myanmar
+- **Email**: phyuthin2004@gmail.com
+- **GitHub**: [https://github.com/dabria2004](https://github.com/dabria2004)
+- **Facebook**: [https://www.facebook.com/phyu.thin.1922004](https://www.facebook.com/phyu.thin.1922004)
+
+## Technical Skills
+
+I have experience with a range of technologies, including:
+
+- C#
+- ASP.NET
+- Blazor Web Assembly
+- Java
+- MySQL
+- MSSQL
+
+## Get in Touch
+
+I'd love to connect with you and simply have a chat. You can reach out to me via email at phyuthin2004@gmail.com.
+
+Feel free to explore my GitHub repositories and connect with me on Facebook to stay updated on my latest projects and activities.
+
+Thank you for visiting my profile!
diff --git a/content/profile/pyaephyokywel.mdx b/content/profile/pyaephyokywel.mdx
new file mode 100644
index 0000000..cc2d0ff
--- /dev/null
+++ b/content/profile/pyaephyokywel.mdx
@@ -0,0 +1,28 @@
+---
+name: Pyae Phyo Kywel
+description: I’m Junior web Developer
+tags:
+ - Web Developer
+ - Bootstrap,Tailwind
+ - JavaScript
+ - J Query
+ - PHP
+ - laravel
+---
+
+
+# Pyae Phyo Kywel
+
+
+### About Me
+ I'm a Web developer...
+
+
+### 🔗 Links
+[![portfolio](https://img.shields.io/badge/my_portfolio-000?style=for-the-badge&logo=ko-fi&logoColor=white)](https://leo3914.github.io/my-folio/)
+
+[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/pyae-phyo-kywel-495b6b276/)
+
+
+
+
diff --git a/content/profile/rikzil.mdx b/content/profile/rikzil.mdx
new file mode 100644
index 0000000..d61a895
--- /dev/null
+++ b/content/profile/rikzil.mdx
@@ -0,0 +1,42 @@
+---
+name: Rikzil
+description: Beginner Level
+image: "https://avatars.githubusercontent.com/u/142309328?v=4"
+tags:
+ - Java
+ - HTML
+ - CSS
+ - Python
+ - MySQL
+---
+
+
+
+
+
+
+
+ 🧑💻Hi buddy, I'm Rikzil🧑💻
+
+
+
+
+
+
+- 💻 I'm just a beginner but I will try hard. And I'm so interested in programming languages like Java, Python and so on.
+
+- 🧑💻 Right now, I'm still studying Japanese language and Java, Python, HTML & CSS.
+
+- 💁 You can be friend with me and I also want too coz I want to communicate and planning for the code with each other.
+
+- 🗫 I'm a beginner level in programming, so please kindly teach me and share anything what u can afford.
+
+- 📫 https://www.facebook.com/myat.naing.5249 // https://github.com/MratRikzil
+
+
+ 🤖 皆さん どうぞよろしく お願いします! 🤖
+
+
+
+
+
diff --git a/content/profile/soeyiyiaung.mdx b/content/profile/soeyiyiaung.mdx
new file mode 100644
index 0000000..42e3a8a
--- /dev/null
+++ b/content/profile/soeyiyiaung.mdx
@@ -0,0 +1,38 @@
+---
+name: Soe Yi Yi Aung
+description: "I am a web developer!"
+tags:
+ - HTML
+ - CSS
+ - JavaScript
+ - Bootstrap
+ - Vue
+ - Angular
+ - PHP
+ - Laravel
+ - MySQL
+ - GitHub
+---
+
+import Counter from "@/components/Contributors/Counter/Counter";
+import ContriSquareBox from "@/components/Contributors/ContriSquareBox/ContriSquareBox";
+import SpacingDivider from "@/components/Common/SpacingDivider/SpacingDivider";
+
+
+
+
+
+
+ Hi, I'm Soe Yi Yi Aung
+
+
+
+
+ I'm a web developer and computer science student with a strong foundation in HTML, CSS, JavaScript, Bootstrap, PHP, Laravel, and MySQL. I specialize in crafting engaging websites and robust web applications, focusing on exceptional user experiences and seamless functionality. I'm also experienced in front-end technologies like Vue.js and Angular. I'm passionate about staying up-to-date with web development trends and collaborating with cross-functional teams. Let's connect and explore opportunities to create innovative web solutions together!!
+ How to reach me **syya133@gmail.com (or) [LinkedIn](www.linkedin.com/in/soe-yi-yi-aung-03747226b)**
+ My Portfolio Website **https://soeyiyiaung.netlify.app/**
+
+
+
+
+
diff --git a/content/profile/thanthtetaung.mdx b/content/profile/thanthtetaung.mdx
new file mode 100644
index 0000000..7272e94
--- /dev/null
+++ b/content/profile/thanthtetaung.mdx
@@ -0,0 +1,21 @@
+---
+name: Thant Htet Aung
+description: I'm a creator more of a developer. Creating something out of nothing is something only God can do!
+image: "https://avatars.githubusercontent.com/u/114596700?v=4"
+tags:
+ - Fullstack
+ - Backend
+ - Laravel
+ - JavaScripts
+ - ReactJS
+ - Vue
+ - Bun
+---
+{/* */}
+
+{/* */}
+
+```js
+please re-check your code
+and before re-uploading, npm run build first.
+```
\ No newline at end of file
diff --git a/content/profile/yoonmyatcherryoo.mdx b/content/profile/yoonmyatcherryoo.mdx
new file mode 100644
index 0000000..1fc0045
--- /dev/null
+++ b/content/profile/yoonmyatcherryoo.mdx
@@ -0,0 +1,82 @@
+---
+name: Yoon Myat Cherry Oo
+description: I'm web developer
+tags:
+ - JavaScript
+ - JQuery
+ - VueJs
+ - Angular
+ - PHP
+ - laravel
+---
+
+
+
+
+
+
+
+ Hello!
+ I'm Yoon Myat Cherry Oo
+
+
+-I'm a Junior Web Developer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contact me via
+
+
+
+
+
+
+ Email : yoonmyatcherryoo622@gmail.com
+
+
+
+
+ Phone : (+95)9 423699615
+
+
+
+
+ Github : https://github.com/Yoon-Myat-Cherry-Oo
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
index 089171d..6687ae9 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,10 @@
}
},
"dependencies": {
+ "@react-three/drei": "^9.88.7",
+ "@react-three/fiber": "^8.15.8",
+ "@react-three/postprocessing": "^2.15.8",
+ "@types/three": "^0.158.0",
"@formkit/auto-animate": "^0.8.0",
"@splinetool/react-spline": "^2.2.6",
"@splinetool/runtime": "^0.9.488",
@@ -51,8 +55,9 @@
"remark-gfm": "^4.0.0",
"sass": "^1.69.4",
"shiki": "^0.14.5",
+ "suspend-react": "^0.1.3",
"tailwind-merge": "^1.14.0",
- "three": "^0.157.0",
+ "three": "^0.158.0",
"typed.js": "^2.0.16"
},
"devDependencies": {
diff --git a/src/components/Contributors/MinHanKyaw/MinHanKyaw.jsx b/src/components/Contributors/MinHanKyaw/MinHanKyaw.jsx
new file mode 100644
index 0000000..a9f13cb
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/MinHanKyaw.jsx
@@ -0,0 +1,24 @@
+import TimelineHeader from './timelineHeader';
+import Intro from './intro';
+import Photos from './photos';
+import CreatePost from './createPost';
+import MainPost from './mainPost';
+
+export default function MinHanKyaw() {
+ return (
+
+ );
+}
diff --git a/src/components/Contributors/MinHanKyaw/createPost.jsx b/src/components/Contributors/MinHanKyaw/createPost.jsx
new file mode 100644
index 0000000..2ba51d0
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/createPost.jsx
@@ -0,0 +1,46 @@
+/* eslint-disable @next/next/no-img-element */
+// import Image from '../icons/image';
+// import Feeling from '../icons/feeling';
+// import Tag from '../icons/tag';
+import { Image,Feeling,Tag } from "./icons";
+
+export default function CreatePost() {
+ return (
+
+
+
+
+
+
+ {/*
*/}
+
+
+
+
+ Photo/Video
+
+
+
+
+
+ Tag Friends
+
+
+
+
+
+ Feelling/Activity
+
+
+
+
+
+ );
+}
diff --git a/src/components/Contributors/MinHanKyaw/dialog.jsx b/src/components/Contributors/MinHanKyaw/dialog.jsx
new file mode 100644
index 0000000..cfff7e4
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/dialog.jsx
@@ -0,0 +1,72 @@
+// import { FaFacebook, FaLinkedin } from 'react-icons/fa';
+
+export function PhoneDialog({ isOpen, onClose }) {
+ if (!isOpen) return null;
+
+ return (
+
+
+
+ Call me maybe 🤙🏻
+ ( ဘီယာတိုက်ရမှာနော် 😆 )
+
+
+
+
+959 965 887 7879
+
+
+ Okay Pr -_-
+
+
+
+
+ );
+}
+
+
+export function MailDialog({ isOpen, onClose }) {
+ if (!isOpen) return null;
+
+ return (
+
+
+
somethingiswrongwithmyspacebar
+
minhankyaw.mh@gmail.com
+
+
+ ar ar yr yr -_-
+
+
+
+
+ );
+}
+
+export function MoreDialog({ isOpen, onClose }) {
+ if (!isOpen) return null;
+
+ return (
+
+
+
ဘာညာ အာချောင်ချင်ရင် 😎
+
+
+
+ အေးဆေးနေပါရစေ 🥲
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/components/Contributors/MinHanKyaw/icons.jsx b/src/components/Contributors/MinHanKyaw/icons.jsx
new file mode 100644
index 0000000..741e879
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/icons.jsx
@@ -0,0 +1,131 @@
+export function Phone() {
+ return (
+
+
+
+ );
+}
+
+export function DownArrow(props) {
+ return (
+
+
+
+ );
+}
+
+
+export function Friend() {
+ return (
+ //
+
+
+
+
+
+
+ )
+}
+
+
+export function More() {
+ return (
+
+ )
+}
+
+
+export function Bell() {
+ return (
+ )
+}
+
+
+export function Image() {
+ return (
+
+ )
+}
+
+
+export function Feeling() {
+ return (
+
+ )
+}
+
+
+export function Tag() {
+ return (
+
+ )
+}
+
+
+export function SuitCase() {
+ return (
+
+ )
+}
+
+
+export function Pin() {
+ return (
+
+ )
+}
+
+
+export function HomeAlt() {
+ return (
+
+ )
+}
+
+
+export function Hat() {
+ return (
+
+ )
+}
+
+
+export function Like() {
+ return (
+ //
+
+
+
+
+ )
+}
+
+
+export function CommentButton() {
+ return (
+
+ )
+}
+
+
+export function Filter() {
+ return (
+
+ )
+}
+
+export function FacebookIcon(props) {
+ return (
+
+
+
+ );
+}
+
+export function LinkedInIcon(props) {
+ return (
+
+
+
+ );
+ }
\ No newline at end of file
diff --git a/src/components/Contributors/MinHanKyaw/intro.jsx b/src/components/Contributors/MinHanKyaw/intro.jsx
new file mode 100644
index 0000000..1e5405e
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/intro.jsx
@@ -0,0 +1,32 @@
+
+import { SuitCase, Pin, HomeAlt, Hat } from "./icons";
+
+export default function Intro() {
+ return (
+
+
Intro
+
+
+
+ Software Engineer at TASTYSOT Software CO., Ltd
+
+
+
+
+
Studies at University of the People
+
+
+
+
+ Lives in Mandalay {' '}
+
+
+
+
+
+ From Mogok {' '}
+
+
+
+ );
+}
diff --git a/src/components/Contributors/MinHanKyaw/mainPost.jsx b/src/components/Contributors/MinHanKyaw/mainPost.jsx
new file mode 100644
index 0000000..a805ff4
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/mainPost.jsx
@@ -0,0 +1,63 @@
+/* eslint-disable @next/next/no-img-element */
+import { More,Like,CommentButton } from "./icons";
+
+export default function MainPost() {
+ return (
+
+
+
+
+
+
+
Min Han Kyaw {' '}
+
+ {/*
Min Han Kyaw {' '} */}
+
+ was with{' '}
+
+
ဇူကာဘတ် {' '}
+
+
+ {' '}
+ November 05, 2023{' '}
+
+
+
+
+
+
+
+
+ My Everday life as a Software Engineer :3
+
+
+
+
1.5k Loves
+
1.5k Comments
+
+
+
+
+
+ Love
+
+
+
+ a thel ly twy py pr
+
+
+
+
+
+ );
+}
diff --git a/src/components/Contributors/MinHanKyaw/photos.jsx b/src/components/Contributors/MinHanKyaw/photos.jsx
new file mode 100644
index 0000000..cacbac3
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/photos.jsx
@@ -0,0 +1,23 @@
+/* eslint-disable @next/next/no-img-element */
+export default function Photos() {
+ return (
+
+
+
Photos
+
+ See All Photos
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/Contributors/MinHanKyaw/posts.jsx b/src/components/Contributors/MinHanKyaw/posts.jsx
new file mode 100644
index 0000000..d7246ba
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/posts.jsx
@@ -0,0 +1,16 @@
+import Filter from "./icons";
+
+export default function Posts() {
+ return (
+
+ );
+}
diff --git a/src/components/Contributors/MinHanKyaw/timelineHeader.jsx b/src/components/Contributors/MinHanKyaw/timelineHeader.jsx
new file mode 100644
index 0000000..1562d42
--- /dev/null
+++ b/src/components/Contributors/MinHanKyaw/timelineHeader.jsx
@@ -0,0 +1,100 @@
+/* eslint-disable @next/next/no-img-element */
+import { Phone, DownArrow, Friend,More } from "./icons";
+import { PhoneDialog,MailDialog,MoreDialog } from './dialog';
+import React, { useState } from 'react';
+
+export default function TimelineHeader() {
+ const [isPhoneDialogOpen, setIsPhoneDialogOpen] = useState(false);
+ const [isMailDialogOpen, setIsMailDialogOpen] = useState(false);
+ const [isMoreDialogOpen, setIsMoreDialogOpen] = useState(false);
+
+ const handlePhoneClick = () => {
+ setIsPhoneDialogOpen(true);
+ };
+
+ const handleClosePhoneDialog = () => {
+ setIsPhoneDialogOpen(false);
+ };
+
+ const handleMailClick = () => {
+ setIsMailDialogOpen(true);
+ };
+
+ const handleCloseMailDialog = () => {
+ setIsMailDialogOpen(false);
+ };
+
+ const handleMoreClick = () => {
+ setIsMoreDialogOpen(true);
+ };
+
+ const handleCloseMoreDialog = () => {
+ setIsMoreDialogOpen(false);
+ };
+ return (
+
+
+
+
+
+
+
+
+ Min Han Kyaw
+
+
+
+
+
+
+ Posts
+
+
+ Friends 606
+
+
Photos
+
Videos
+
Check-Ins
+
+ More
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/Contributors/Thant/3d-components/Sphere.jsx b/src/components/Contributors/Thant/3d-components/Sphere.jsx
new file mode 100644
index 0000000..f68c288
--- /dev/null
+++ b/src/components/Contributors/Thant/3d-components/Sphere.jsx
@@ -0,0 +1,58 @@
+import React, { useEffect, useMemo, useRef } from "react";
+import fragmentShader from "./fragmentShader.js";
+import vertexShader from "./vertexShader.js";
+import { useFrame } from "@react-three/fiber";
+import { MathUtils } from "three";
+import * as THREE from "three";
+
+const Sphere = ({ sound }) => {
+ const mesh = useRef();
+ const analyser = useRef();
+ useEffect(
+ () => void (analyser.current = new THREE.AudioAnalyser(sound.current, 32)),
+ [sound]
+ );
+
+ const uniforms = useMemo(() => {
+ return {
+ u_time: { value: 0 },
+ u_intensity: { value: 3 },
+ };
+ }, []);
+
+ useFrame((state, delta) => {
+ const { clock } = state;
+ if (mesh.current) {
+ mesh.current.material.uniforms.u_time.value =
+ 0.4 * clock.getElapsedTime();
+ mesh.current.material.uniforms.u_intensity.value = MathUtils.lerp(
+ mesh.current.material.uniforms.u_intensity.value,
+ 0.15,
+ 0.02
+ );
+ }
+ if (analyser.current) {
+ const data = analyser.current.getAverageFrequency();
+ mesh.current.scale.x =
+ mesh.current.scale.y =
+ mesh.current.scale.z =
+ (data / 100) * 2;
+ uniforms.u_intensity.value = (data / 100) * 2;
+ }
+ mesh.current.rotation.x += 0.005 * delta;
+ mesh.current.rotation.y += 0.005 * delta;
+ });
+
+ return (
+
+
+
+
+ );
+};
+
+export default Sphere;
diff --git a/src/components/Contributors/Thant/3d-components/fragmentShader.js b/src/components/Contributors/Thant/3d-components/fragmentShader.js
new file mode 100644
index 0000000..4835bf3
--- /dev/null
+++ b/src/components/Contributors/Thant/3d-components/fragmentShader.js
@@ -0,0 +1,16 @@
+const fragmentShader = `
+uniform float u_intensity;
+uniform float u_time;
+
+varying vec2 vUv;
+varying float vDisplacement;
+
+void main() {
+ float distort = 2.0 * vDisplacement * u_intensity * sin(vUv.y * 10.0 + u_time);
+ vec3 color = vec3(abs(vUv - 0.5) * 2.0 * (1.0 - distort), 1.0);
+ gl_FragColor = vec4(color, 1.0);
+}
+
+`;
+
+export default fragmentShader;
diff --git a/src/components/Contributors/Thant/3d-components/vertexShader.js b/src/components/Contributors/Thant/3d-components/vertexShader.js
new file mode 100644
index 0000000..0bf4e74
--- /dev/null
+++ b/src/components/Contributors/Thant/3d-components/vertexShader.js
@@ -0,0 +1,109 @@
+const vertexShader = `
+uniform float u_intensity;
+uniform float u_time;
+
+varying vec2 vUv;
+varying float vDisplacement;
+
+// Classic Perlin 3D Noise
+// by Stefan Gustavson
+//
+vec4 permute(vec4 x) {
+ return mod(((x*34.0)+1.0)*x, 289.0);
+}
+
+vec4 taylorInvSqrt(vec4 r) {
+ return 1.79284291400159 - 0.85373472095314 * r;
+}
+
+vec3 fade(vec3 t) {
+ return t*t*t*(t*(t*6.0-15.0)+10.0);
+}
+
+float cnoise(vec3 P) {
+ vec3 Pi0 = floor(P); // Integer part for indexing
+ vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1
+ Pi0 = mod(Pi0, 289.0);
+ Pi1 = mod(Pi1, 289.0);
+ vec3 Pf0 = fract(P); // Fractional part for interpolation
+ vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
+ vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
+ vec4 iy = vec4(Pi0.yy, Pi1.yy);
+ vec4 iz0 = Pi0.zzzz;
+ vec4 iz1 = Pi1.zzzz;
+
+ vec4 ixy = permute(permute(ix) + iy);
+ vec4 ixy0 = permute(ixy + iz0);
+ vec4 ixy1 = permute(ixy + iz1);
+
+ vec4 gx0 = ixy0 / 7.0;
+ vec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;
+ gx0 = fract(gx0);
+ vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
+ vec4 sz0 = step(gz0, vec4(0.0));
+ gx0 -= sz0 * (step(0.0, gx0) - 0.5);
+ gy0 -= sz0 * (step(0.0, gy0) - 0.5);
+
+ vec4 gx1 = ixy1 / 7.0;
+ vec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;
+ gx1 = fract(gx1);
+ vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
+ vec4 sz1 = step(gz1, vec4(0.0));
+ gx1 -= sz1 * (step(0.0, gx1) - 0.5);
+ gy1 -= sz1 * (step(0.0, gy1) - 0.5);
+
+ vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);
+ vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);
+ vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);
+ vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);
+ vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);
+ vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);
+ vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);
+ vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);
+
+ vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
+ g000 *= norm0.x;
+ g010 *= norm0.y;
+ g100 *= norm0.z;
+ g110 *= norm0.w;
+ vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
+ g001 *= norm1.x;
+ g011 *= norm1.y;
+ g101 *= norm1.z;
+ g111 *= norm1.w;
+
+ float n000 = dot(g000, Pf0);
+ float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
+ float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
+ float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
+ float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
+ float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
+ float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
+ float n111 = dot(g111, Pf1);
+
+ vec3 fade_xyz = fade(Pf0);
+ vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
+ vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
+ float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);
+ return 2.2 * n_xyz;
+}
+
+// End of Perlin Noise Code
+
+
+void main() {
+ vUv = uv;
+
+ vDisplacement = cnoise(position + vec3(2.0 * u_time));
+
+ vec3 newPosition = position + normal * (u_intensity * vDisplacement);
+
+ vec4 modelPosition = modelMatrix * vec4(newPosition, 1.0);
+ vec4 viewPosition = viewMatrix * modelPosition;
+ vec4 projectedPosition = projectionMatrix * viewPosition;
+
+ gl_Position = projectedPosition;
+}
+`;
+
+export default vertexShader;
diff --git a/src/components/Contributors/Thant/App.jsx b/src/components/Contributors/Thant/App.jsx
new file mode 100644
index 0000000..87bed9f
--- /dev/null
+++ b/src/components/Contributors/Thant/App.jsx
@@ -0,0 +1,17 @@
+import React, { useEffect, useState } from 'react'
+import VN from './VN'
+import Visualizer from './Visualizer'
+
+const App = () => {
+ const [isClicked, setClick] = useState(false)
+ const [audioTime, setAudioTime] = useState(0)
+ return (
+ <>
+ {
+ isClicked ? :
+ }
+ >
+ )
+}
+
+export default App
\ No newline at end of file
diff --git a/src/components/Contributors/Thant/VN.jsx b/src/components/Contributors/Thant/VN.jsx
new file mode 100644
index 0000000..3021f8d
--- /dev/null
+++ b/src/components/Contributors/Thant/VN.jsx
@@ -0,0 +1,155 @@
+/* eslint-disable react-hooks/exhaustive-deps */
+/* eslint-disable @next/next/no-img-element */
+import React, { useEffect, useState } from "react";
+import dialogArray from "./choices.json";
+
+const VN = ({ setClick, setAudioTime }) => {
+ const start = () => {
+ document.getElementById("start").classList.add("hidden");
+ document.getElementById("vn").classList.remove("hidden");
+ let audio = new Audio(
+ "https://drive.google.com/uc?id=1vDo02iqo8lOEUhVouXh5FZNOXZh3FzM9"
+ );
+ audio.preload = "auto";
+ audio.volume = 0.5;
+ audio.addEventListener("canplay", () => {
+ audio.play();
+ });
+ audio.load();
+ song = audio;
+ };
+ let song = null;
+ let oneClicked = false;
+ let twoClicked = false;
+ let data = [];
+ const nextDialog = () => {
+ if (data.length == 0) {
+ return;
+ }
+ if (data[1] && typeof data[1] != "string") {
+ if (!data[1].dialog) {
+ choiceBox.classList.toggle("hidden");
+ console.log(data);
+ questionOne.innerHTML = data[1].question1;
+ questionTwo.innerHTML = data[1].question2;
+ questionOne.addEventListener("click", (e) => {
+ if (!oneClicked) {
+ choiceBox.classList.toggle("hidden");
+ sprite.src = data[2].answer1.image;
+ let typewriter = new Typewriter(dialog, {
+ delay: 50,
+ });
+ typewriter.typeString(data[2].answer1.dialog).start();
+ data = data.slice(3);
+ oneClicked = true;
+ }
+ });
+ questionTwo.addEventListener("click", (e) => {
+ if (!twoClicked) {
+ choiceBox.classList.toggle("hidden");
+ sprite.src = data[2].answer2.image;
+ let typewriter = new Typewriter(dialog, {
+ delay: 50,
+ });
+ typewriter.typeString(data[2].answer2.dialog).start();
+ data = data.slice(3);
+ twoClicked = true;
+ }
+ });
+ } else {
+ let typewriter = new Typewriter(dialog, {
+ delay: 50,
+ });
+ typewriter.typeString(data[0].dialog).start();
+ sprite.src = data[0].image;
+ oneClicked = false;
+ twoClicked = false;
+ data = data.slice(1);
+ }
+ } else {
+ if (data[0] == "done") {
+ song.volume = 0.3;
+ setTimeout(() => {
+ song.volume = 0;
+ }, 1000);
+ setClick(true);
+ setAudioTime(song.currentTime);
+ }
+ let typewriter = new Typewriter(dialog, {
+ delay: 50,
+ });
+ typewriter.typeString(data[0].dialog).start();
+ sprite.src = data[0].image;
+ oneClicked = false;
+ twoClicked = false;
+ data = data.slice(1);
+ }
+ };
+
+ function lightOff() {
+ document.getElementsByTagName("body")[0].style.background = "black";
+ }
+
+ useEffect(() => {
+ let dialog = document.getElementById("dialog");
+ data = dialogArray;
+ let typewriter = new Typewriter(dialog, {
+ delay: 50,
+ });
+ typewriter.typeString(data[0].dialog).start();
+ let choiceBox = document.getElementById("choiceBox");
+ let questionOne = document.getElementById("questionOne");
+ let questionTwo = document.getElementById("questionTwo");
+ let sprite = document.getElementById("sprite");
+ }, []);
+ return (
+ <>
+
+
+
+
+
+
+
+ Thant Htet Aung
+
+
+
+
+
+ Choice One
+
+
+ Choice Two
+
+
+ >
+ );
+};
+
+export default VN;
diff --git a/src/components/Contributors/Thant/Visualizer.jsx b/src/components/Contributors/Thant/Visualizer.jsx
new file mode 100644
index 0000000..6d154cc
--- /dev/null
+++ b/src/components/Contributors/Thant/Visualizer.jsx
@@ -0,0 +1,31 @@
+import React, { Suspense, useEffect, useRef } from 'react'
+import { Canvas } from '@react-three/fiber'
+import Sphere from './3d-components/Sphere'
+import { Environment, OrbitControls, PositionalAudio } from '@react-three/drei'
+import { EffectComposer, Bloom, DepthOfField } from '@react-three/postprocessing'
+
+const Visualizer = ({ audioTime }) => {
+ const sound = useRef();
+ useEffect(() => {
+ document.getElementsByTagName('body')[0].style.background = 'black';
+ }, [])
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export default Visualizer
\ No newline at end of file
diff --git a/src/components/Contributors/Thant/audio/space-walk.mp3 b/src/components/Contributors/Thant/audio/space-walk.mp3
new file mode 100644
index 0000000..63b965a
Binary files /dev/null and b/src/components/Contributors/Thant/audio/space-walk.mp3 differ
diff --git a/src/components/Contributors/Thant/choices.json b/src/components/Contributors/Thant/choices.json
new file mode 100644
index 0000000..56fc123
--- /dev/null
+++ b/src/components/Contributors/Thant/choices.json
@@ -0,0 +1,67 @@
+[
+ {
+ "dialog": "ဘာာကိစ္စလည်းခင်ဗျ",
+ "image": "https://i.imgur.com/YUYwLuE.png"
+ },
+ {
+ "question1": "Profileအသေးစိတ်ကဘယ်မှာတုန်း",
+ "question2": "ဒါဘာကြီးလည်း ရှင်းပြပါအုန်း"
+ },
+ {
+ "answer1": {
+ "dialog": "အဲ့တာဆိုရင်တော့ မရေးထားဘူး",
+ "image": "https://i.imgur.com/bLB4Gzp.png"
+ },
+ "answer2": {
+ "dialog": "ဒါက Visual Novelပုံစံကို အတုယူထားတာ",
+ "image": "https://i.imgur.com/bLB4Gzp.png"
+ }
+ },
+ {
+ "dialog": "သူများတွေလိုလည်း Frontend ပရိုမဟုတ်တော့",
+ "image": "https://i.imgur.com/K9TNq53.png"
+ },
+ {
+ "dialog": "စိတ်ဝင်စားစရာကောင်းတဲ့အလန်းစားProfile မျိုးမရေးတတ်ပါဘူး",
+ "image": "https://i.imgur.com/K9TNq53.png"
+ },
+ {
+ "dialog": "ဒီအတိုင်းကြီး Plainပဲရေးရမှာလည်း ပျင်းဖို့ကောင်းတာဆိုတော့",
+ "image": "https://i.imgur.com/z5mBEFq.png"
+ },
+ {
+ "dialog": "နည်းနည်းလောက် လက်ဆော့လိုက်တယ်ဆိုတာမျိုးပေါ့",
+ "image": "https://i.imgur.com/fJvnZAH.png"
+ },
+ {
+ "question1": "ရေးထားတာလေး ကောင်းပါတယ်",
+ "question2": "ပျင်းဖို့ကောင်းတယ်"
+ },
+ {
+ "answer1": {
+ "dialog": "ကျေးဇူးပါ ဒါပေမယ့်",
+ "image": "https://i.imgur.com/OWFb6q5.png"
+ },
+ "answer2": {
+ "dialog": "မငြင်းနိုင်ပါဘူး",
+ "image": "https://i.imgur.com/bLB4Gzp.png"
+ }
+ },
+ {
+ "dialog": "Reactဆိုလည်း Basicလောက်ပဲရေးနိုင်တာဆိုတော့ ကောင်းတယ်လို့ပြောဖို့ကခက်မယ်ထင်ပါတယ်",
+ "image": "https://i.imgur.com/fJvnZAH.png"
+ },
+ {
+ "dialog": "လက်ရှိမှာလည်း Junior Laravel Developerအနေနဲ့အလုပ်လုပ်နေတာ တစ်နှစ်တောင်မပြည့်သေးဘူးဆိုတော့",
+ "image": "https://i.imgur.com/bLB4Gzp.png"
+ },
+ {
+ "dialog": "ထပ်ထပ် သင်ယူပြီး ပိုလန်း ပိုမိုက်တဲ့ Codeတွေရေးနိုင်အောင် ကြိုးစားသွားမှာပါ",
+ "image": "https://i.imgur.com/fJvnZAH.png"
+ },
+ {
+ "dialog": "သီချင်းသံတိုးနေရင်တော့ Mouse Wheelနဲ့ချဲ့လို့ရပါတယ်နော်",
+ "image": "https://i.imgur.com/fJvnZAH.png"
+ },
+ "done"
+]
\ No newline at end of file
diff --git a/src/styles/globals.scss b/src/styles/globals.scss
index a73ed5f..bf2a446 100644
--- a/src/styles/globals.scss
+++ b/src/styles/globals.scss
@@ -2,13 +2,13 @@
@tailwind components;
@tailwind utilities;
-.mse-gradient {
- background: linear-gradient(
- 145deg,
- rgb(0, 32, 95) 2.8%,
- rgb(132, 53, 142) 80.8%
- );
-}
+// .mse-gradient {
+// background: linear-gradient(
+// 145deg,
+// rgb(0, 32, 95) 2.8%,
+// rgb(132, 53, 142) 80.8%
+// );
+// }
// Profile scss
@@ -17,4 +17,4 @@
@import "profiles/aungmyatmoe";
@import "profiles/aungkoko";
@import "profiles/peter";
-@import "profiles/jiro"
+@import "profiles/jiro";