From d08c630ffea34213c5fa0d108db5eebcfd3ba66e Mon Sep 17 00:00:00 2001 From: rahul-aot Date: Thu, 2 Jul 2026 02:42:02 -0700 Subject: [PATCH 1/8] feat: implement interactive terminal component with command handling - Added Terminal component for user interaction, featuring command input and output display. - Integrated command handling logic with predefined commands including help, about, skills, projects, and more. - Implemented command suggestions and history navigation (up/down arrows). - Introduced theme cycling functionality within the terminal. - Removed ThemeSwitcher and Timeline components along with their styles as they are no longer needed. - Cleaned up unused styles and pages related to contact, home, journey, projects, and skills. - Updated global styles to include new terminal-related styles and animations. - Refactored variables for better theme management and terminal aesthetics. --- index.html | 2 +- src/App.tsx | 30 +- src/components/ContactForm/ContactForm.scss | 135 -------- src/components/ContactForm/ContactForm.tsx | 116 ------- src/components/FloatingChat/FloatingChat.scss | 157 --------- src/components/FloatingChat/FloatingChat.tsx | 271 ---------------- src/components/GlassCard/GlassCard.scss | 12 - src/components/GlassCard/GlassCard.tsx | 31 -- src/components/Hero/Hero.scss | 301 ------------------ src/components/Hero/Hero.tsx | 123 ------- .../LoadingScreen/LoadingScreen.scss | 99 ++++++ .../LoadingScreen/LoadingScreen.tsx | 114 +++++++ src/components/Navbar/Navbar.scss | 125 -------- src/components/Navbar/Navbar.tsx | 59 ---- src/components/ProjectCard/ProjectCard.scss | 107 ------- src/components/ProjectCard/ProjectCard.tsx | 85 ----- src/components/SkillGrid/SkillGrid.scss | 49 --- src/components/SkillGrid/SkillGrid.tsx | 55 ---- src/components/Terminal/Terminal.scss | 156 +++++++++ src/components/Terminal/Terminal.tsx | 162 ++++++++++ src/components/Terminal/commands.ts | 199 ++++++++++++ .../ThemeSwitcher/ThemeSwitcher.scss | 62 ---- .../ThemeSwitcher/ThemeSwitcher.tsx | 56 ---- src/components/Timeline/Timeline.scss | 120 ------- src/components/Timeline/Timeline.tsx | 100 ------ src/pages/Contact/Contact.scss | 13 - src/pages/Contact/Contact.tsx | 22 -- src/pages/Home/Home.scss | 37 --- src/pages/Home/Home.tsx | 20 -- src/pages/Journey/Journey.scss | 21 -- src/pages/Journey/Journey.tsx | 24 -- src/pages/Projects/Projects.scss | 29 -- src/pages/Projects/Projects.tsx | 30 -- src/pages/Skills/Skills.scss | 21 -- src/pages/Skills/Skills.tsx | 24 -- src/router.tsx | 26 -- src/services/email.ts | 10 - src/services/rag.ts | 81 ----- src/styles/global.scss | 49 ++- src/styles/variables.scss | 57 +++- 40 files changed, 830 insertions(+), 2360 deletions(-) delete mode 100644 src/components/ContactForm/ContactForm.scss delete mode 100644 src/components/ContactForm/ContactForm.tsx delete mode 100644 src/components/FloatingChat/FloatingChat.scss delete mode 100644 src/components/FloatingChat/FloatingChat.tsx delete mode 100644 src/components/GlassCard/GlassCard.scss delete mode 100644 src/components/GlassCard/GlassCard.tsx delete mode 100644 src/components/Hero/Hero.scss delete mode 100644 src/components/Hero/Hero.tsx create mode 100644 src/components/LoadingScreen/LoadingScreen.scss create mode 100644 src/components/LoadingScreen/LoadingScreen.tsx delete mode 100644 src/components/Navbar/Navbar.scss delete mode 100644 src/components/Navbar/Navbar.tsx delete mode 100644 src/components/ProjectCard/ProjectCard.scss delete mode 100644 src/components/ProjectCard/ProjectCard.tsx delete mode 100644 src/components/SkillGrid/SkillGrid.scss delete mode 100644 src/components/SkillGrid/SkillGrid.tsx create mode 100644 src/components/Terminal/Terminal.scss create mode 100644 src/components/Terminal/Terminal.tsx create mode 100644 src/components/Terminal/commands.ts delete mode 100644 src/components/ThemeSwitcher/ThemeSwitcher.scss delete mode 100644 src/components/ThemeSwitcher/ThemeSwitcher.tsx delete mode 100644 src/components/Timeline/Timeline.scss delete mode 100644 src/components/Timeline/Timeline.tsx delete mode 100644 src/pages/Contact/Contact.scss delete mode 100644 src/pages/Contact/Contact.tsx delete mode 100644 src/pages/Home/Home.scss delete mode 100644 src/pages/Home/Home.tsx delete mode 100644 src/pages/Journey/Journey.scss delete mode 100644 src/pages/Journey/Journey.tsx delete mode 100644 src/pages/Projects/Projects.scss delete mode 100644 src/pages/Projects/Projects.tsx delete mode 100644 src/pages/Skills/Skills.scss delete mode 100644 src/pages/Skills/Skills.tsx delete mode 100644 src/router.tsx delete mode 100644 src/services/email.ts delete mode 100644 src/services/rag.ts diff --git a/index.html b/index.html index b1db749..9548cd5 100644 --- a/index.html +++ b/index.html @@ -49,7 +49,7 @@ diff --git a/src/App.tsx b/src/App.tsx index d1d71f1..84e881b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,23 +1,25 @@ -import React from 'react'; -import { BrowserRouter } from 'react-router-dom'; +import React, { useState, useCallback } from 'react'; +import { AnimatePresence } from 'framer-motion'; import { ThemeProvider } from './context/ThemeContext'; -import Navbar from './components/Navbar/Navbar'; -import ThemeSwitcher from './components/ThemeSwitcher/ThemeSwitcher'; -import FloatingChat from './components/FloatingChat/FloatingChat'; -import AppRouter from './router'; +import LoadingScreen from './components/LoadingScreen/LoadingScreen'; +import Terminal from './components/Terminal/Terminal'; import './styles/global.scss'; const App: React.FC = () => { + const [loading, setLoading] = useState(true); + const handleComplete = useCallback(() => setLoading(false), []); + return ( - -
- - - - -
-
+