diff --git a/src/App.tsx b/src/App.tsx index 9a85fe2..8264a10 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,10 +1,8 @@ import { useState } from 'react'; import { Route, Routes } from 'react-router-dom'; import { Navbar } from './features/Nav/v1/components'; -import reactLogo from './assets/react.svg'; -import viteLogo from './assets/vite.svg'; -import heroImg from './assets/hero.png'; import './App.css'; +import Home from './features/Home/v1/Home'; function RoutePage({ title, @@ -26,7 +24,6 @@ function RoutePage({ } function App() { - const [count, setCount] = useState(0); const [isAuthenticated, setIsAuthenticated] = useState(true); return ( @@ -38,126 +35,7 @@ function App() { -
-
- - React logo - Vite logo -
-
-

Get started

-

- Edit src/App.tsx and save to test{' '} - HMR -

-
- -
- -
- -
-
- -

Documentation

-

Your questions, answered

- -
-
- -

Connect with us

-

Join the Vite community

- -
-
- -
-
- - } + element={} /> + + + + + + + ); +} \ No newline at end of file diff --git a/src/features/Home/v1/components/CTA.tsx b/src/features/Home/v1/components/CTA.tsx new file mode 100644 index 0000000..199da67 --- /dev/null +++ b/src/features/Home/v1/components/CTA.tsx @@ -0,0 +1,18 @@ +export default function CTA() { + return ( +
+

+ Ready to Transform Community Management? +

+ +

+ Join organizations using CommDesk to streamline collaboration, + event management, and resource sharing. +

+ + +
+ ); +} \ No newline at end of file diff --git a/src/features/Home/v1/components/Features.tsx b/src/features/Home/v1/components/Features.tsx new file mode 100644 index 0000000..47a82d4 --- /dev/null +++ b/src/features/Home/v1/components/Features.tsx @@ -0,0 +1,45 @@ +export default function Features() { + const features = [ + { + title: 'Communities', + desc: 'Build and manage thriving communities.', + }, + { + title: 'Events', + desc: 'Organize and engage members through events.', + }, + { + title: 'Resources', + desc: 'Share documents and knowledge efficiently.', + }, + { + title: 'Collaboration', + desc: 'Work together in one unified platform.', + }, + ]; + + return ( +
+

+ Features +

+ +
+ {features.map((feature) => ( +
+

+ {feature.title} +

+ +

+ {feature.desc} +

+
+ ))} +
+
+ ); +} \ No newline at end of file diff --git a/src/features/Home/v1/components/Hero.tsx b/src/features/Home/v1/components/Hero.tsx new file mode 100644 index 0000000..f574e94 --- /dev/null +++ b/src/features/Home/v1/components/Hero.tsx @@ -0,0 +1,33 @@ +import heroImg from '../../../../assets/hero.png'; + +export default function Hero() { + return ( +
+ CommDesk Hero + +

+ The Modern Platform for Community Management +

+ +
+

+ Manage communities, events, resources and collaboration from a single unified workspace. +

+
+ +
+ + + +
+
+ ); +} \ No newline at end of file diff --git a/src/features/Home/v1/components/Stats.tsx b/src/features/Home/v1/components/Stats.tsx new file mode 100644 index 0000000..0d3b246 --- /dev/null +++ b/src/features/Home/v1/components/Stats.tsx @@ -0,0 +1,41 @@ +export default function Stats() { + const stats = [ + { + icon: '👥', + title: 'Community Driven', + }, + { + icon: '📅', + title: 'Event Management', + }, + { + icon: '📚', + title: 'Resource Sharing', + }, + { + icon: '📱', + title: 'Responsive Design', + }, + ]; + + return ( +
+
+ {stats.map((item) => ( +
+
+ {item.icon} +
+ +

+ {item.title} +

+
+ ))} +
+
+ ); +} \ No newline at end of file diff --git a/src/features/Home/v1/components/WhyCommDesk.tsx b/src/features/Home/v1/components/WhyCommDesk.tsx new file mode 100644 index 0000000..76caabf --- /dev/null +++ b/src/features/Home/v1/components/WhyCommDesk.tsx @@ -0,0 +1,29 @@ +export default function WhyCommDesk() { + const reasons = [ + 'Modern Interface', + 'Easy Community Management', + 'Event Organization', + 'Resource Sharing', + 'Responsive Design', + 'Scalable Architecture', + ]; + + return ( +
+

+ Why CommDesk? +

+ +
+ {reasons.map((reason) => ( +
+ ✓ {reason} +
+ ))} +
+
+ ); +} \ No newline at end of file diff --git a/src/features/Nav/v1/components/CommandPalette.tsx b/src/features/Nav/v1/components/CommandPalette.tsx index 48a010b..63b8c85 100644 --- a/src/features/Nav/v1/components/CommandPalette.tsx +++ b/src/features/Nav/v1/components/CommandPalette.tsx @@ -15,7 +15,7 @@ import { MessageSquare, ArrowRight, } from 'lucide-react'; -import { navItems } from '../types/navbar.types'; + interface CommandPaletteProps { isOpen: boolean; @@ -39,7 +39,6 @@ export const CommandPalette: React.FC = ({ onSearch, }) => { const navigate = useNavigate(); - const overlayRef = useRef(null); const inputRef = useRef(null); const listRef = useRef(null); const [query, setQuery] = useState('');