From 7bb9b52f997cbc15a2bc6d322b3a418457a0544f Mon Sep 17 00:00:00 2001 From: cherylpinto Date: Thu, 14 Aug 2025 21:37:33 +0530 Subject: [PATCH 1/2] feat: UI-Overview Tab --- src/css/custom.css | 75 ++-- src/pages/interview-prep/index.tsx | 678 ++++++++++++++++++++++++++--- 2 files changed, 656 insertions(+), 97 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index c23bcef4..ad7022ef 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -1358,6 +1358,38 @@ html { } + /* Fix: Remove extra box/space above dropdown nav items in sidebar */ + .navbar-sidebar__item, + .navbar-sidebar__link, + .navbar-sidebar__brand { + margin-top: 0 !important; + padding-top: 0 !important; + border-top: none !important; + box-shadow: none !important; + } + .navbar-sidebar__item:first-child, + .navbar-sidebar__link:first-child { + margin-top: 0 !important; + padding-top: 0 !important; + border-top: none !important; + box-shadow: none !important; + } + /* Remove any unwanted hr or divider above dropdowns */ + .navbar-sidebar hr, + .navbar-sidebar__item hr { + display: none !important; + margin: 0 !important; + padding: 0 !important; + border: none !important; + } + /* Remove grid gap above dropdowns */ + .navbar-sidebar .grid { + gap: 0 !important; + margin-top: 0 !important; + padding-top: 0 !important; + } +} + /* STAR section border fixes for dark mode */ [data-theme='dark'] .star-border-red { border-color: #ef4444 !important; @@ -1429,39 +1461,18 @@ html { } -[data-theme='dark'].interview-prep-join-comm{ - border-color:#854D0E +[data-theme='dark'] .overview-sidebar-blue{ + border-color:#3b82f6 +} +[data-theme='dark'] .overview-sidebar-green{ + border-color:#22c55e } +[data-theme='dark'] .overview-sidebar-yellow{ + border-color:#eab308 +} +[data-theme='dark'] .overview-sidebar-purple{ + border-color: #a855f7 - /* Fix: Remove extra box/space above dropdown nav items in sidebar */ - .navbar-sidebar__item, - .navbar-sidebar__link, - .navbar-sidebar__brand { - margin-top: 0 !important; - padding-top: 0 !important; - border-top: none !important; - box-shadow: none !important; - } - .navbar-sidebar__item:first-child, - .navbar-sidebar__link:first-child { - margin-top: 0 !important; - padding-top: 0 !important; - border-top: none !important; - box-shadow: none !important; - } - /* Remove any unwanted hr or divider above dropdowns */ - .navbar-sidebar hr, - .navbar-sidebar__item hr { - display: none !important; - margin: 0 !important; - padding: 0 !important; - border: none !important; - } - /* Remove grid gap above dropdowns */ - .navbar-sidebar .grid { - gap: 0 !important; - margin-top: 0 !important; - padding-top: 0 !important; - } } + diff --git a/src/pages/interview-prep/index.tsx b/src/pages/interview-prep/index.tsx index fb6f0e3b..7360bb96 100644 --- a/src/pages/interview-prep/index.tsx +++ b/src/pages/interview-prep/index.tsx @@ -1,9 +1,10 @@ -import React from "react"; +import React from "react" import { useState } from "react" import Layout from "@theme/Layout" import Head from "@docusaurus/Head" -import { motion } from "framer-motion" +import { motion, AnimatePresence } from "framer-motion" import Link from "@docusaurus/Link" +import "../../css/custom.css" // Animation variants const fadeIn = { @@ -222,6 +223,23 @@ const InterviewPrepPage: React.FC = () => { })) } + const [showTips, setShowTips] = useState<{ [key: number]: boolean }>({}) + const [showQuestions, setShowQuestions] = useState<{ [key: number]: boolean }>({}) + + const toggleTips = (index: number) => { + setShowTips((prev) => ({ + ...prev, + [index]: !prev[index], + })) + } + + const toggleQuestions = (index: number) => { + setShowQuestions((prev) => ({ + ...prev, + [index]: !prev[index], + })) + } + return ( { + + {showTips[index] && ( + +
    + {stage.tips.map((tip, tipIndex) => ( + + + {tip} + + ))} +
+
+ )} +
+ + +
+ + + {showQuestions[index] && ( + +
+ {stage.commonQuestions.map((question, qIndex) => ( + +

"{question}"

+
+ ))} +
+
+ )} +
+
+ + + + + ) + })} + + + + + +
+

