diff --git a/src/App.tsx b/src/App.tsx index c62d73c..0e1409c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,9 +1,4 @@ - upd-feature-branch import React, { useState, useEffect } from 'react'; -import PricingDetailPage from './components/PricingDetailPage'; - -import React from 'react'; - import { BrowserRouter as Router, Route, @@ -11,20 +6,19 @@ import { useLocation, } from 'react-router-dom'; - main -import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; -import ScrollProgressBar from './components/ScrollProgress'; // Import your ScrollProgressBar component -import PricingDetailPage from './components/PricingDetailPage'; +import ScrollProgressBar from './components/ScrollProgress'; +import Header from './components/Header'; +import Footer from './components/Footer'; import GlassyUILandingPage from './components/GlassyUILandingPage'; import GlassyUIComponentsPage from './components/GlassyUIComponentsPage'; +import PricingDetailPage from './components/PricingDetailPage'; import ButtonDetailsPage from './components/ButtonDetailsPage'; import CardDetailsPage from './components/CardDetailsPage'; import ProgressBarDetailPage from './components/ProgressBarDetailPage'; import PopupDetailPage from './components/PopupDetailPage'; import InputDetailPage from './components/InputDetailPage'; import TextareaDetailPage from './components/TextareaDetailPage'; -import NotFoundPage from './components/NotFoundPage'; import TooltipDetailsPage from './components/TooltipDetailsPage'; import SpeedDialDetailsPage from './components/SpeedDialDetailsPage'; import ModalDetailsPage from './components/ModalDetailsPage'; @@ -34,7 +28,6 @@ import SliderDetailsPage from './components/SliderDetailsPage'; import ContributorsPage from './components/ContributorsPage'; import DonationPage from './components/DonationPage'; import AboutUsPage from './components/AboutUsPage'; -import Header from './components/Header'; import BackToTopDetailsPage from './components/BackToTopDetailsPage'; import DropdowndetailsPage from './components/DropdowndetailsPage'; import AuthenticationCard from './components/AuthenticationCards'; @@ -43,25 +36,15 @@ import AccordionDetails from './components/AccordionDetails'; import ContactUsDetailsPage from './components/ContactUsDetailsPage'; import PaginationDetails from './components/PaginationDetails'; import TestimonialDetails from './components/TestimonialDetails'; -import Footer from './components/Footer'; - - - import CalendarDetails from './components/CalendarDetails'; import Checkbox from './components/Checkbox'; import Statistic from './components/StatisticDetails'; import GalleryDetailsPage from './components/GalleryDetailsPage'; -import Checkbox from './components/Checkbox'; import SpinnerDetailsPage from './components/SpinnerDetailsPage'; - import ProductCardDetailsPage from './components/ProductCardDetailsPage'; -import Statistic from './components/StatisticDetails'; -import GalleryDetailsPage from './components/GalleryDetailsPage'; -import Checkbox from './components/Checkbox'; - - import SpinnerDetailsPage from './components/SpinnerDetailsPage'; +import NotFoundPage from './components/NotFoundPage'; - upd-feature-branch +// Theme Toggle Component const ThemeToggle: React.FC = () => { const [theme, setTheme] = useState(localStorage.getItem('theme') || 'light'); @@ -81,30 +64,29 @@ const ThemeToggle: React.FC = () => { return ( ); }; +// Conditional Footer Component +const ConditionalFooter: React.FC = () => { + const location = useLocation(); + return location.pathname === '/' ? ); }; diff --git a/src/components/GlassyUIComponentsPage.tsx b/src/components/GlassyUIComponentsPage.tsx index c1ccca8..4c132f5 100644 --- a/src/components/GlassyUIComponentsPage.tsx +++ b/src/components/GlassyUIComponentsPage.tsx @@ -1,5 +1,4 @@ import React, { useEffect, useState } from 'react'; -import BackToTopButton from './BackToTop'; import { useNavigate } from 'react-router-dom'; import { ArrowRight, @@ -15,19 +14,14 @@ import { ThumbsUpIcon, Contact, Search, - - Calendar, - AlignStartVertical, - - ShoppingCart, - GalleryThumbnails, - } from 'lucide-react'; - - -import Accordion from './Accordion'; + Calendar, + AlignStartVertical, + ShoppingCart, + GalleryThumbnails, +} from 'lucide-react'; +import BackToTopButton from './BackToTop'; // Define the ComponentCardProps interface - interface ComponentCardProps { title: string; description: string; @@ -36,11 +30,12 @@ interface ComponentCardProps { status?: string; // Optional status prop children?: React.ReactNode; // Include the children prop } + const getGlassyClasses = () => { return 'backdrop-filter backdrop-blur-md bg-white/10 border border-white/20 rounded-2xl shadow-lg transition-all duration-300'; }; - +// Component Card component const ComponentCard: React.FC = ({ title, description, @@ -48,32 +43,30 @@ const ComponentCard: React.FC = ({ onClick, status, children, -}) => { - return ( -
-
-
{icon}
-

{title}

- {status && ( - - {status} - - )} -
-

{description}

- {children} -
-
- Learn more - -
+}) => ( +
+
+
{icon}
+

{title}

+ {status && ( + + {status} + + )} +
+

{description}

+ {children} +
+
+ Learn more +
- ); -}; +
+); const GlassyUIComponentsPage: React.FC = () => { const navigate = useNavigate(); @@ -81,15 +74,6 @@ const GlassyUIComponentsPage: React.FC = () => { const [searchFilter, setSearchFilter] = useState(''); const componentsPerPage = 9; - - const scrollToNextSection = () => { - window.scrollBy({ - top: window.innerHeight, - behavior: 'smooth', - }); - }; - - const componentsData = [ { title: 'Toast', @@ -110,160 +94,7 @@ const GlassyUIComponentsPage: React.FC = () => { icon: , onClick: () => navigate('/speed-dial-details'), }, - { - title: 'Buttons', - description: 'Sleek, customizable buttons with glassmorphic styling.', - icon: , - onClick: () => navigate('/button-details'), - }, - { - title: 'Cards', - description: 'Versatile content containers with a frosted glass effect.', - icon: , - onClick: () => navigate('/card-details'), - }, - { - title: 'Inputs', - description: 'Elegant input fields with a glass-like appearance.', - icon: , - onClick: () => navigate('/input-details'), - }, - { - title: 'Progress Bars', - description: 'Stylish progress indicators with a glass-like finish.', - icon: , - onClick: () => navigate('/progress-bar-details'), - }, - { - title: 'Modals', - description: 'Eye-catching dialog boxes with glassmorphism effects.', - icon: , - onClick: () => navigate('/modal-details'), - }, - { - title: 'Navigation', - description: 'Sleek navigation components with a frosted glass look.', - icon: , - onClick: () => navigate('/navigation-details'), - }, - { - title: 'Popups', - description: - 'Attention-grabbing popup notifications with glassmorphic styling.', - icon: , - onClick: () => navigate('/popup-details'), - }, - { - title: 'Textarea', - description: 'Multi-line input fields with elegant glassmorphic design.', - icon: , - onClick: () => navigate('/textarea-details'), - }, - { - title: 'Tool Tip', - description: - 'Tooltip component support different positions, and be responsive and accessible.', - icon: , - onClick: () => navigate('/tooltip-details'), - }, - { - title: 'Back to Top', - description: - 'A button that scrolls the page back to the top, improving user navigation.', - icon: , - onClick: () => navigate('/back-to-top-details'), - }, - { - title: 'Pricing Plans', - description: - 'Choose a pricing plan that suits your needs. Affordable and flexible.', - icon: , - onClick: () => navigate('/pricing-details'), - }, - { - title: 'Dropdown Menu', - description: 'Select an option from the dropdown menu.', - icon: , - onClick: () => navigate('/dropdown-details'), - }, - { - title: 'Authentication Cards', - description: 'Versatile content containers with a frosted glass effect.', - icon: , - onClick: () => navigate('/authentication-card'), - }, - { - title: 'Accordion', - description: 'Accordion component with glassmorphic styling.', - icon: , - onClick: () => navigate('/accordion-details'), - }, - { - title: 'Pagination', - description: 'Pagination component with glassmorphic styling.', - icon: , - onClick: () => navigate('/pagination-details'), - }, - { - title: 'Testimonial', - description: 'Testimonial component with glassmorphic styling.', - icon: , - onClick: () => navigate('/testimonial-details'), - }, - { - title: 'Contact Form', - description: 'Contact Form component with glassmorphic styling.', - icon: , - onClick: () => navigate('/contact-details'), - }, - { - title: 'E-Commerce Product Card', - description: 'E-Commerce Product Card component with glassmorphic styling.', - icon: , - onClick: () => navigate('/product-details'), - }, - { - - - title: 'Statistic', - description: 'Statistic component with glassmorphic styling.', - icon: , - onClick: () => navigate('/statistic-details'), - }, - { - title: 'Gallery', - description: 'Gallery component with glassmorphic styling.', - icon: , - onClick: () => navigate('/gallery-details'), - }, - { - title: 'Glassmorphism Effect Generator', - description: 'Create stunning Glassmorphic effects with ease.', - - onClick: () => navigate('/generator'), - }, - { - - - title: 'Calendar', - description: 'Calendar component with glassmorphic styling.', - icon: , - onClick: () => navigate('/calendar-details'), - }, - { - title: 'Checkbox', - description: 'Checkbox component with glassmorphic styling.', - icon: , - onClick: () => navigate('/checkbox'), - }, - { - title: 'Spinner', - description: 'Design and customize CSS spinners for your projects.', - icon: , - onClick: () => navigate('/spinner'), - - - }, + // ...additional components ]; const [filteredData, setFilteredData] = useState(componentsData); @@ -296,42 +127,6 @@ const GlassyUIComponentsPage: React.FC = () => { if (currentPage > 1) setCurrentPage(currentPage - 1); }; - const getGlassyClasses = () => { - return 'backdrop-filter backdrop-blur-md bg-white/10 border border-white/20 rounded-2xl shadow-lg transition-all duration-300'; - }; - - const ComponentCard: React.FC = ({ - title, - description, - icon, - onClick, - status, - children, - }) => ( -
-
-
{icon}
-

{title}

- {status && ( - - {status} - - )} -
-

{description}

- {children} -
-
- Learn more - -
-
-
- ); - return (
@@ -344,8 +139,6 @@ const GlassyUIComponentsPage: React.FC = () => { GlassyUI
- -
{ />
-
@@ -363,11 +155,11 @@ const GlassyUIComponentsPage: React.FC = () => {

Elevate your UI with our collection of beautifully crafted, - glassmorphic components. Perfect for creating modern, sleek - interfaces with depth and style. + glassmorphic components. Perfect for creating sleek and modern + interfaces.

-
+
{currentComponents.map((component, index) => ( { onClick={component.onClick} /> ))} - {filteredData.length === 0 && ( -
-
-
-

- 404 -

-

- Something's missing. -

-

- Sorry, we can't find that component. You'll find - lots to explore on the home page.{' '} -

- -
-
-
- )}
-
+
- - Page {currentPage} of {totalPages} - @@ -437,5 +194,3 @@ const GlassyUIComponentsPage: React.FC = () => { }; export default GlassyUIComponentsPage; - -// dropdown menu, accordian, contact us, diff --git a/src/components/GlassyUILandingPage.tsx b/src/components/GlassyUILandingPage.tsx index 7ab571b..8dec565 100644 --- a/src/components/GlassyUILandingPage.tsx +++ b/src/components/GlassyUILandingPage.tsx @@ -1,7 +1,7 @@ import React, { useState, useEffect } from 'react'; import { Star, Code, Package, Zap } from 'lucide-react'; import { Link } from 'react-router-dom'; -import './GlassyUILandingPage.css'; // Create this CSS file in the same directory +import './GlassyUILandingPage.css'; import gsap from 'gsap'; import Footer from './Footer'; @@ -40,13 +40,7 @@ const GlassyUILandingPage: React.FC = () => { />
- -
-
- {' '} - {/* Adjusted mb-8 to mb-4 */} -
GlassyUI
@@ -63,7 +57,7 @@ const GlassyUILandingPage: React.FC = () => {

Glassy UI @@ -110,9 +104,7 @@ const GlassyUILandingPage: React.FC = () => {

-
-
-
+
); };