Enhance project details screen with contributors and roadmap features…#470
Open
TheDEV111 wants to merge 5 commits intoPulsefy:mainfrom
Open
Enhance project details screen with contributors and roadmap features…#470TheDEV111 wants to merge 5 commits intoPulsefy:mainfrom
TheDEV111 wants to merge 5 commits intoPulsefy:mainfrom
Conversation
added 2 commits
March 25, 2026 14:18
…; update layout and add new dependencies
|
@TheDEV111 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Author
|
@Cedarich review pls |
Author
|
@Cedarich awaiting your review |
Contributor
|
Please share a screenshot of implementation |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(mobile): create project detail screen — closes #419
Summary
Implements the
ProjectDetailScreendeep-dive view for ecosystem crowdfunding projects, reachable by tapping any project card on the Projects tab. The screen shows the project's description, animated funding progress, roadmap milestones, recent contributors, and a pinned Contribute CTA — all backed by live on-chain data from the Soroban Vault.Changes
[id].tsx — full rewrite
expo-image(contentFit="cover", 300ms crossfade transition). Falls back to a deterministic brand-colour placeholder with a large watermark initial when noimageUrlis provided. ALinearGradientoverlay renders the project title and an Active / Closed live-dot badge on top of the image.Animated.spring(useNativeDriver: false) to spring from 0 → actual % on data load, accurately reflecting the underlying Soroban Vault balance.description.GET /crowdfund/projects/:id/roadmap.GET /crowdfund/projects/:id/contributors.getProject,getContributors,getRoadmap) run in parallel viaPromise.allSettled— contributor/roadmap failures degrade gracefully without breaking the screen._layout.tsx
headerShown: falseon the[id]screen to enable the full-bleed hero banner.crowdfund.ts
descriptionandimageUrlfields toCrowdfundProject.RoadmapMilestoneinterface (id,title,description,status,targetDate).ContributorSummaryinterface (contributor,totalAmount,lastContributionAt).crowdfundApi.getContributors(projectId)—GET /crowdfund/projects/:id/contributors.crowdfundApi.getRoadmap(projectId)—GET /crowdfund/projects/:id/roadmap.package.json
expo-image ^55.0.6andexpo-linear-gradient ^55.0.9(both were already present as transitive Expo SDK 54 deps; now declared explicitly).Mobile-wide formatting
'→') in portfolio.tsx (react/no-unescaped-entities).Testing
npx tsc --noEmit(mobile)npm run lint(mobile)npm test(backend)Manual verification checklist:
fetchAll)imageUrlis present; placeholder renders correctly when absentisActive: false