diff --git a/src/App.tsx b/src/App.tsx index 8ae4819..64207e4 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -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 = () => { } /> } /> } /> + } /> } /> diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index 0a1cfe6..cfc3352 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -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' }, ]; @@ -136,4 +137,4 @@ const Sidebar = () => { ); }; -export default Sidebar; \ No newline at end of file +export default Sidebar; diff --git a/src/components/TerminalCommand.tsx b/src/components/TerminalCommand.tsx index e6fdccc..a6473ba 100644 --- a/src/components/TerminalCommand.tsx +++ b/src/components/TerminalCommand.tsx @@ -28,6 +28,8 @@ const commands: Record = { '/achievements': '/achievements', '/ach': '/achievements', '/a': '/achievements', + '/credits': '/credits', + '/cred': '/credits', }; const helpText = `Available commands: @@ -45,13 +47,14 @@ 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`; const helpHint = ` ╔══════════════════════════════════════════╗ ║ ...there may be other commands. ║ - ║ Perhaps a ꃅꀤꈤ꓄ to an easter egg exists? ║ + ║ Perhaps a ꃅꀤꈤ꓄ to an easter egg exists? ║ ╚══════════════════════════════════════════╝`; const TerminalCommand = () => { @@ -175,7 +178,7 @@ const TerminalCommand = () => { - terminal@my-site.lol + terminal@fbi.gov setIsOpen(false)} diff --git a/src/pages/Credits.tsx b/src/pages/Credits.tsx index 8cfc68f..2b5b89b 100644 --- a/src/pages/Credits.tsx +++ b/src/pages/Credits.tsx @@ -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 = () => {