diff --git a/public/images/Nitro Boost.png b/public/images/Nitro Boost.png new file mode 100644 index 0000000..d8cb8a8 Binary files /dev/null and b/public/images/Nitro Boost.png differ diff --git a/public/images/kofi_symbol.svg b/public/images/kofi_symbol.svg new file mode 100644 index 0000000..ade749d --- /dev/null +++ b/public/images/kofi_symbol.svg @@ -0,0 +1,13 @@ + diff --git a/src/components/views/CreditsView.tsx b/src/components/views/CreditsView.tsx index 8ed248a..1721874 100644 --- a/src/components/views/CreditsView.tsx +++ b/src/components/views/CreditsView.tsx @@ -1,4 +1,4 @@ -import { useEffect, memo } from "react"; +import { useEffect, memo, useState } from "react"; import { motion } from "framer-motion"; import { useUI, useAudio } from "../../context/LauncherContext"; @@ -15,12 +15,23 @@ interface CreditCategory { url: string; }[]; }[]; + subprojects?: { + name: string; + roles: { + role: string; + members: { + name: string; + url: string; + }[]; + }[]; + }[]; }[]; } const CreditsView = memo(function CreditsView() { const { setActiveView } = useUI(); - const { playBackSound } = useAudio(); + const { playPressSound } = useAudio(); + const [isHovered, setIsHovered] = useState(false); const credits: CreditCategory[] = [ { @@ -75,6 +86,50 @@ const CreditsView = memo(function CreditsView() { ], }, ], + subprojects: [ + { + name: "neoStudios LCE", + roles: [ + { + role: "Active Maintainer", + members: [ + { name: "Andi_pog", url: "https://github.com/Andi-pog" }, + { name: "LordCambion", url: "https://github.com/LordCambion" }, + { name: "neoapps", url: "https://github.com/neoapps-dev" }, + { name: "tranqlmao", url: "https://github.com/tranqlmao" }, + ], + }, + { + role: "Contributors", + members: [ + { name: "Fireblade", url: "#" }, + { name: "Rockefeler", url: "#" }, + { name: "CDevJoud", url: "#" }, + { name: "Rhys Evolution", url: "#" }, + ], + }, + ], + }, + { + name: "Minigames Division (LMRP)", + roles: [ + { + role: "Founders", + members: [ + { name: "700", url: "#" }, + { name: "DankMan01", url: "#" }, + ], + }, + { + role: "Contributors", + members: [ + { name: "xxxtentactcles", url: "#" }, + { name: "salad", url: "#" }, + ], + }, + ], + }, + ], }, { name: "360 Revived", @@ -125,28 +180,36 @@ const CreditsView = memo(function CreditsView() { ], }, ], - } + }, { category: "SPECIAL THANKS", icon: "", subcategories: [ { name: "Discord Booster", - icon: "/images/discord.png", + icon: "/images/Nitro Boost.png", roles: [ { role: "", - members: [], + members: [ + { name: "mr_anilex", url: "#" }, + { name: "faisal508508", url: "#" }, + { name: "dr.av", url: "#" }, + { name: "alreadywarned", url: "#" }, + { name: "andrewjcf", url: "#" }, + ], }, ], }, { - name: "Donors", - icon: "", + name: "Ko-fi Supporters", + icon: "/images/kofi_symbol.svg", roles: [ { role: "", - members: [], + members: [ + { name: "faisal508508", url: "#" }, + ], }, ], }, @@ -158,38 +221,41 @@ const CreditsView = memo(function CreditsView() { const handleKey = (e: KeyboardEvent) => { if (document.activeElement?.tagName === "INPUT") return; if (e.key === "Escape") { - playBackSound(); + playPressSound(); setActiveView("main"); } }; window.addEventListener("keydown", handleKey); return () => window.removeEventListener("keydown", handleKey); - }, [setActiveView, playBackSound]); + }, [setActiveView, playPressSound]); return (
- Not affiliated with Mojang, Microsoft, or 4J Studios + Minecraft is a trademark of Mojang Synergies AB. This project is not affiliated with, endorsed by, sponsored by, or specifically approved by Mojang, Microsoft, or 4J Studios.