-
Notifications
You must be signed in to change notification settings - Fork 4
feat: create CommDesk landing page #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| import Hero from './components/Hero'; | ||
| import Stats from './components/Stats'; | ||
| import Features from './components/Features'; | ||
| import WhyCommDesk from './components/WhyCommDesk'; | ||
| import CTA from './components/CTA'; | ||
|
|
||
| export default function Home() { | ||
| return ( | ||
| <main className="min-h-screen bg-[#0b0f1f] text-white pt-[72px]"> | ||
| <Hero /> | ||
| <Stats /> | ||
| <Features /> | ||
| <WhyCommDesk /> | ||
| <CTA /> | ||
| </main> | ||
| ); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| export default function CTA() { | ||
| return ( | ||
| <section className="max-w-4xl mx-auto px-6 py-16 text-center"> | ||
| <h2 className="text-4xl font-bold mb-6"> | ||
| Ready to Transform Community Management? | ||
| </h2> | ||
|
|
||
| <p className="text-gray-400 mb-8"> | ||
| Join organizations using CommDesk to streamline collaboration, | ||
| event management, and resource sharing. | ||
| </p> | ||
|
|
||
| <button className="px-8 py-4 rounded-lg bg-purple-600 hover:bg-purple-700 transition-all duration-300"> | ||
| Explore CommDesk | ||
| </button> | ||
| </section> | ||
| ); | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 ( | ||
| <section className="max-w-6xl mx-auto px-6 py-12"> | ||
| <h2 className="text-4xl font-bold text-center mb-8"> | ||
| Features | ||
| </h2> | ||
|
|
||
| <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6"> | ||
| {features.map((feature) => ( | ||
| <div | ||
| key={feature.title} | ||
| className="bg-[#14192c] rounded-xl p-6 hover:bg-[#1c2240] transition-all duration-300" | ||
| > | ||
| <h3 className="text-2xl font-semibold mb-3"> | ||
| {feature.title} | ||
| </h3> | ||
|
|
||
| <p className="text-gray-400"> | ||
| {feature.desc} | ||
| </p> | ||
| </div> | ||
| ))} | ||
| </div> | ||
| </section> | ||
| ); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| import heroImg from '../../../../assets/hero.png'; | ||
|
|
||
| export default function Hero() { | ||
| return ( | ||
| <section className="w-full max-w-7xl mx-auto px-6 pt-8 pb-16 text-center"> | ||
| <img | ||
| src={heroImg} | ||
| alt="CommDesk Hero" | ||
| className="mx-auto mb-6 w-64" | ||
| /> | ||
|
|
||
| <h1 className="text-5xl md:text-6xl font-bold mb-6 text-center"> | ||
| The Modern Platform for Community Management | ||
| </h1> | ||
|
|
||
| <div className="flex justify-center"> | ||
| <p className="text-lg md:text-xl text-gray-400 mb-8 text-center leading-relaxed max-w-3xl"> | ||
| Manage communities, events, resources and collaboration from a single unified workspace. | ||
| </p> | ||
| </div> | ||
|
|
||
| <div className="flex justify-center items-center gap-4 mt-2"> | ||
| <button className="px-6 py-3 rounded-lg bg-purple-600 hover:bg-purple-700"> | ||
| Get Started | ||
| </button> | ||
|
|
||
| <button className="px-6 py-3 rounded-lg border border-gray-600"> | ||
| Explore Features | ||
| </button> | ||
| </div> | ||
| </section> | ||
| ); | ||
| } | ||
|
aditi123-hub marked this conversation as resolved.
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -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 ( | ||||||||||||||||||||||
| <section className="max-w-6xl mx-auto px-6 py-10"> | ||||||||||||||||||||||
| <div className="grid grid-cols-2 md:grid-cols-4 gap-6"> | ||||||||||||||||||||||
| {stats.map((item) => ( | ||||||||||||||||||||||
| <div | ||||||||||||||||||||||
| key={item.title} | ||||||||||||||||||||||
| className="bg-[#14192c] rounded-xl p-6 text-center" | ||||||||||||||||||||||
| > | ||||||||||||||||||||||
| <div className="text-3xl mb-3"> | ||||||||||||||||||||||
| {item.icon} | ||||||||||||||||||||||
| </div> | ||||||||||||||||||||||
|
Comment on lines
+29
to
+31
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Rendering raw emojis inside a
Suggested change
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| <h3 className="font-semibold"> | ||||||||||||||||||||||
| {item.title} | ||||||||||||||||||||||
| </h3> | ||||||||||||||||||||||
| </div> | ||||||||||||||||||||||
| ))} | ||||||||||||||||||||||
| </div> | ||||||||||||||||||||||
| </section> | ||||||||||||||||||||||
| ); | ||||||||||||||||||||||
| } | ||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| export default function WhyCommDesk() { | ||
| const reasons = [ | ||
| 'Modern Interface', | ||
| 'Easy Community Management', | ||
| 'Event Organization', | ||
| 'Resource Sharing', | ||
| 'Responsive Design', | ||
| 'Scalable Architecture', | ||
| ]; | ||
|
|
||
| return ( | ||
| <section className="max-w-6xl mx-auto px-6 py-12"> | ||
| <h2 className="text-4xl font-bold text-center mb-8"> | ||
| Why CommDesk? | ||
| </h2> | ||
|
|
||
| <div className="grid md:grid-cols-3 gap-6"> | ||
| {reasons.map((reason) => ( | ||
| <div | ||
| key={reason} | ||
| className="bg-[#14192c] rounded-xl p-5 text-center" | ||
| > | ||
| ✓ {reason} | ||
| </div> | ||
| ))} | ||
| </div> | ||
| </section> | ||
| ); | ||
| } | ||
|
Comment on lines
+1
to
+29
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Instead of using a raw text checkmark character ( |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 'Explore CommDesk' button in the CTA section is currently a static
<button>element. It should be converted to a functional<Link>component fromreact-router-domto allow users to navigate to the features page.