Readded credits, added all open source projects used in credits, added achievements in sidebar as we seem to have enough space on a 1920x1080 screen for it

This commit is contained in:
someone 2025-12-07 20:55:50 +01:00
parent 2e6e989039
commit f9095a1fb8
4 changed files with 34 additions and 5 deletions

View File

@ -32,6 +32,7 @@ const Breakout = lazy(() => import("./pages/Breakout"));
const Music = lazy(() => import("./pages/Music"));
const AIChat = lazy(() => import("./pages/AIChat"));
const Achievements = lazy(() => import("./pages/Achievements"));
const Credits = lazy(() => import("./pages/Credits"));
const NotFound = lazy(() => import("./pages/NotFound"));
const queryClient = new QueryClient();
@ -126,6 +127,7 @@ const AppContent = () => {
<Route path="music" element={<Music />} />
<Route path="ai" element={<AIChat />} />
<Route path="achievements" element={<Achievements />} />
<Route path="credits" element={<Credits />} />
</Route>
<Route path="*" element={<NotFound />} />
</Routes>

View File

@ -14,6 +14,7 @@ const navItems = [
{ path: '/ai', label: 'AI Chat' },
{ path: '/music', label: 'Music Player' },
{ path: '/games', label: 'Arcade' },
{ path: '/achievements', label: 'Achievements' },
{ path: '/faq', label: 'FAQ' },
];

View File

@ -28,6 +28,8 @@ const commands: Record<string, string> = {
'/achievements': '/achievements',
'/ach': '/achievements',
'/a': '/achievements',
'/credits': '/credits',
'/cred': '/credits',
};
const helpText = `Available commands:
@ -45,6 +47,7 @@ const helpText = `Available commands:
/music, /m - Navigate to Music Player
/ai, /chat - Navigate to AI Chat
/achievements /a - View achievements
/credits /cred - View credits
/help, /h - Show this help message
/clear, /c - Clear terminal output`;
@ -175,7 +178,7 @@ const TerminalCommand = () => {
<div className="flex items-center justify-between px-4 py-2 border-b border-primary bg-primary/10">
<div className="flex items-center gap-2">
<Terminal size={16} className="text-primary" />
<span className="font-minecraft text-sm text-primary text-glow">terminal@my-site.lol</span>
<span className="font-minecraft text-sm text-primary text-glow">terminal@fbi.gov</span>
</div>
<button
onClick={() => setIsOpen(false)}

View File

@ -1,12 +1,35 @@
import { motion } from 'framer-motion';
const credits = [
{ name: 'Pixelify Sans', by: 'Stefie Justprince - Google Fonts', url: 'https://fonts.google.com/specimen/Pixelify+Sans' },
// Fonts
{ name: 'Minecraftia', by: 'Andrew Tyler - CDN Fonts', url: 'https://www.cdnfonts.com/minecraftia.font' },
{ name: 'Pixelify Sans', by: 'Stefie Justprince - Google Fonts', url: 'https://fonts.google.com/specimen/Pixelify+Sans' },
// Core Frameworks & Libraries
{ name: 'ECharts', by: 'Apache ECharts', url: 'https://echarts.apache.org/en/index.html' },
{ name: 'Framer Motion', by: 'Framer - Animation Library', url: 'https://www.framer.com/motion/' },
{ name: 'Tailwind CSS', by: 'Tailwind Labs', url: 'https://tailwindcss.com/' },
{ name: 'React', by: 'Meta Open Source', url: 'https://react.dev/' },
{ name: 'React Hook Form', by: 'Daisuke Hirayama', url: 'https://react-hook-form.com/' },
{ name: 'React Router', by: 'Remix Software', url: 'https://reactrouter.com/' },
{ name: 'Recharts', by: 'Recharts Group', url: 'https://recharts.org/' },
{ name: 'TanStack Query', by: 'TanStack', url: 'https://tanstack.com/query/latest' },
{ name: 'TypeScript', by: 'Microsoft', url: 'https://www.typescriptlang.org/' },
{ name: 'Vite', by: 'Evan You and Vite Contributors', url: 'https://vitejs.dev/' },
{ name: 'Zod', by: 'Colin McDonnell', url: 'https://zod.dev/' },
// UI Components & Styling
{ name: 'clsx', by: 'Luke Edwards', url: 'https://github.com/lukeed/clsx' },
{ name: 'Lucide Icons', by: 'Lucide Contributors', url: 'https://lucide.dev/' },
{ name: 'Radix UI', by: 'WorkOS', url: 'https://www.radix-ui.com/' },
{ name: 'shadcn/ui', by: 'Shadcn', url: 'https://ui.shadcn.com/' },
{ name: 'Tailwind CSS', by: 'Tailwind Labs', url: 'https://tailwindcss.com/' },
{ name: 'Tailwind Merge', by: 'dcastil', url: 'https://github.com/dcastil/tailwind-merge' },
// Development & Tooling
{ name: 'Autoprefixer', by: 'Can I use & PostCSS', url: 'https://github.com/postcss/autoprefixer' },
{ name: 'ESLint', by: 'OpenJS Foundation', url: 'https://eslint.org/' },
{ name: 'PostCSS', by: 'PostCSS Team', url: 'https://postcss.org/' },
{ name: 'Webpack', by: 'Webpack Contributors', url: 'https://webpack.js.org/' },
];
const Credits = () => {