diff --git a/._.DS_Store b/._.DS_Store new file mode 100755 index 0000000..28c42fb Binary files /dev/null and b/._.DS_Store differ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md old mode 100644 new mode 100755 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md old mode 100644 new mode 100755 diff --git a/EnvExample.txt b/EnvExample.txt old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/app/api/auth/route.js b/app/api/auth/route.js old mode 100644 new mode 100755 diff --git a/app/api/contact/route.js b/app/api/contact/route.js old mode 100644 new mode 100755 diff --git a/app/api/send-review/route.js b/app/api/send-review/route.js old mode 100644 new mode 100755 diff --git a/app/blogs/Content/dsaDifferent/content.jsx b/app/blogs/Content/dsaDifferent/content.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/Content/dsaDifferent/page.jsx b/app/blogs/Content/dsaDifferent/page.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/Content/dsaWebDev/content.jsx b/app/blogs/Content/dsaWebDev/content.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/Content/dsaWebDev/page.jsx b/app/blogs/Content/dsaWebDev/page.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/Content/timeRequired/content.jsx b/app/blogs/Content/timeRequired/content.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/Content/timeRequired/page.jsx b/app/blogs/Content/timeRequired/page.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/Content/whatIsDS/content.jsx b/app/blogs/Content/whatIsDS/content.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/Content/whatIsDS/page.jsx b/app/blogs/Content/whatIsDS/page.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/blogPage.jsx b/app/blogs/blogPage.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/components/PopularTopics.jsx b/app/blogs/components/PopularTopics.jsx old mode 100644 new mode 100755 diff --git a/app/blogs/data/blogs.json b/app/blogs/data/blogs.json old mode 100644 new mode 100755 diff --git a/app/blogs/page.jsx b/app/blogs/page.jsx old mode 100644 new mode 100755 diff --git a/app/components/AuthModal.jsx b/app/components/AuthModal.jsx old mode 100644 new mode 100755 diff --git a/app/components/PrivacyPolicyModal.jsx b/app/components/PrivacyPolicyModal.jsx old mode 100644 new mode 100755 diff --git a/app/components/SectionsDisplay.jsx b/app/components/SectionsDisplay.jsx old mode 100644 new mode 100755 diff --git a/app/components/about.jsx b/app/components/about.jsx old mode 100644 new mode 100755 index 93ce4f0..d941698 --- a/app/components/about.jsx +++ b/app/components/about.jsx @@ -1,73 +1,23 @@ import React from 'react'; -import { FiTarget, FiEye, FiUsers } from 'react-icons/fi'; +import { IoMdInformationCircle } from "react-icons/io"; const AboutSection = () => { - const features = [ - { - icon: , - title: "Clear Mission", - description: "Bridge theory and practice through visualization" - }, - { - icon: , - title: "Visual Learning", - description: "See algorithms come to life with animations" - }, - { - icon: , - title: "Community Focused", - description: "Built for students and developers" - } - ]; - return ( -
- {/* Floating background elements */} -
-
-
- {/* Subtle grid pattern */} -
-
-
- +
{/* Section Header */} -
- +
+ + About The Platform

Revolutionizing DSA Learning

-

- Transforming abstract concepts into tangible understanding through interactive visualization. -

-
- - {/* Feature Grid */} -
- {features.map((feature, index) => ( -
-
- {feature.icon} -
-

- {feature.title} -

-

- {feature.description} -

-
- ))}
{/* Mission Statement */} -
+
{/* Decorative element */}
@@ -85,22 +35,6 @@ const AboutSection = () => {
- - {/* CTA */} - - {/* Divider */}
diff --git a/app/components/faq.jsx b/app/components/faq.jsx old mode 100644 new mode 100755 index 4469d4f..ca3f0e8 --- a/app/components/faq.jsx +++ b/app/components/faq.jsx @@ -30,17 +30,7 @@ const FAQSection = () => { ]; return ( -
- {/* Floating background elements */} -
-
-
- {/* Subtle grid pattern */} -
-
-
- +
{/* Section Header */}
@@ -61,7 +51,7 @@ const FAQSection = () => { {faqs.map((faq, index) => (
{/* Additional Help */} -
+
diff --git a/app/components/feature.jsx b/app/components/feature.jsx old mode 100644 new mode 100755 index 9cdd7b0..4df22c7 --- a/app/components/feature.jsx +++ b/app/components/feature.jsx @@ -1,6 +1,7 @@ 'use client'; import React, { useState } from 'react'; import { FiCpu, FiBookOpen, FiAward } from 'react-icons/fi'; +import { HiSparkles } from "react-icons/hi2"; const FeaturesSection = () => { const features = [ @@ -45,7 +46,7 @@ const FeaturesSection = () => { const [currentSlide, setCurrentSlide] = useState(0); return ( -
+
{/* Background elements */}
@@ -55,7 +56,8 @@ const FeaturesSection = () => {
{/* Section Heading */}
- + + Features we offer

@@ -71,10 +73,10 @@ const FeaturesSection = () => { {features.map((feature, index) => (
{/* Hover effect background */} -
+
{/* Icon */} diff --git a/app/components/footer.jsx b/app/components/footer.jsx old mode 100644 new mode 100755 index d0ca089..f629b21 --- a/app/components/footer.jsx +++ b/app/components/footer.jsx @@ -1,18 +1,23 @@ "use client"; -import React from 'react'; -import Link from 'next/link'; -import { useState } from 'react'; +import React from "react"; +import Link from "next/link"; +import { useState } from "react"; import PrivacyPolicyModal from "@/app/components/PrivacyPolicyModal"; +import { GoHomeFill } from "react-icons/go"; +import { MdAnimation } from "react-icons/md"; +import { IoMdInformationCircle } from "react-icons/io"; +import { HiSparkles } from "react-icons/hi2"; +import { RiQuestionLine } from "react-icons/ri"; const Footer = () => { const [showPolicyModal, setShowPolicyModal] = useState(false); const quickLinks = [ - { href: "/", text: "Home" }, - { href: "/#features", text: "Features" }, - { href: "/visualizer", text: "Visualizer" }, - { href: "/#about", text: "About" }, - { href: "/#faq", text: "FAQs" } + { href: "/", text: "Home", icon: GoHomeFill }, + { href: "/#features", text: "Features", icon: HiSparkles }, + { href: "/visualizer", text: "Visualizer", icon: MdAnimation }, + { href: "/#about", text: "About", icon: IoMdInformationCircle }, + { href: "/#faq", text: "FAQs", icon: RiQuestionLine }, ]; const socialLinks = [ @@ -20,45 +25,53 @@ const Footer = () => { href: "https://twitter.com", icon: ( - + ), - label: "Twitter" + label: "Twitter", }, { href: "https://linkedin.com", icon: ( - + ), - label: "LinkedIn" + label: "LinkedIn", }, { href: "https://github.com", icon: ( - + ), - label: "GitHub" + label: "GitHub", }, { href: "https://instagram.com", icon: ( - + ), - label: "Instagram" - } + label: "Instagram", + }, ]; -const legalLinks = [ - { href: "/privacy", text: "Privacy Policy", type: "modal" }, - { href: "/terms", text: "Terms of Service", type: "link" }, - { href: "/cookies", text: "Cookies", type: "link" } -]; + const legalLinks = [ + { href: "/privacy", text: "Privacy Policy", type: "modal" }, + { href: "/terms", text: "Terms of Service", type: "link" }, + { href: "/cookies", text: "Cookies", type: "link" }, + ]; return (
@@ -67,18 +80,31 @@ const legalLinks = [ {/* Brand Column */}
- DSAVisualizer + + DSAVisualizer +

- Interactive visualization tools for mastering data structures and algorithms. + Interactive visualization tools for mastering data structures and + algorithms.

- - + + - Made with ♥ by Sohan Rout + Made with ♥ by{" "} + + Sohan Rout +
{/* @@ -89,19 +115,38 @@ const legalLinks = [ contact@dsavisualizer.com
*/} +
+ + DSA Visualizer - Visualize & learn dsa the smart way | Product Hunt + +
{/* Quick Links */}
-

Navigation

+

+ Navigation +

    {quickLinks.map((link, index) => (
  • - - - - + + {link.icon && } {link.text}
  • @@ -112,41 +157,45 @@ const legalLinks = [ {/* Legal + Social */}
    -

    Legal

    +

    + Legal +

      - {legalLinks.map((link, index) => ( -
    • - {link.type === "modal" ? ( - - ) : ( - - {link.text} - - )} -
    • - ))} -
    + {legalLinks.map((link, index) => ( +
  • + {link.type === "modal" ? ( + + ) : ( + + {link.text} + + )} +
  • + ))} +
{/* Render the modal */} - setShowPolicyModal(false)} - /> + setShowPolicyModal(false)} + />
-

Connect

+

+ Connect +

@@ -177,4 +237,4 @@ const legalLinks = [ ); }; -export default Footer; \ No newline at end of file +export default Footer; diff --git a/app/components/hero.jsx b/app/components/hero.jsx old mode 100644 new mode 100755 index 99c35b7..b5c7ec7 --- a/app/components/hero.jsx +++ b/app/components/hero.jsx @@ -2,23 +2,23 @@ import React from "react"; import { useRouter } from "next/navigation"; import Image from "next/image"; -import Link from 'next/link'; -import { event } from '@/lib/gtag'; +import Link from "next/link"; +import { event } from "@/lib/gtag"; +import Promotion from "@/app/components/ui/productHunt"; const HeroSection = () => { const router = useRouter(); - const handleStartVisualizing = () => { event({ - action: 'click_start_visualizing', - category: 'Hero', - label: 'Start Visualizing Button' + action: "click_start_visualizing", + category: "Hero", + label: "Start Visualizing Button", }); router.push("/visualizer"); }; - const name = [{ name: "Sohan" }, { name: "Johan" }, { name: "Lorem" }]; + const name = [{ name: "A" }, { name: "S" }, { name: "R" }]; const getInitials = (name) => { return name @@ -29,79 +29,34 @@ const HeroSection = () => { }; return ( -
- {/* Notification Bar */} -
-
- - - - - New: New Blogs added! - - - - -
-
- - {/* Abstract background elements */} -
-
-
-
- -
- {/* Text Content */} -
-

- - Master DSA +
+
+ {/* Notification Bar */} +
+
+ + + + + Updates: Stack Visualization Updated ! -
- Through Interactive Visualization -

-

- See algorithms come to life in your mind's eye before you code them. - The way developers actually think. -

-
- + +
+
+ + {/* Abstract background elements */} +
+
+
- {/* Trust indicators */} -
-
-
- {name.map((item, index) => ( -
+ {/* Text Content */} +
+

+ + Master DSA + +
+ Through Interactive Visualization +

+

+ See algorithms come to life in your mind's eye before you code + them. The way developers actually think. +

+
+
- ))} -
- 1,000+ Active Learners + + + + + +
-
- - - - 4.45/5 (200+ Reviews) + + {/* Trust indicators */} +
+
+
+ {name.map((item, index) => ( +
+ {getInitials(item.name)} +
+ ))} +
+ 1,000+ Active Learners +
+
+ + + + 4.45/5 (200+ Reviews) +
-
- {/* Person image with automatic background removal effect */} -
-
- Person thinking about algorithms + {/* Person image with automatic background removal effect */} +
+
+ Person thinking about algorithms - {/* Floating algorithm elements - adjusted for mobile */} -
-
- O(1) -
-
+ {/* Floating algorithm elements - adjusted for mobile */} +
+
+ O(1) +
+
-
-
- Hash - Map -
-
+
+
+ Hash + Map +
+
-
-
- Queue -
-
+
+
+ Queue +
+
- {/* Additional thought bubbles - adjusted for mobile */} -
-
- Stack -
-
+ {/* Additional thought bubbles - adjusted for mobile */} +
+
+ Stack +
+
-
-
- Tree -
-
-
-
+
+
+ Tree +
+
+
+
+
+
+ {/* Divider */} +
+
-

+ ); }; -export default HeroSection; \ No newline at end of file +export default HeroSection; diff --git a/app/components/models/ArrayModal.jsx b/app/components/models/ArrayModal.jsx old mode 100644 new mode 100755 diff --git a/app/components/models/GraphModal.jsx b/app/components/models/GraphModal.jsx old mode 100644 new mode 100755 diff --git a/app/components/models/LinkedListModal.jsx b/app/components/models/LinkedListModal.jsx old mode 100644 new mode 100755 diff --git a/app/components/models/QueueModal.jsx b/app/components/models/QueueModal.jsx old mode 100644 new mode 100755 diff --git a/app/components/models/StackModel.jsx b/app/components/models/StackModel.jsx old mode 100644 new mode 100755 diff --git a/app/components/models/TreeModal.jsx b/app/components/models/TreeModal.jsx old mode 100644 new mode 100755 diff --git a/app/components/navbar.jsx b/app/components/navbar.jsx old mode 100644 new mode 100755 diff --git a/app/components/navbarinner.jsx b/app/components/navbarinner.jsx old mode 100644 new mode 100755 diff --git a/app/components/review.jsx b/app/components/review.jsx old mode 100644 new mode 100755 index 2c0907e..5e4c5e1 --- a/app/components/review.jsx +++ b/app/components/review.jsx @@ -60,13 +60,7 @@ const TestimonialsSection = () => { }; return ( -
- {/* Decorative elements */} -
-
-
-
- +
{ className="max-w-3xl mx-auto text-center mb-12" >

- Share Your Experience + Share Your Experience

We value your feedback to help us improve our services @@ -88,7 +82,7 @@ const TestimonialsSection = () => { whileInView={{ opacity: 1, y: 0 }} transition={{ duration: 0.5, delay: 0.1 }} viewport={{ once: true }} - className="bg-white dark:bg-gray-800 rounded-2xl shadow-xl p-6 sm:p-8 max-w-2xl mx-auto border border-gray-100 dark:border-gray-700/50 backdrop-blur-sm" + className="bg-white dark:bg-neutral-950 rounded-2xl shadow-xl p-6 sm:p-8 max-w-2xl mx-auto border border-gray-100 dark:border-gray-700/50 backdrop-blur-sm" > {submitSuccess ? ( @@ -134,7 +128,7 @@ const TestimonialsSection = () => { placeholder="John Doe" value={formData.name} onChange={handleChange} - className="w-full px-4 py-3 border border-gray-200 dark:border-gray-700 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700/50 transition-all" + className="w-full text-black dark:text-white px-4 py-3 border border-gray-200 dark:border-gray-700 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-neutral-950 transition-all" required />

@@ -149,7 +143,7 @@ const TestimonialsSection = () => { placeholder="john@example.com" value={formData.email} onChange={handleChange} - className="w-full px-4 py-3 border border-gray-200 dark:border-gray-700 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700/50 transition-all" + className="w-full text-black dark:text-white px-4 py-3 border border-gray-200 dark:border-gray-700 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-neutral-950 transition-all" required />
@@ -186,7 +180,7 @@ const TestimonialsSection = () => { rows={5} value={formData.review} onChange={handleChange} - className="w-full px-4 py-3 border border-gray-200 dark:border-gray-700 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700/50 transition-all" + className="w-full dark:text-white text-black px-4 py-3 border border-gray-200 dark:border-gray-700 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-neutral-950 transition-all" required />
@@ -207,7 +201,7 @@ const TestimonialsSection = () => { whileTap={{ scale: 0.97 }} type="submit" disabled={isSubmitting} - className="px-6 py-3 bg-gradient-to-r from-blue-500 to-blue-400 text-white font-medium rounded-xl transition-all shadow-md hover:shadow-lg flex items-center" + className="px-6 py-3 bg-gradient-to-r from-blue-500 to-blue-600 text-white font-medium rounded-xl transition-all shadow-md hover:shadow-lg flex items-center" > {isSubmitting ? ( <> diff --git a/app/components/support.jsx b/app/components/support.jsx old mode 100644 new mode 100755 diff --git a/app/components/testimonial.jsx b/app/components/testimonial.jsx old mode 100644 new mode 100755 index 6520616..b413625 --- a/app/components/testimonial.jsx +++ b/app/components/testimonial.jsx @@ -1,6 +1,9 @@ "use client"; -import React, { useState } from 'react'; +import React, { useState, useEffect, useRef } from 'react'; +import { IoChatboxEllipses } from "react-icons/io5"; import { FaStar, FaRegStar, FaStarHalfAlt, FaChevronDown, FaChevronUp } from 'react-icons/fa'; +import { gsap } from 'gsap'; +import { motion } from 'framer-motion'; const TestimonialSection = () => { const testimonials = [ @@ -54,18 +57,13 @@ const TestimonialSection = () => { }, ]; - const [visibleCount, setVisibleCount] = useState(3); - const [activeFilter, setActiveFilter] = useState('all'); const [expandedReviews, setExpandedReviews] = useState({}); + const containerRef = useRef(null); + const innerRef = useRef(null); + const animationRef = useRef(null); - const loadMore = () => setVisibleCount(prev => Math.min(prev + 3, testimonials.length)); - const showLess = () => setVisibleCount(3); const toggleReview = (index) => setExpandedReviews(prev => ({ ...prev, [index]: !prev[index] })); - const filteredTestimonials = activeFilter === 'all' - ? testimonials - : testimonials.filter(t => t.stars >= parseInt(activeFilter)); - const getInitials = (name) => { return name.split(' ').map(part => part[0]).join('').toUpperCase(); }; @@ -88,11 +86,32 @@ const TestimonialSection = () => { return
{stars}
; }; + useEffect(() => { + if (innerRef.current) { + animationRef.current = gsap.to(innerRef.current, { x: -innerRef.current.scrollWidth / 2, repeat: -1, duration: 100, ease: "linear" }); + } + }, []); + + const handleMouseEnter = () => { + if (animationRef.current) { + animationRef.current.pause(); + } + }; + + const handleMouseLeave = () => { + if (animationRef.current) { + animationRef.current.resume(); + } + }; + return ( -
+
{/* Section Heading */}
+ + Reviews +

What Our Users Say

@@ -101,114 +120,83 @@ const TestimonialSection = () => {

- {/* Filter Buttons */} -
- - - -
- {/* Testimonials Grid */} -
- {filteredTestimonials.slice(0, visibleCount).map((testimonial, index) => ( -
+
+ - {/* Gradient background on hover */} -
- -
- {/* Avatar and Info */} -
-
- {getInitials(testimonial.name)} -
-
-

{testimonial.name}

-

- {testimonial.email} -

-
-
- - {/* Star Rating */} -
- -
- - {/* Review Text */} -
-

- {testimonial.review} -

- {testimonial.review.length > 150 && ( - )} - - )} -
- - {/* Footer */} -
- Verified User • {testimonial.stars.toFixed(1)} Rating +
+ + {/* Footer */} +
+ Verified User • {testimonial.stars.toFixed(1)} Rating +
+
-
-
- ))} -
- - {/* Load More Button */} -
- {visibleCount < filteredTestimonials.length ? ( - - ) : visibleCount > 3 && ( - - )} + ))} + +
+
+
{/* Divider */} -
+
); diff --git a/app/components/ui/ArticleActions.jsx b/app/components/ui/ArticleActions.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/Breadcrumbs.jsx b/app/components/ui/Breadcrumbs.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/ClientLayoutWrapper.jsx b/app/components/ui/ClientLayoutWrapper.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/ModuleCard.jsx b/app/components/ui/ModuleCard.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/PushPop.jsx b/app/components/ui/PushPop.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/SearchBar.jsx b/app/components/ui/SearchBar.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/TutorialOverlay.jsx b/app/components/ui/TutorialOverlay.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/backtotop.jsx b/app/components/ui/backtotop.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/customArrayInput.jsx b/app/components/ui/customArrayInput.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/exploreOther.jsx b/app/components/ui/exploreOther.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/goButton.jsx b/app/components/ui/goButton.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/goback.jsx b/app/components/ui/goback.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/graph.jsx b/app/components/ui/graph.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/navigationLink.jsx b/app/components/ui/navigationLink.jsx old mode 100644 new mode 100755 diff --git a/app/components/ui/productHunt.jsx b/app/components/ui/productHunt.jsx old mode 100644 new mode 100755 index 57128d3..89f400a --- a/app/components/ui/productHunt.jsx +++ b/app/components/ui/productHunt.jsx @@ -1,49 +1,16 @@ "use client"; -import React, { useEffect, useState } from "react"; +import React from "react"; const ProductHuntBadge = () => { - const [showBadge, setShowBadge] = useState(true); - const [isDark, setIsDark] = useState(null); - - useEffect(() => { - const footer = document.querySelector("footer"); - if (!footer) return; - - const observer = new IntersectionObserver( - ([entry]) => { - setShowBadge(!entry.isIntersecting); - }, - { threshold: 0.1 } - ); - - observer.observe(footer); - - const darkQuery = window.matchMedia("(prefers-color-scheme: dark)"); - setIsDark(darkQuery.matches); - - const handleChange = (e) => setIsDark(e.matches); - darkQuery.addEventListener("change", handleChange); - - return () => { - if (footer) observer.unobserve(footer); - observer.disconnect(); - darkQuery.removeEventListener("change", handleChange); - }; - }, []); - - if (!showBadge || isDark === null) return null; - - const badgeTheme = isDark ? "light" : "dark"; - return ( DSA Visualizer - Visualize & learn dsa the smart way | Product Hunt -
diff --git a/app/visualizer/VisualizerClient.jsx b/app/visualizer/VisualizerClient.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/comparison/animation.jsx b/app/visualizer/linkedList/operations/comparison/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/comparison/codeBlock.jsx b/app/visualizer/linkedList/operations/comparison/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/comparison/content.jsx b/app/visualizer/linkedList/operations/comparison/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/comparison/data/codeExamples.json b/app/visualizer/linkedList/operations/comparison/data/codeExamples.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/comparison/data/questions.json b/app/visualizer/linkedList/operations/comparison/data/questions.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/comparison/page.jsx b/app/visualizer/linkedList/operations/comparison/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/comparison/quiz.jsx b/app/visualizer/linkedList/operations/comparison/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/deletion/animation.jsx b/app/visualizer/linkedList/operations/deletion/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/deletion/codeBlock.jsx b/app/visualizer/linkedList/operations/deletion/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/deletion/content.jsx b/app/visualizer/linkedList/operations/deletion/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/deletion/data/codeExamples.json b/app/visualizer/linkedList/operations/deletion/data/codeExamples.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/deletion/data/questions.json b/app/visualizer/linkedList/operations/deletion/data/questions.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/deletion/page.jsx b/app/visualizer/linkedList/operations/deletion/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/deletion/quiz.jsx b/app/visualizer/linkedList/operations/deletion/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/insertion/animation.jsx b/app/visualizer/linkedList/operations/insertion/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/insertion/codeBlock.jsx b/app/visualizer/linkedList/operations/insertion/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/insertion/content.jsx b/app/visualizer/linkedList/operations/insertion/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/insertion/data/codeExamples.json b/app/visualizer/linkedList/operations/insertion/data/codeExamples.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/insertion/data/questions.json b/app/visualizer/linkedList/operations/insertion/data/questions.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/insertion/page.jsx b/app/visualizer/linkedList/operations/insertion/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/insertion/quiz.jsx b/app/visualizer/linkedList/operations/insertion/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/merge/._codeBlock.jsx b/app/visualizer/linkedList/operations/merge/._codeBlock.jsx new file mode 100755 index 0000000..c6b0cdc Binary files /dev/null and b/app/visualizer/linkedList/operations/merge/._codeBlock.jsx differ diff --git a/app/visualizer/linkedList/operations/merge/animation.jsx b/app/visualizer/linkedList/operations/merge/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/merge/codeBlock.jsx b/app/visualizer/linkedList/operations/merge/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/merge/content.jsx b/app/visualizer/linkedList/operations/merge/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/merge/data/codeExamples.json b/app/visualizer/linkedList/operations/merge/data/codeExamples.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/merge/data/questions.json b/app/visualizer/linkedList/operations/merge/data/questions.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/merge/page.jsx b/app/visualizer/linkedList/operations/merge/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/merge/quiz.jsx b/app/visualizer/linkedList/operations/merge/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/reverse/animation.jsx b/app/visualizer/linkedList/operations/reverse/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/reverse/codeBlock.jsx b/app/visualizer/linkedList/operations/reverse/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/reverse/content.jsx b/app/visualizer/linkedList/operations/reverse/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/reverse/data/codeExamples.json b/app/visualizer/linkedList/operations/reverse/data/codeExamples.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/reverse/data/questions.json b/app/visualizer/linkedList/operations/reverse/data/questions.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/reverse/page.jsx b/app/visualizer/linkedList/operations/reverse/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/reverse/quiz.jsx b/app/visualizer/linkedList/operations/reverse/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/traversal/animation.jsx b/app/visualizer/linkedList/operations/traversal/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/traversal/codeBlock.jsx b/app/visualizer/linkedList/operations/traversal/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/traversal/content.jsx b/app/visualizer/linkedList/operations/traversal/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/traversal/data/codeExamples.json b/app/visualizer/linkedList/operations/traversal/data/codeExamples.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/traversal/data/questions.json b/app/visualizer/linkedList/operations/traversal/data/questions.json old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/traversal/page.jsx b/app/visualizer/linkedList/operations/traversal/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/operations/traversal/quiz.jsx b/app/visualizer/linkedList/operations/traversal/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/circular/animation.jsx b/app/visualizer/linkedList/types/circular/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/circular/codeBlock.jsx b/app/visualizer/linkedList/types/circular/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/circular/content.jsx b/app/visualizer/linkedList/types/circular/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/circular/page.jsx b/app/visualizer/linkedList/types/circular/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/circular/quiz.jsx b/app/visualizer/linkedList/types/circular/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/doubly/animation.jsx b/app/visualizer/linkedList/types/doubly/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/doubly/codeBlock.jsx b/app/visualizer/linkedList/types/doubly/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/doubly/content.jsx b/app/visualizer/linkedList/types/doubly/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/doubly/page.jsx b/app/visualizer/linkedList/types/doubly/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/doubly/quiz.jsx b/app/visualizer/linkedList/types/doubly/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/singly/animation.jsx b/app/visualizer/linkedList/types/singly/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/singly/codeBlock.jsx b/app/visualizer/linkedList/types/singly/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/singly/content.jsx b/app/visualizer/linkedList/types/singly/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/singly/page.jsx b/app/visualizer/linkedList/types/singly/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/linkedList/types/singly/quiz.jsx b/app/visualizer/linkedList/types/singly/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/page.jsx b/app/visualizer/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/array/animation.jsx b/app/visualizer/queue/implementation/array/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/array/codeblock.jsx b/app/visualizer/queue/implementation/array/codeblock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/array/content.jsx b/app/visualizer/queue/implementation/array/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/array/page.jsx b/app/visualizer/queue/implementation/array/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/linkedList/animation.jsx b/app/visualizer/queue/implementation/linkedList/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/linkedList/codeBlock.jsx b/app/visualizer/queue/implementation/linkedList/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/linkedList/content.jsx b/app/visualizer/queue/implementation/linkedList/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/implementation/linkedList/page.jsx b/app/visualizer/queue/implementation/linkedList/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/enqueue-dequeue/animation.jsx b/app/visualizer/queue/operations/enqueue-dequeue/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/enqueue-dequeue/codeBlock.jsx b/app/visualizer/queue/operations/enqueue-dequeue/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/enqueue-dequeue/content.jsx b/app/visualizer/queue/operations/enqueue-dequeue/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/enqueue-dequeue/page.jsx b/app/visualizer/queue/operations/enqueue-dequeue/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/enqueue-dequeue/quiz.jsx b/app/visualizer/queue/operations/enqueue-dequeue/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isempty/animation.jsx b/app/visualizer/queue/operations/isempty/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isempty/codeBlock.jsx b/app/visualizer/queue/operations/isempty/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isempty/content.jsx b/app/visualizer/queue/operations/isempty/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isempty/page.jsx b/app/visualizer/queue/operations/isempty/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isempty/quiz.jsx b/app/visualizer/queue/operations/isempty/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isfull/animation.jsx b/app/visualizer/queue/operations/isfull/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isfull/codeBlock.jsx b/app/visualizer/queue/operations/isfull/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isfull/content.jsx b/app/visualizer/queue/operations/isfull/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isfull/page.jsx b/app/visualizer/queue/operations/isfull/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/isfull/quiz.jsx b/app/visualizer/queue/operations/isfull/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/peek-front/animation.jsx b/app/visualizer/queue/operations/peek-front/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/peek-front/codeBlock.jsx b/app/visualizer/queue/operations/peek-front/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/peek-front/content.jsx b/app/visualizer/queue/operations/peek-front/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/peek-front/page.jsx b/app/visualizer/queue/operations/peek-front/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/operations/peek-front/quiz.jsx b/app/visualizer/queue/operations/peek-front/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/circular/animation.jsx b/app/visualizer/queue/types/circular/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/circular/codeBlock.jsx b/app/visualizer/queue/types/circular/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/circular/content.jsx b/app/visualizer/queue/types/circular/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/circular/page.jsx b/app/visualizer/queue/types/circular/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/circular/quiz.jsx b/app/visualizer/queue/types/circular/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/deque/animation.jsx b/app/visualizer/queue/types/deque/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/deque/codeBlock.jsx b/app/visualizer/queue/types/deque/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/deque/content.jsx b/app/visualizer/queue/types/deque/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/deque/page.jsx b/app/visualizer/queue/types/deque/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/deque/quiz.jsx b/app/visualizer/queue/types/deque/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/multiple/animation.jsx b/app/visualizer/queue/types/multiple/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/multiple/codeBlock.jsx b/app/visualizer/queue/types/multiple/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/multiple/content.jsx b/app/visualizer/queue/types/multiple/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/multiple/page.jsx b/app/visualizer/queue/types/multiple/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/multiple/quiz.jsx b/app/visualizer/queue/types/multiple/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/priority/animation.jsx b/app/visualizer/queue/types/priority/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/priority/codeBlock.jsx b/app/visualizer/queue/types/priority/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/priority/content.jsx b/app/visualizer/queue/types/priority/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/priority/page.jsx b/app/visualizer/queue/types/priority/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/priority/quiz.jsx b/app/visualizer/queue/types/priority/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/singleEnded/animation.jsx b/app/visualizer/queue/types/singleEnded/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/singleEnded/codeBlock.jsx b/app/visualizer/queue/types/singleEnded/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/singleEnded/content.jsx b/app/visualizer/queue/types/singleEnded/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/singleEnded/page.jsx b/app/visualizer/queue/types/singleEnded/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/queue/types/singleEnded/quiz.jsx b/app/visualizer/queue/types/singleEnded/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/binarysearch/animation.jsx b/app/visualizer/searching/binarysearch/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/binarysearch/codeBlock.jsx b/app/visualizer/searching/binarysearch/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/binarysearch/content.jsx b/app/visualizer/searching/binarysearch/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/binarysearch/page.jsx b/app/visualizer/searching/binarysearch/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/binarysearch/quiz.jsx b/app/visualizer/searching/binarysearch/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/linearsearch/animation.jsx b/app/visualizer/searching/linearsearch/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/linearsearch/codeBlock.jsx b/app/visualizer/searching/linearsearch/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/linearsearch/content.jsx b/app/visualizer/searching/linearsearch/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/linearsearch/page.jsx b/app/visualizer/searching/linearsearch/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/searching/linearsearch/quiz.jsx b/app/visualizer/searching/linearsearch/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/bubblesort/animation.jsx b/app/visualizer/sorting/bubblesort/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/bubblesort/codeBlock.jsx b/app/visualizer/sorting/bubblesort/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/bubblesort/content.jsx b/app/visualizer/sorting/bubblesort/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/bubblesort/page.jsx b/app/visualizer/sorting/bubblesort/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/bubblesort/quiz.jsx b/app/visualizer/sorting/bubblesort/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/insertionsort/animation.jsx b/app/visualizer/sorting/insertionsort/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/insertionsort/codeBlock.jsx b/app/visualizer/sorting/insertionsort/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/insertionsort/content.jsx b/app/visualizer/sorting/insertionsort/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/insertionsort/page.jsx b/app/visualizer/sorting/insertionsort/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/insertionsort/quiz.jsx b/app/visualizer/sorting/insertionsort/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/mergesort/animation.jsx b/app/visualizer/sorting/mergesort/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/mergesort/codeBlock.jsx b/app/visualizer/sorting/mergesort/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/mergesort/content.jsx b/app/visualizer/sorting/mergesort/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/mergesort/page.jsx b/app/visualizer/sorting/mergesort/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/mergesort/quiz.jsx b/app/visualizer/sorting/mergesort/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/quicksort/animation.jsx b/app/visualizer/sorting/quicksort/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/quicksort/codeBlock.jsx b/app/visualizer/sorting/quicksort/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/quicksort/content.jsx b/app/visualizer/sorting/quicksort/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/quicksort/page.jsx b/app/visualizer/sorting/quicksort/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/quicksort/quiz.jsx b/app/visualizer/sorting/quicksort/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/selectionsort/animation.jsx b/app/visualizer/sorting/selectionsort/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/selectionsort/codeBlock.jsx b/app/visualizer/sorting/selectionsort/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/selectionsort/content.jsx b/app/visualizer/sorting/selectionsort/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/selectionsort/page.jsx b/app/visualizer/sorting/selectionsort/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/sorting/selectionsort/quiz.jsx b/app/visualizer/sorting/selectionsort/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingArray/animation.jsx b/app/visualizer/stack/implementation/usingArray/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingArray/codeBlock.jsx b/app/visualizer/stack/implementation/usingArray/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingArray/content.jsx b/app/visualizer/stack/implementation/usingArray/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingArray/page.jsx b/app/visualizer/stack/implementation/usingArray/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingLinkedList/animation.jsx b/app/visualizer/stack/implementation/usingLinkedList/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingLinkedList/codeBlock.jsx b/app/visualizer/stack/implementation/usingLinkedList/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingLinkedList/content.jsx b/app/visualizer/stack/implementation/usingLinkedList/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/implementation/usingLinkedList/page.jsx b/app/visualizer/stack/implementation/usingLinkedList/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isempty/animation.jsx b/app/visualizer/stack/isempty/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isempty/codeBlock.jsx b/app/visualizer/stack/isempty/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isempty/content.jsx b/app/visualizer/stack/isempty/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isempty/page.jsx b/app/visualizer/stack/isempty/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isempty/quiz.jsx b/app/visualizer/stack/isempty/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isfull/animation.jsx b/app/visualizer/stack/isfull/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isfull/codeBlock.jsx b/app/visualizer/stack/isfull/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isfull/content.jsx b/app/visualizer/stack/isfull/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isfull/page.jsx b/app/visualizer/stack/isfull/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/isfull/quiz.jsx b/app/visualizer/stack/isfull/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/peek/animation.jsx b/app/visualizer/stack/peek/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/peek/codeBlock.jsx b/app/visualizer/stack/peek/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/peek/content.jsx b/app/visualizer/stack/peek/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/peek/page.jsx b/app/visualizer/stack/peek/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/peek/quiz.jsx b/app/visualizer/stack/peek/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/postfix/animation.jsx b/app/visualizer/stack/polish/postfix/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/postfix/codeBlock.jsx b/app/visualizer/stack/polish/postfix/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/postfix/content.jsx b/app/visualizer/stack/polish/postfix/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/postfix/page.jsx b/app/visualizer/stack/polish/postfix/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/postfix/quiz.jsx b/app/visualizer/stack/polish/postfix/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/prefix/animation.jsx b/app/visualizer/stack/polish/prefix/animation.jsx old mode 100644 new mode 100755 index f78199a..5c9c153 --- a/app/visualizer/stack/polish/prefix/animation.jsx +++ b/app/visualizer/stack/polish/prefix/animation.jsx @@ -1,11 +1,8 @@ 'use client'; import React, { useState, useEffect } from 'react'; - import Footer from '@/app/components/footer'; import ExploreOther from '@/app/components/ui/exploreOther'; -import Content from '@/app/visualizer/stack/polish/prefix/content'; import CodeBlock from '@/app/visualizer/stack/polish/prefix/codeBlock'; -import GoBackButton from "@/app/components/ui/goback"; import Quiz from '@/app/visualizer/stack/polish/postfix/quiz'; import BackToTop from '@/app/components/ui/backtotop'; @@ -241,22 +238,6 @@ const InfixToPrefixVisualizer = () => { return (
- - { /* go back block here */} -
- -
- - { /* main logic here */} -

- Infix to Prefix -

-
- -

- Visualize the conversion from infix to prefix notation -

-
{/* Input and Controls */}
diff --git a/app/visualizer/stack/polish/prefix/codeBlock.jsx b/app/visualizer/stack/polish/prefix/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/prefix/content.jsx b/app/visualizer/stack/polish/prefix/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/polish/prefix/page.jsx b/app/visualizer/stack/polish/prefix/page.jsx old mode 100644 new mode 100755 index de4a2fb..67d85d2 --- a/app/visualizer/stack/polish/prefix/page.jsx +++ b/app/visualizer/stack/polish/prefix/page.jsx @@ -1,32 +1,80 @@ import Animation from "@/app/visualizer/stack/polish/prefix/animation"; import Navbar from "@/app/components/navbarinner"; +import Breadcrumbs from "@/app/components/ui/Breadcrumbs"; +import ArticleActions from "@/app/components/ui/ArticleActions"; +import Content from '@/app/visualizer/stack/polish/prefix/content'; export const metadata = { - title: 'Prefix Notation using Stack | Learn Prefix Evaluation in DSA with Code in JS, C, Python, Java', - description: 'Understand how to evaluate Prefix expressions using a Stack with interactive animations and code examples in JavaScript, C, Python, and Java. Essential for mastering DSA concepts and preparing for interviews.', - keywords: [ - 'Prefix Notation', - 'Prefix Evaluation Stack', - 'Stack DSA', - 'Prefix Expression', - 'DSA Prefix', - 'Evaluate Prefix using Stack', - 'Learn Prefix Notation', - 'Prefix Evaluation in JavaScript', - 'Prefix Evaluation in C', - 'Prefix Evaluation in Python', - 'Prefix Evaluation in Java', - 'Stack Code Examples', - 'DSA Expression Evaluation', + title: + "Prefix Notation using Stack | Learn Prefix Evaluation in DSA with Code in JS, C, Python, Java", + description: + "Understand how to evaluate Prefix expressions using a Stack with interactive animations and code examples in JavaScript, C, Python, and Java. Essential for mastering DSA concepts and preparing for interviews.", + keywords: [ + "Prefix Notation", + "Prefix Evaluation Stack", + "Stack DSA", + "Prefix Expression", + "DSA Prefix", + "Evaluate Prefix using Stack", + "Learn Prefix Notation", + "Prefix Evaluation in JavaScript", + "Prefix Evaluation in C", + "Prefix Evaluation in Python", + "Prefix Evaluation in Java", + "Stack Code Examples", + "DSA Expression Evaluation", + ], + robots: "index, follow", + openGraph: { + images: [ + { + url: "/og/stack/prefix.png", + width: 1200, + height: 630, + alt: "Stack infix to postfix", + }, ], - robots: "index, follow", - }; + }, +}; export default function Page() { - return( - <> - - - - ); -}; \ No newline at end of file + const paths = [ + { name: "Home", href: "/" }, + { name: "Visualizer", href: "/visualizer" }, + { name: "Stack : Infix to prefix", href: "" }, + ]; + + return ( + <> +
+ +
+ +
+
+
+ +
+ +
+
+

+ Stack +

+
+

+ Infix to Prefix +

+ +
+
+ +
+ +
+ +
+
+ + ); +} diff --git a/app/visualizer/stack/polish/prefix/quiz.jsx b/app/visualizer/stack/polish/prefix/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/push-pop/animation.jsx b/app/visualizer/stack/push-pop/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/push-pop/codeBlock.jsx b/app/visualizer/stack/push-pop/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/push-pop/content.jsx b/app/visualizer/stack/push-pop/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/push-pop/page.jsx b/app/visualizer/stack/push-pop/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/stack/push-pop/quiz.jsx b/app/visualizer/stack/push-pop/quiz.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/trees/binaryTree/types/animation.jsx b/app/visualizer/trees/binaryTree/types/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/trees/binaryTree/types/codeBlock.jsx b/app/visualizer/trees/binaryTree/types/codeBlock.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/trees/binaryTree/types/content.jsx b/app/visualizer/trees/binaryTree/types/content.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/trees/binaryTree/types/page.jsx b/app/visualizer/trees/binaryTree/types/page.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/trees/traversing/in-order/animation.jsx b/app/visualizer/trees/traversing/in-order/animation.jsx old mode 100644 new mode 100755 diff --git a/app/visualizer/trees/traversing/in-order/page.jsx b/app/visualizer/trees/traversing/in-order/page.jsx old mode 100644 new mode 100755 diff --git a/eslint.config.mjs b/eslint.config.mjs old mode 100644 new mode 100755 diff --git a/jsconfig.json b/jsconfig.json old mode 100644 new mode 100755 diff --git a/lib/gtag.js b/lib/gtag.js old mode 100644 new mode 100755 diff --git a/lib/modulesMap.js b/lib/modulesMap.js old mode 100644 new mode 100755 diff --git a/lib/supabase.js b/lib/supabase.js old mode 100644 new mode 100755 diff --git a/next-sitemap.config.js b/next-sitemap.config.js old mode 100644 new mode 100755 diff --git a/next.config.mjs b/next.config.mjs old mode 100644 new mode 100755 diff --git a/package-lock.json b/package-lock.json old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/postcss.config.js b/postcss.config.js old mode 100644 new mode 100755 diff --git a/postcss.config.mjs b/postcss.config.mjs old mode 100644 new mode 100755 diff --git a/public/DSA.png b/public/DSA.png old mode 100644 new mode 100755 diff --git a/public/DSAVisualizer.png b/public/DSAVisualizer.png old mode 100644 new mode 100755 diff --git a/public/GurlThinking.png b/public/GurlThinking.png old mode 100644 new mode 100755 diff --git a/public/blog/DSimage/array.png b/public/blog/DSimage/array.png old mode 100644 new mode 100755 diff --git a/public/blog/DSimage/graph.png b/public/blog/DSimage/graph.png old mode 100644 new mode 100755 diff --git a/public/blog/DSimage/linkedList.png b/public/blog/DSimage/linkedList.png old mode 100644 new mode 100755 diff --git a/public/blog/DSimage/queue.png b/public/blog/DSimage/queue.png old mode 100644 new mode 100755 diff --git a/public/blog/DSimage/stack.png b/public/blog/DSimage/stack.png old mode 100644 new mode 100755 diff --git a/public/blog/DSimage/tree.png b/public/blog/DSimage/tree.png old mode 100644 new mode 100755 diff --git a/public/blog/dsaDifferent.png b/public/blog/dsaDifferent.png old mode 100644 new mode 100755 diff --git a/public/blog/dsaWebDev.png b/public/blog/dsaWebDev.png old mode 100644 new mode 100755 diff --git a/public/blog/timeRequired.png b/public/blog/timeRequired.png old mode 100644 new mode 100755 diff --git a/public/blog/whatIsDS.png b/public/blog/whatIsDS.png old mode 100644 new mode 100755 diff --git a/public/favicon.ico b/public/favicon.ico old mode 100644 new mode 100755 diff --git a/public/google.webp b/public/google.webp old mode 100644 new mode 100755 diff --git a/public/google647afbccc581b5c2.html b/public/google647afbccc581b5c2.html old mode 100644 new mode 100755 diff --git a/public/logo.jpeg b/public/logo.jpeg old mode 100644 new mode 100755 diff --git a/public/modules/binarySearch.png b/public/modules/binarySearch.png old mode 100644 new mode 100755 diff --git a/public/modules/bubbleSort.png b/public/modules/bubbleSort.png old mode 100644 new mode 100755 diff --git a/public/modules/insertionSort.png b/public/modules/insertionSort.png old mode 100644 new mode 100755 diff --git a/public/modules/isEmpty.png b/public/modules/isEmpty.png old mode 100644 new mode 100755 diff --git a/public/modules/isFull.png b/public/modules/isFull.png old mode 100644 new mode 100755 diff --git a/public/modules/linearSearch.png b/public/modules/linearSearch.png old mode 100644 new mode 100755 diff --git a/public/modules/mergeSort.png b/public/modules/mergeSort.png old mode 100644 new mode 100755 diff --git a/public/modules/peek.png b/public/modules/peek.png old mode 100644 new mode 100755 diff --git a/public/modules/postfix.png b/public/modules/postfix.png new file mode 100755 index 0000000..9102ecf Binary files /dev/null and b/public/modules/postfix.png differ diff --git a/public/modules/pushPop.png b/public/modules/pushPop.png old mode 100644 new mode 100755 diff --git a/public/modules/quickSort.png b/public/modules/quickSort.png old mode 100644 new mode 100755 diff --git a/public/modules/selectionSort.png b/public/modules/selectionSort.png old mode 100644 new mode 100755 diff --git a/public/og.png b/public/og.png old mode 100644 new mode 100755 diff --git a/public/og/searching/binarySearch.png b/public/og/searching/binarySearch.png old mode 100644 new mode 100755 diff --git a/public/og/searching/linearSearch.png b/public/og/searching/linearSearch.png old mode 100644 new mode 100755 diff --git a/public/og/sorting/bubbleSort.png b/public/og/sorting/bubbleSort.png old mode 100644 new mode 100755 diff --git a/public/og/sorting/insertionSort.png b/public/og/sorting/insertionSort.png old mode 100644 new mode 100755 diff --git a/public/og/sorting/mergeSort.png b/public/og/sorting/mergeSort.png old mode 100644 new mode 100755 diff --git a/public/og/sorting/quickSort.png b/public/og/sorting/quickSort.png old mode 100644 new mode 100755 diff --git a/public/og/sorting/selectionSort.png b/public/og/sorting/selectionSort.png old mode 100644 new mode 100755 diff --git a/public/og/stack/isEmpty.png b/public/og/stack/isEmpty.png old mode 100644 new mode 100755 diff --git a/public/og/stack/isFull.png b/public/og/stack/isFull.png old mode 100644 new mode 100755 diff --git a/public/og/stack/peek.png b/public/og/stack/peek.png old mode 100644 new mode 100755 diff --git a/public/og/stack/postfix.png b/public/og/stack/postfix.png new file mode 100755 index 0000000..9102ecf Binary files /dev/null and b/public/og/stack/postfix.png differ diff --git a/public/og/stack/pushPop.png b/public/og/stack/pushPop.png old mode 100644 new mode 100755 diff --git a/public/og/visualizer.png b/public/og/visualizer.png old mode 100644 new mode 100755 diff --git a/public/robots.txt b/public/robots.txt old mode 100644 new mode 100755 diff --git a/public/sitemap-0.xml b/public/sitemap-0.xml old mode 100644 new mode 100755 diff --git a/public/sitemap.xml b/public/sitemap.xml old mode 100644 new mode 100755 diff --git a/public/tutorials/tutorial1.mp4 b/public/tutorials/tutorial1.mp4 old mode 100644 new mode 100755 diff --git a/public/tutorials/tutorial2.mp4 b/public/tutorials/tutorial2.mp4 old mode 100644 new mode 100755 diff --git a/tailwind.config.js b/tailwind.config.js old mode 100644 new mode 100755 diff --git a/utils/auth.js b/utils/auth.js old mode 100644 new mode 100755