Preparation Strategy

+
+
+
+
+
+ 🧠 +
+

Problem-Solving Mastery

+

+ Build strong algorithmic thinking through consistent practice. Focus on understanding patterns + rather than memorizing solutions. +

+
+
+
+ 💬 +
+

Communication Excellence

+

+ Practice explaining complex concepts clearly. Develop your ability to think out loud and + collaborate effectively. +

+
+
+
+ 🎭 +
+

Behavioral Readiness

+

+ Prepare compelling stories using the STAR method. Showcase leadership, growth mindset, and + cultural alignment. +

+
+
+ +
+
+ 💡 + Pro Tip: Balance Your Preparation +
+

+ Allocate 60% of your time to technical skills, 30% to behavioral preparation, and 10% to company + research. This balance ensures you're well-rounded and confident in all interview stages. +

+
+
+
+ + +

+ Quick Access to Resources +

+
+ {[ + { + id: "technical", + title: "Technical Prep", + icon: "💻", + description: "Coding challenges, algorithms, system design", + color: "from-blue-500 to-blue-600", + items: ["500+ Problems", "System Design", "Code Review"], + }, + { + id: "behavioral", + title: "Behavioral Prep", + icon: "🤝", + description: "STAR method, leadership stories, soft skills", + color: "from-green-500 to-green-600", + items: ["STAR Framework", "Leadership", "Communication"], + }, + { + id: "companies", + title: "Company Guides", + icon: "🏢", + description: "Company-specific tips and strategies", + color: "from-purple-500 to-purple-600", + items: ["FAANG Tips", "Culture Fit", "Specific Questions"], + }, + { + id: "practice", + title: "Mock Practice", + icon: "🎯", + description: "Simulate real interview conditions", + color: "from-orange-500 to-orange-600", + items: ["Live Practice", "Feedback", "Time Management"], + }, + ].map((section) => ( + setActiveTab(section.id as any)} + whileHover={{ y: -5 }} + > +
+
{section.icon}
+

{section.title}

+
+
+

{section.description}

+
+ {section.items.map((item, i) => ( +
+ + {item} +
+ ))} +
+
+ + Explore Section → + +
+
+
+ ))} +
+
{/* Quick Stats */} { {/* Introduction Section */} -

- Behavioral Interview Preparation -

+

Behavioral Interview Preparation

Master the art of storytelling and showcase your soft skills with confidence

@@ -691,10 +1246,10 @@ const InterviewPrepPage: React.FC = () => { >
{section.questions.map((question, i) => ( -
+

"{question}"

))} @@ -816,12 +1371,7 @@ const InterviewPrepPage: React.FC = () => { {video.channel} {video.duration}
- + ▶️ Watch Video @@ -856,7 +1406,7 @@ const InterviewPrepPage: React.FC = () => { {/* Contributor Note */}
@@ -1021,25 +1571,23 @@ const InterviewPrepPage: React.FC = () => { >
{question.type.charAt(0).toUpperCase() + question.type.slice(1)} {question.difficulty && ( {question.difficulty} From f5461928ca1d205f12edef5736e4b02b0ed6240e Mon Sep 17 00:00:00 2001 From: cherylpinto Date: Thu, 14 Aug 2025 21:44:31 +0530 Subject: [PATCH 2/2] feat: UI-Overview Tab --- src/pages/interview-prep/index.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pages/interview-prep/index.tsx b/src/pages/interview-prep/index.tsx index 7360bb96..5dfec89a 100644 --- a/src/pages/interview-prep/index.tsx +++ b/src/pages/interview-prep/index.tsx @@ -4,7 +4,6 @@ import Layout from "@theme/Layout" import Head from "@docusaurus/Head" import { motion, AnimatePresence } from "framer-motion" import Link from "@docusaurus/Link" -import "../../css/custom.css" // Animation variants const fadeIn = { @@ -894,7 +893,6 @@ const InterviewPrepPage: React.FC = () => { ))}
- {/* Quick Stats */}