Skip to content
2 changes: 1 addition & 1 deletion app/(landing)/projects/[id]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@

try {
const response = await getCrowdfundingProject(id);

console.log(response);

Check warning on line 70 in app/(landing)/projects/[id]/page.tsx

View workflow job for this annotation

GitHub Actions / Code Quality & Linting

Unexpected console statement
if (response.success && response.data) {
projectData = transformCrowdfundingProject(
response.data.project,
Expand Down
115 changes: 62 additions & 53 deletions components/landing-page/project/CreateProjectModal/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -505,88 +505,97 @@ const CreateProjectModal = ({ open, setOpen }: CreateProjectModalProps) => {
const handleTestData = () => {
const testData: ProjectFormData = {
basic: {
projectName: 'DeFi Protocol',
logo: 'https://res.cloudinary.com/danuy5rqb/image/upload/v1759431246/boundless/projects/logos/jfc5v0l6xec0bdhmliet.png', // Will be handled by file upload
projectName: 'Nebula Finance',
logo: 'https://res.cloudinary.com/danuy5rqb/image/upload/v1759431246/boundless/projects/logos/jfc5v0l6xec0bdhmliet.png',
logoUrl:
'https://res.cloudinary.com/danuy5rqb/image/upload/v1759431246/boundless/projects/logos/jfc5v0l6xec0bdhmliet.png', // Sample uploaded logo URL
'https://res.cloudinary.com/danuy5rqb/image/upload/v1759431246/boundless/projects/logos/jfc5v0l6xec0bdhmliet.png',
vision:
'Building the future of decentralized finance with innovative yield farming strategies and automated market making.',
'Nebula Finance is redefining decentralized finance with real-time, cross-chain yield aggregation and AI-driven investment strategies for both retail and institutional users.',
category: 'DeFi & Finance',
githubUrl: 'https://github.com/example/defi-protocol',
websiteUrl: 'https://defi-protocol.example.com',
demoVideoUrl: 'https://youtube.com/watch?v=example',
githubUrl: 'https://github.com/nebula-finance/nebula-protocol',
websiteUrl: 'https://nebula.finance',
demoVideoUrl: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
socialLinks: [
'https://twitter.com/defi_protocol',
'https://discord.gg/defi-protocol',
'https://t.me/defi_protocol',
'https://twitter.com/nebula_defi',
'https://discord.gg/nebula-finance',
'https://t.me/nebula_defi',
'https://linkedin.com/company/nebula-finance',
],
},
details: {
vision: `# DeFi Protocol Vision

## Overview
We are building a revolutionary DeFi protocol that combines yield farming, automated market making, and cross-chain interoperability to create the most efficient and user-friendly decentralized finance platform.

## Key Features
- **Automated Yield Farming**: AI-powered strategies that automatically optimize yield across multiple protocols
- **Cross-Chain Support**: Seamless asset transfers between Ethereum, Polygon, and BSC
- **Liquidity Mining**: Innovative token distribution mechanism that rewards long-term holders
- **Risk Management**: Advanced risk assessment tools and insurance integration

## Technology Stack
- Solidity smart contracts
- React frontend with Web3 integration
- Node.js backend services
- IPFS for decentralized storage

## Roadmap
Our development is structured in clear phases with measurable milestones and community-driven governance.`,
vision: `# Nebula Finance Vision

## Overview
Nebula Finance is a next-generation DeFi protocol that enables users to earn optimized yields across multiple blockchains without needing to actively manage assets.

## Core Features
- **AI Yield Optimization**: Machine-learning models analyze yield opportunities in real-time to rebalance portfolios.
- **Cross-Chain Aggregation**: Unified interface and smart routing across Ethereum, Arbitrum, Optimism, and BNB Chain.
- **Decentralized Governance**: Token holders influence strategy, emissions, and protocol upgrades.
- **Institutional Features**: Compliance-ready APIs, whitelisting options, and secure custody integrations.

## Technology Stack
- Smart Contracts: Solidity + Vyper
- Frontend: React + TypeScript + Wagmi
- Backend: Node.js, PostgreSQL
- Data Indexing: The Graph
- Storage: IPFS & Arweave

## Roadmap
- **Q1 2026**: Smart contract audit and testnet launch
- **Q2 2026**: Mainnet launch with ETH, ARB, and OP integrations
- **Q3 2026**: Cross-chain dashboard and partner integrations
- **Q4 2026**: Governance activation and community treasury`,
},
milestones: {
fundingAmount: '50000',
fundingAmount: '250000', // More realistic for a serious DeFi project
milestones: [
{
id: 'milestone-1',
title: 'Smart Contract Development',
title: 'Protocol Architecture & Smart Contracts',
description:
'Develop and audit core smart contracts for yield farming and automated market making. This includes the main protocol contracts, token contracts, and governance mechanisms.',
startDate: '2026-02-01',
endDate: '2026-04-30',
'Design core protocol architecture and write smart contracts for vaults, rebalancing, and governance. Engage auditors from Certik or OpenZeppelin.',
startDate: '2026-01-10',
endDate: '2026-03-30',
},
{
id: 'milestone-2',
title: 'Frontend Development',
title: 'UI/UX Development',
description:
'Build a user-friendly web interface for interacting with the protocol. This includes dashboard, yield farming interface, and portfolio management tools.',
startDate: '2026-05-01',
endDate: '2026-06-30',
'Design and develop the frontend interface with wallet integrations (MetaMask, WalletConnect) and support for multi-chain data display.',
startDate: '2026-04-01',
endDate: '2026-05-31',
},
{
id: 'milestone-3',
title: 'Security Audit & Testing',
title: 'Security Audits & Launch',
description:
'Conduct comprehensive security audits, penetration testing, and bug bounty programs to ensure the protocol is secure and ready for mainnet launch.',
startDate: '2026-07-01',
endDate: '2026-08-31',
'Conduct security audits, final integration tests, and launch the protocol on Ethereum and Arbitrum. Begin initial liquidity mining campaign.',
startDate: '2026-06-01',
endDate: '2026-07-31',
},
],
},
team: {
members: [
{
id: 'member-1',
email: 'john@example.com',
email: 'alice@nebula.finance',
},
{
id: 'member-2',
email: 'jane@example.com',
email: 'michael@nebula.finance',
},
{
id: 'member-3',
email: 'linda@nebula.finance',
},
],
},
contact: {
telegram: 'alice_dev',
telegram: 'nebula_support',
backupType: 'discord',
backupContact: 'alice_dev#1234',
backupContact: 'nebula_admin#0420',
agreeToTerms: true,
agreeToPrivacy: true,
},
Expand Down Expand Up @@ -696,13 +705,13 @@ Our development is structured in clear phases with measurable milestones and com
<div
ref={contentRef}
className={cn(
'min-h-[calc(55vh)] px-4 transition-opacity duration-100 md:px-[50px] lg:px-[75px] xl:px-[150px]',
flowStep === 'confirming' ||
isSigningTransaction ||
(flowStep === 'signing' &&
unsignedTransaction &&
!isSigningTransaction),
'flex h-full items-center justify-center'
'min-h-[calc(55vh)] px-4 transition-opacity duration-100 md:px-[50px] lg:px-[75px] xl:px-[150px]'
// flowStep === 'confirming' ||
// isSigningTransaction ||
// (flowStep === 'signing' &&
// unsignedTransaction &&
// !isSigningTransaction),
// 'flex h-full items-center justify-center'
)}
>
{flowStep !== 'form' ? (
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<svg id="Discord-Logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 126.644 96"><path id="Discord-Symbol-Black" d="M81.15,0c-1.2376,2.1973-2.3489,4.4704-3.3591,6.794-9.5975-1.4396-19.3718-1.4396-28.9945,0-.985-2.3236-2.1216-4.5967-3.3591-6.794-9.0166,1.5407-17.8059,4.2431-26.1405,8.0568C2.779,32.5304-1.6914,56.3725.5312,79.8863c9.6732,7.1476,20.5083,12.603,32.0505,16.0884,2.6014-3.4854,4.8998-7.1981,6.8698-11.0623-3.738-1.3891-7.3497-3.1318-10.8098-5.1523.9092-.6567,1.7932-1.3386,2.6519-1.9953,20.281,9.547,43.7696,9.547,64.0758,0,.8587.7072,1.7427,1.3891,2.6519,1.9953-3.4601,2.0457-7.0718,3.7632-10.835,5.1776,1.97,3.8642,4.2683,7.5769,6.8698,11.0623,11.5419-3.4854,22.3769-8.9156,32.0509-16.0631,2.626-27.2771-4.496-50.9172-18.817-71.8548C98.9811,4.2684,90.1918,1.5659,81.1752.0505l-.0252-.0505ZM42.2802,65.4144c-6.2383,0-11.4159-5.6575-11.4159-12.6535s4.9755-12.6788,11.3907-12.6788,11.5169,5.708,11.4159,12.6788c-.101,6.9708-5.026,12.6535-11.3907,12.6535ZM84.3576,65.4144c-6.2637,0-11.3907-5.6575-11.3907-12.6535s4.9755-12.6788,11.3907-12.6788,11.4917,5.708,11.3906,12.6788c-.101,6.9708-5.026,12.6535-11.3906,12.6535Z"/></svg>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<svg id="Discord-Logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 126.644 96"><defs><style>.cls-1{fill:#5865f2;}</style></defs><path id="Discord-Symbol-Blurple" class="cls-1" d="M81.15,0c-1.2376,2.1973-2.3489,4.4704-3.3591,6.794-9.5975-1.4396-19.3718-1.4396-28.9945,0-.985-2.3236-2.1216-4.5967-3.3591-6.794-9.0166,1.5407-17.8059,4.2431-26.1405,8.0568C2.779,32.5304-1.6914,56.3725.5312,79.8863c9.6732,7.1476,20.5083,12.603,32.0505,16.0884,2.6014-3.4854,4.8998-7.1981,6.8698-11.0623-3.738-1.3891-7.3497-3.1318-10.8098-5.1523.9092-.6567,1.7932-1.3386,2.6519-1.9953,20.281,9.547,43.7696,9.547,64.0758,0,.8587.7072,1.7427,1.3891,2.6519,1.9953-3.4601,2.0457-7.0718,3.7632-10.835,5.1776,1.97,3.8642,4.2683,7.5769,6.8698,11.0623,11.5419-3.4854,22.3769-8.9156,32.0509-16.0631,2.626-27.2771-4.496-50.9172-18.817-71.8548C98.9811,4.2684,90.1918,1.5659,81.1752.0505l-.0252-.0505ZM42.2802,65.4144c-6.2383,0-11.4159-5.6575-11.4159-12.6535s4.9755-12.6788,11.3907-12.6788,11.5169,5.708,11.4159,12.6788c-.101,6.9708-5.026,12.6535-11.3907,12.6535ZM84.3576,65.4144c-6.2637,0-11.3907-5.6575-11.3907-12.6535s4.9755-12.6788,11.3907-12.6788,11.4917,5.708,11.3906,12.6788c-.101,6.9708-5.026,12.6535-11.3906,12.6535Z"/></svg>
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export function ProjectSidebarActions({

{projectStatus === 'funding' ||
projectStatus === 'Validated' ||
projectStatus === 'campaigning' || (
(projectStatus === 'campaigning' && (
<BoundlessButton
onClick={handleFundClick}
className='flex h-12 flex-1 items-center justify-center gap-2 rounded-lg bg-[#A7F950] text-base font-semibold text-black shadow-lg transition-all duration-200 hover:bg-[#A7F950] hover:shadow-xl'
Expand All @@ -76,7 +76,7 @@ export function ProjectSidebarActions({
>
<span className=''>Back Project</span>
</BoundlessButton>
)}
))}

{projectStatus === 'Completed' && (
<BoundlessButton
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export function ProjectSidebarProgress({
const renderProgressSection = () => {
switch (projectStatus) {
case 'Funding':
case 'campaigning':
return (
<div className='space-y-3'>
<div className='flex items-center justify-between text-sm'>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 -28.5 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
<g>
<path d="M216.856339,16.5966031 C200.285002,8.84328665 182.566144,3.2084988 164.041564,0 C161.766523,4.11318106 159.108624,9.64549908 157.276099,14.0464379 C137.583995,11.0849896 118.072967,11.0849896 98.7430163,14.0464379 C96.9108417,9.64549908 94.1925838,4.11318106 91.8971895,0 C73.3526068,3.2084988 55.6133949,8.86399117 39.0420583,16.6376612 C5.61752293,67.146514 -3.4433191,116.400813 1.08711069,164.955721 C23.2560196,181.510915 44.7403634,191.567697 65.8621325,198.148576 C71.0772151,190.971126 75.7283628,183.341335 79.7352139,175.300261 C72.104019,172.400575 64.7949724,168.822202 57.8887866,164.667963 C59.7209612,163.310589 61.5131304,161.891452 63.2445898,160.431257 C105.36741,180.133187 151.134928,180.133187 192.754523,160.431257 C194.506336,161.891452 196.298154,163.310589 198.110326,164.667963 C191.183787,168.842556 183.854737,172.420929 176.223542,175.320965 C180.230393,183.341335 184.861538,190.991831 190.096624,198.16893 C211.238746,191.588051 232.743023,181.531619 254.911949,164.955721 C260.227747,108.668201 245.831087,59.8662432 216.856339,16.5966031 Z M85.4738752,135.09489 C72.8290281,135.09489 62.4592217,123.290155 62.4592217,108.914901 C62.4592217,94.5396472 72.607595,82.7145587 85.4738752,82.7145587 C98.3405064,82.7145587 108.709962,94.5189427 108.488529,108.914901 C108.508531,123.290155 98.3405064,135.09489 85.4738752,135.09489 Z M170.525237,135.09489 C157.88039,135.09489 147.510584,123.290155 147.510584,108.914901 C147.510584,94.5396472 157.658606,82.7145587 170.525237,82.7145587 C183.391518,82.7145587 193.761324,94.5189427 193.539891,108.914901 C193.539891,123.290155 183.391518,135.09489 170.525237,135.09489 Z" fill="#5865F2" fill-rule="nonzero">
</path>
</g>
</svg>
Expand Down
Loading