From 93fb71836afb4296b1420fc62dddbad65ec13400 Mon Sep 17 00:00:00 2001 From: Elliot Braem Date: Sat, 21 Dec 2024 04:39:58 -0600 Subject: [PATCH] fmt --- eslint.config.js | 24 +++++----- src/App.tsx | 22 +++++----- src/components/BuilderProfile.tsx | 56 +++++++++++++++++------- src/components/Builders.tsx | 33 ++++++++------ src/components/Footer.tsx | 42 +++++++++++++----- src/components/Hero.tsx | 24 +++++----- src/components/LoadingSpinner.tsx | 2 +- src/components/Navigation.tsx | 13 +++--- src/components/ProjectCard.tsx | 21 +++++---- src/components/Projects.tsx | 33 ++++++++------ src/data/builders.ts | 28 ++++++------ src/data/projects.ts | 48 +++++++++++--------- src/main.tsx | 16 +++---- src/pages/BuilderPage.tsx | 60 +++++++++++++++++++------ src/pages/Home.tsx | 4 +- src/pages/Process.tsx | 63 +++++++++++++++++--------- src/pages/ProjectPage.tsx | 46 +++++++++++++------ src/pages/SubmitProject.tsx | 73 +++++++++++++++++++++++-------- tailwind.config.js | 4 +- vite.config.ts | 6 +-- 20 files changed, 401 insertions(+), 217 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 82c2e20..79a552e 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,28 +1,28 @@ -import js from '@eslint/js'; -import globals from 'globals'; -import reactHooks from 'eslint-plugin-react-hooks'; -import reactRefresh from 'eslint-plugin-react-refresh'; -import tseslint from 'typescript-eslint'; +import js from "@eslint/js"; +import globals from "globals"; +import reactHooks from "eslint-plugin-react-hooks"; +import reactRefresh from "eslint-plugin-react-refresh"; +import tseslint from "typescript-eslint"; export default tseslint.config( - { ignores: ['dist'] }, + { ignores: ["dist"] }, { extends: [js.configs.recommended, ...tseslint.configs.recommended], - files: ['**/*.{ts,tsx}'], + files: ["**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, plugins: { - 'react-hooks': reactHooks, - 'react-refresh': reactRefresh, + "react-hooks": reactHooks, + "react-refresh": reactRefresh, }, rules: { ...reactHooks.configs.recommended.rules, - 'react-refresh/only-export-components': [ - 'warn', + "react-refresh/only-export-components": [ + "warn", { allowConstantExport: true }, ], }, - } + }, ); diff --git a/src/App.tsx b/src/App.tsx index 34c09f6..1d2f5e7 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,14 +1,14 @@ -import { Routes, Route } from 'react-router-dom'; -import { Suspense, lazy } from 'react'; -import Footer from './components/Footer'; -import LoadingSpinner from './components/LoadingSpinner'; -import Navigation from './components/Navigation'; +import { Routes, Route } from "react-router-dom"; +import { Suspense, lazy } from "react"; +import Footer from "./components/Footer"; +import LoadingSpinner from "./components/LoadingSpinner"; +import Navigation from "./components/Navigation"; -const Home = lazy(() => import('./pages/Home')); -const ProjectPage = lazy(() => import('./pages/ProjectPage')); -const BuilderPage = lazy(() => import('./pages/BuilderPage')); -const SubmitProject = lazy(() => import('./pages/SubmitProject')); -const Process = lazy(() => import('./pages/Process')); +const Home = lazy(() => import("./pages/Home")); +const ProjectPage = lazy(() => import("./pages/ProjectPage")); +const BuilderPage = lazy(() => import("./pages/BuilderPage")); +const SubmitProject = lazy(() => import("./pages/SubmitProject")); +const Process = lazy(() => import("./pages/Process")); function App() { return ( @@ -30,4 +30,4 @@ function App() { ); } -export default App; \ No newline at end of file +export default App; diff --git a/src/components/BuilderProfile.tsx b/src/components/BuilderProfile.tsx index fb56dcc..8ef5376 100644 --- a/src/components/BuilderProfile.tsx +++ b/src/components/BuilderProfile.tsx @@ -1,6 +1,6 @@ -import { Github, Linkedin, Twitter } from 'lucide-react'; -import { Link } from 'react-router-dom'; -import { Builder } from '../data/builders'; +import { Github, Linkedin, Twitter } from "lucide-react"; +import { Link } from "react-router-dom"; +import { Builder } from "../data/builders"; interface BuilderProfileProps extends Builder {} @@ -11,57 +11,83 @@ export default function BuilderProfile({ image, skills, projects, - social + social, }: BuilderProfileProps) { return (
- {name} + {name}

{name}

{role}

- +

Skills

{skills.map((skill) => ( - + {skill} ))}
- +
-

Notable Projects

+

+ Notable Projects +

    {projects.map((project) => ( -
  • • {project}
  • +
  • + • {project} +
  • ))}
- +
{social.github && ( - + )} {social.linkedin && ( - + )} {social.twitter && ( - + )}
); -} \ No newline at end of file +} diff --git a/src/components/Builders.tsx b/src/components/Builders.tsx index a2b8772..bf66461 100644 --- a/src/components/Builders.tsx +++ b/src/components/Builders.tsx @@ -1,6 +1,6 @@ -import { useRef, useEffect } from 'react'; -import BuilderProfile from './BuilderProfile'; -import { BUILDERS } from '../data/builders'; +import { useRef, useEffect } from "react"; +import BuilderProfile from "./BuilderProfile"; +import { BUILDERS } from "../data/builders"; export default function Builders() { const buildersRef = useRef(null); @@ -11,18 +11,18 @@ export default function Builders() { (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { - entry.target.classList.add('opacity-100', 'translate-y-0'); - entry.target.classList.remove('opacity-0', 'translate-y-4'); + entry.target.classList.add("opacity-100", "translate-y-0"); + entry.target.classList.remove("opacity-0", "translate-y-4"); } }); }, { threshold: 0.1, - rootMargin: '50px', - } + rootMargin: "50px", + }, ); - const cards = buildersRef.current.querySelectorAll('.builder-card'); + const cards = buildersRef.current.querySelectorAll(".builder-card"); cards.forEach((card) => observer.observe(card)); return () => observer.disconnect(); @@ -32,10 +32,17 @@ export default function Builders() { return (
-

Meet Our Builders

-

Expert developers and designers ready to build your MVP

- -
+

+ Meet Our Builders +

+

+ Expert developers and designers ready to build your MVP +

+ +
{BUILDERS.map((builder) => (
); -} \ No newline at end of file +} diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 223749a..87f4c75 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -1,5 +1,5 @@ -import { Github } from 'lucide-react'; -import { Link } from 'react-router-dom'; +import { Github } from "lucide-react"; +import { Link } from "react-router-dom"; export default function Footer() { const currentYear = new Date().getFullYear(); @@ -25,15 +25,23 @@ export default function Footer() {
-

Quick Links

+

+ Quick Links +

); -} \ No newline at end of file +} diff --git a/src/components/Hero.tsx b/src/components/Hero.tsx index 134323b..740af5a 100644 --- a/src/components/Hero.tsx +++ b/src/components/Hero.tsx @@ -1,27 +1,31 @@ -import { ArrowRight, HardHat } from 'lucide-react'; -import { Link } from 'react-router-dom'; +import { ArrowRight, HardHat } from "lucide-react"; +import { Link } from "react-router-dom"; export default function Hero() { return (
{/* Grid Background */}
- +
- +

Build Your MVP - Fast & Right + + {" "} + Fast & Right +

- +

- Join the decentralized builder community turning ideas into production-ready MVPs in weeks, not months. + Join the decentralized builder community turning ideas into + production-ready MVPs in weeks, not months.

- +
- +
Trusted by 100+ founders • Average MVP delivery: 3 days
@@ -44,4 +48,4 @@ export default function Hero() {
); -} \ No newline at end of file +} diff --git a/src/components/LoadingSpinner.tsx b/src/components/LoadingSpinner.tsx index accfddf..7660f97 100644 --- a/src/components/LoadingSpinner.tsx +++ b/src/components/LoadingSpinner.tsx @@ -4,4 +4,4 @@ export default function LoadingSpinner() {
); -} \ No newline at end of file +} diff --git a/src/components/Navigation.tsx b/src/components/Navigation.tsx index 2c2ad11..db3cc63 100644 --- a/src/components/Navigation.tsx +++ b/src/components/Navigation.tsx @@ -1,5 +1,5 @@ -import { Link } from 'react-router-dom'; -import { HardHat } from 'lucide-react'; +import { Link } from "react-router-dom"; +import { HardHat } from "lucide-react"; export default function Navigation() { return ( @@ -10,9 +10,12 @@ export default function Navigation() { Build DAO - +
- + Our Process ); -} \ No newline at end of file +} diff --git a/src/components/ProjectCard.tsx b/src/components/ProjectCard.tsx index dc92075..2ca04a6 100644 --- a/src/components/ProjectCard.tsx +++ b/src/components/ProjectCard.tsx @@ -1,6 +1,6 @@ -import { Clock } from 'lucide-react'; -import { Link } from 'react-router-dom'; -import { Project } from '../data/projects'; +import { Clock } from "lucide-react"; +import { Link } from "react-router-dom"; +import { Project } from "../data/projects"; interface ProjectCardProps extends Project {} @@ -17,24 +17,27 @@ export default function ProjectCard({
{title} - +

{title}

{description}

- +
{timeframe}
- +
{technologies.map((tech) => ( - + {tech} ))}
- + {testimonial && (

{testimonial.text}

@@ -47,4 +50,4 @@ export default function ProjectCard({
); -} \ No newline at end of file +} diff --git a/src/components/Projects.tsx b/src/components/Projects.tsx index f6b2ad1..2928020 100644 --- a/src/components/Projects.tsx +++ b/src/components/Projects.tsx @@ -1,6 +1,6 @@ -import { useRef, useEffect } from 'react'; -import ProjectCard from './ProjectCard'; -import { PROJECTS } from '../data/projects'; +import { useRef, useEffect } from "react"; +import ProjectCard from "./ProjectCard"; +import { PROJECTS } from "../data/projects"; export default function Projects() { const projectsRef = useRef(null); @@ -11,18 +11,18 @@ export default function Projects() { (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { - entry.target.classList.add('opacity-100', 'translate-y-0'); - entry.target.classList.remove('opacity-0', 'translate-y-4'); + entry.target.classList.add("opacity-100", "translate-y-0"); + entry.target.classList.remove("opacity-0", "translate-y-4"); } }); }, { threshold: 0.1, - rootMargin: '50px', - } + rootMargin: "50px", + }, ); - const cards = projectsRef.current.querySelectorAll('.project-card'); + const cards = projectsRef.current.querySelectorAll(".project-card"); cards.forEach((card) => observer.observe(card)); return () => observer.disconnect(); @@ -32,10 +32,17 @@ export default function Projects() { return (
-

Featured Projects

-

Discover some of our recent MVP success stories

- -
+

+ Featured Projects +

+

+ Discover some of our recent MVP success stories +

+ +
{PROJECTS.map((project) => (
); -} \ No newline at end of file +} diff --git a/src/data/builders.ts b/src/data/builders.ts index b3ba72b..336d2a1 100644 --- a/src/data/builders.ts +++ b/src/data/builders.ts @@ -26,19 +26,19 @@ export const BUILDERS: Builder[] = [ social: { github: "https://github.com", linkedin: "https://linkedin.com", - twitter: "https://twitter.com" + twitter: "https://twitter.com", }, bio: "Full stack developer with 8+ years of experience in web3 technologies and distributed systems.", experience: [ "Led development of multiple DeFi protocols", "Contributed to major open-source blockchain projects", - "Developed high-performance trading systems" + "Developed high-performance trading systems", ], achievements: [ "ETHGlobal hackathon winner", "Published research on smart contract optimization", - "Core contributor to popular DeFi protocols" - ] + "Core contributor to popular DeFi protocols", + ], }, { id: "elena-chen", @@ -49,19 +49,19 @@ export const BUILDERS: Builder[] = [ projects: ["DAO Governance", "DeFi Protocol"], social: { github: "https://github.com", - linkedin: "https://linkedin.com" + linkedin: "https://linkedin.com", }, bio: "Smart contract engineer specializing in DeFi protocols and security auditing.", experience: [ "Security auditor for major DeFi protocols", "Developed innovative yield farming strategies", - "Created secure multi-sig wallet implementations" + "Created secure multi-sig wallet implementations", ], achievements: [ "Found and patched critical vulnerabilities", "Developed industry-standard security patterns", - "Regular speaker at blockchain conferences" - ] + "Regular speaker at blockchain conferences", + ], }, { id: "marcus-johnson", @@ -72,18 +72,18 @@ export const BUILDERS: Builder[] = [ projects: ["Crypto Wallet UI", "NFT Gallery"], social: { twitter: "https://twitter.com", - linkedin: "https://linkedin.com" + linkedin: "https://linkedin.com", }, bio: "Product designer focused on creating intuitive and engaging web3 experiences.", experience: [ "Designed interfaces for popular crypto wallets", "Created comprehensive design systems", - "Led user research for DeFi applications" + "Led user research for DeFi applications", ], achievements: [ "Best Design Award at Web3 Summit", "Published case studies on web3 UX", - "Mentor for blockchain design programs" - ] - } -]; \ No newline at end of file + "Mentor for blockchain design programs", + ], + }, +]; diff --git a/src/data/projects.ts b/src/data/projects.ts index 7b2fbea..b7a3dae 100644 --- a/src/data/projects.ts +++ b/src/data/projects.ts @@ -20,78 +20,84 @@ export const PROJECTS: Project[] = [ { id: "defi-trading-platform", title: "DeFi Trading Platform", - description: "A decentralized exchange with advanced trading features and real-time analytics.", + description: + "A decentralized exchange with advanced trading features and real-time analytics.", image: "https://images.unsplash.com/photo-1642790106117-e829e14a795f", technologies: ["React", "Solidity", "Web3.js"], timeframe: "4 weeks", testimonial: { text: "Build DAO delivered our MVP ahead of schedule with exceptional quality.", author: "Sarah Chen", - role: "Founder, TradeFi" + role: "Founder, TradeFi", }, - fullDescription: "A comprehensive DeFi trading platform that enables users to trade cryptocurrencies, provide liquidity, and earn rewards through yield farming.", + fullDescription: + "A comprehensive DeFi trading platform that enables users to trade cryptocurrencies, provide liquidity, and earn rewards through yield farming.", challenges: [ "Complex smart contract architecture", "Real-time price updates across multiple chains", - "Gas optimization for trading operations" + "Gas optimization for trading operations", ], solutions: [ "Implemented modular smart contract design", "Built custom WebSocket infrastructure", - "Optimized contract calls using batch transactions" + "Optimized contract calls using batch transactions", ], results: [ "50,000+ transactions processed", "Average gas savings of 40%", - "$2M+ in trading volume within first month" - ] + "$2M+ in trading volume within first month", + ], }, { id: "nft-marketplace", title: "NFT Marketplace", - description: "Custom NFT marketplace with social features and creator tools.", + description: + "Custom NFT marketplace with social features and creator tools.", image: "https://images.unsplash.com/photo-1620641788421-7a1c342ea42e", technologies: ["Next.js", "IPFS", "ethers.js"], timeframe: "3 weeks", - fullDescription: "A feature-rich NFT marketplace that allows creators to mint, trade, and showcase their digital assets with integrated social features.", + fullDescription: + "A feature-rich NFT marketplace that allows creators to mint, trade, and showcase their digital assets with integrated social features.", challenges: [ "Efficient metadata storage", "Cross-chain NFT transfers", - "Social feature integration" + "Social feature integration", ], solutions: [ "IPFS integration for decentralized storage", "Built bridge contracts for cross-chain transfers", - "Implemented activity feed microservices" + "Implemented activity feed microservices", ], results: [ "1,000+ NFTs minted", "Active community of 5,000+ users", - "Featured in major crypto publications" - ] + "Featured in major crypto publications", + ], }, { id: "dao-governance", title: "DAO Governance Platform", - description: "Streamlined governance platform for DAOs with proposal creation and voting.", + description: + "Streamlined governance platform for DAOs with proposal creation and voting.", image: "https://images.unsplash.com/photo-1639762681485-074b7f938ba0", technologies: ["Vue.js", "Graph Protocol", "TypeScript"], timeframe: "5 weeks", - fullDescription: "A comprehensive DAO governance platform enabling decentralized decision-making through proposal creation, voting, and execution.", + fullDescription: + "A comprehensive DAO governance platform enabling decentralized decision-making through proposal creation, voting, and execution.", challenges: [ "Complex voting mechanisms", "On-chain governance implementation", - "User experience simplification" + "User experience simplification", ], solutions: [ "Implemented quadratic voting system", "Created modular governance contracts", - "Designed intuitive proposal creation flow" + "Designed intuitive proposal creation flow", ], results: [ "20+ DAOs onboarded", "100+ proposals executed", - "95% user satisfaction rate" - ] - } -]; \ No newline at end of file + "95% user satisfaction rate", + ], + }, +]; diff --git a/src/main.tsx b/src/main.tsx index 85ae037..b3c2e37 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,13 +1,13 @@ -import { StrictMode } from 'react'; -import { createRoot } from 'react-dom/client'; -import { BrowserRouter } from 'react-router-dom'; -import App from './App'; -import './index.css'; +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import { BrowserRouter } from "react-router-dom"; +import App from "./App"; +import "./index.css"; -createRoot(document.getElementById('root')!).render( +createRoot(document.getElementById("root")!).render( - -); \ No newline at end of file + , +); diff --git a/src/pages/BuilderPage.tsx b/src/pages/BuilderPage.tsx index cd034ea..895be8d 100644 --- a/src/pages/BuilderPage.tsx +++ b/src/pages/BuilderPage.tsx @@ -1,10 +1,17 @@ -import { useParams, Link } from 'react-router-dom'; -import { ArrowLeft, Award, Briefcase, Github, Linkedin, Twitter } from 'lucide-react'; -import { BUILDERS } from '../data/builders'; +import { useParams, Link } from "react-router-dom"; +import { + ArrowLeft, + Award, + Briefcase, + Github, + Linkedin, + Twitter, +} from "lucide-react"; +import { BUILDERS } from "../data/builders"; export default function BuilderPage() { const { id } = useParams(); - const builder = BUILDERS.find(b => b.id === id); + const builder = BUILDERS.find((b) => b.id === id); if (!builder) { return ( @@ -22,7 +29,10 @@ export default function BuilderPage() { return (
- + Back to Builders @@ -30,23 +40,38 @@ export default function BuilderPage() {
- {builder.name} -

{builder.name}

+ {builder.name} +

+ {builder.name} +

{builder.role}

{builder.social.github && ( - + )} {builder.social.linkedin && ( - + )} {builder.social.twitter && ( - + )} @@ -54,7 +79,10 @@ export default function BuilderPage() {
{builder.skills.map((skill) => ( - + {skill} ))} @@ -78,7 +106,9 @@ export default function BuilderPage() {
    {builder.experience.map((exp, index) => ( -
  • • {exp}
  • +
  • + • {exp} +
  • ))}
@@ -92,7 +122,9 @@ export default function BuilderPage() {
    {builder.achievements.map((achievement, index) => ( -
  • • {achievement}
  • +
  • + • {achievement} +
  • ))}
@@ -102,4 +134,4 @@ export default function BuilderPage() {
); -} \ No newline at end of file +} diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 83ee30f..8ff0d12 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -1,4 +1,4 @@ -import Hero from '../components/Hero'; +import Hero from "../components/Hero"; // import Projects from '../components/Projects'; // import Builders from '../components/Builders'; @@ -10,4 +10,4 @@ export default function Home() { */}
); -} \ No newline at end of file +} diff --git a/src/pages/Process.tsx b/src/pages/Process.tsx index f7bcb23..b0cffd4 100644 --- a/src/pages/Process.tsx +++ b/src/pages/Process.tsx @@ -1,50 +1,67 @@ -import { ArrowLeft, Code, Cpu, FileSearch, Rocket, Settings, Users } from 'lucide-react'; -import { Link } from 'react-router-dom'; +import { + ArrowLeft, + Code, + Cpu, + FileSearch, + Rocket, + Settings, + Users, +} from "lucide-react"; +import { Link } from "react-router-dom"; const steps = [ { icon: FileSearch, title: "Requirements Analysis", - description: "We work closely with you to understand your project needs, goals, and technical requirements.", - duration: "2-3 days" + description: + "We work closely with you to understand your project needs, goals, and technical requirements.", + duration: "2-3 days", }, { icon: Users, title: "Team Assembly", - description: "We assign the perfect team of developers and designers based on your project's needs.", - duration: "1 day" + description: + "We assign the perfect team of developers and designers based on your project's needs.", + duration: "1 day", }, { icon: Settings, title: "Architecture Design", - description: "Our team designs a scalable architecture that meets your current and future needs.", - duration: "2-3 days" + description: + "Our team designs a scalable architecture that meets your current and future needs.", + duration: "2-3 days", }, { icon: Code, title: "Development Sprint", - description: "Rapid development with daily updates and weekly demos to ensure we're on track.", - duration: "2-3 weeks" + description: + "Rapid development with daily updates and weekly demos to ensure we're on track.", + duration: "2-3 weeks", }, { icon: Cpu, title: "Testing & QA", - description: "Rigorous testing to ensure your MVP is production-ready and bug-free.", - duration: "2-3 days" + description: + "Rigorous testing to ensure your MVP is production-ready and bug-free.", + duration: "2-3 days", }, { icon: Rocket, title: "Deployment", - description: "We handle the deployment and provide documentation for your team.", - duration: "1-2 days" - } + description: + "We handle the deployment and provide documentation for your team.", + duration: "1-2 days", + }, ]; export default function Process() { return (
- + Back to Home @@ -52,8 +69,9 @@ export default function Process() {

Our Build Process

- We've streamlined our development process to deliver high-quality MVPs in weeks, not months. - Here's how we turn your idea into reality. + We've streamlined our development process to deliver high-quality + MVPs in weeks, not months. Here's how we turn your idea into + reality.

@@ -78,9 +96,12 @@ export default function Process() {
-

Ready to Start Building?

+

+ Ready to Start Building? +

- Our process is designed to get your MVP to market as quickly as possible while maintaining the highest quality standards. + Our process is designed to get your MVP to market as quickly as + possible while maintaining the highest quality standards.

); -} \ No newline at end of file +} diff --git a/src/pages/ProjectPage.tsx b/src/pages/ProjectPage.tsx index b7ba694..41b5b3e 100644 --- a/src/pages/ProjectPage.tsx +++ b/src/pages/ProjectPage.tsx @@ -1,10 +1,10 @@ -import { useParams, Link } from 'react-router-dom'; -import { ArrowLeft, Clock, Trophy, Lightbulb, Target } from 'lucide-react'; -import { PROJECTS } from '../data/projects'; +import { useParams, Link } from "react-router-dom"; +import { ArrowLeft, Clock, Trophy, Lightbulb, Target } from "lucide-react"; +import { PROJECTS } from "../data/projects"; export default function ProjectPage() { const { id } = useParams(); - const project = PROJECTS.find(p => p.id === id); + const project = PROJECTS.find((p) => p.id === id); if (!project) { return ( @@ -22,19 +22,28 @@ export default function ProjectPage() { return (
- + Back to Projects
- {project.title} + {project.title}

{project.title}

-

{project.fullDescription || project.description}

+

+ {project.fullDescription || project.description} +

@@ -43,7 +52,10 @@ export default function ProjectPage() {
{project.technologies.map((tech) => ( - + {tech} ))} @@ -51,7 +63,9 @@ export default function ProjectPage() { {project.testimonial && (
-

"{project.testimonial.text}"

+

+ "{project.testimonial.text}" +

{project.testimonial.author} • {project.testimonial.role}
@@ -69,7 +83,9 @@ export default function ProjectPage() {
    {project.challenges.map((challenge, index) => ( -
  • • {challenge}
  • +
  • + • {challenge} +
  • ))}
@@ -83,7 +99,9 @@ export default function ProjectPage() {
    {project.solutions.map((solution, index) => ( -
  • • {solution}
  • +
  • + • {solution} +
  • ))}
@@ -97,7 +115,9 @@ export default function ProjectPage() {
    {project.results.map((result, index) => ( -
  • • {result}
  • +
  • + • {result} +
  • ))}
@@ -106,4 +126,4 @@ export default function ProjectPage() {
); -} \ No newline at end of file +} diff --git a/src/pages/SubmitProject.tsx b/src/pages/SubmitProject.tsx index 0d1f549..3492bc4 100644 --- a/src/pages/SubmitProject.tsx +++ b/src/pages/SubmitProject.tsx @@ -1,11 +1,14 @@ -import { ArrowLeft, CheckCircle, Clock, Rocket } from 'lucide-react'; -import { Link } from 'react-router-dom'; +import { ArrowLeft, CheckCircle, Clock, Rocket } from "lucide-react"; +import { Link } from "react-router-dom"; export default function SubmitProject() { return (
- + Back to Home @@ -14,12 +17,15 @@ export default function SubmitProject() {

Submit Your Project

- Ready to turn your idea into reality? Fill out the form below and our team will get back to you within 24 hours. + Ready to turn your idea into reality? Fill out the form below and + our team will get back to you within 24 hours.

- +
- +