Repository navigation
feat(cards): send builder and project cards to the main app - #425
Conversation
|
@abimbolaalabi is attempting to deploy a commit to the Threadflow Team on Vercel. A member of the Team first needs to authorize it. |
|
@abimbolaalabi 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! 🚀 |
|
Thanks @abimbolaalabi , the links look right. I checked builder and project cards, same-tab navigation, encoding, and the unlinked cases. One change before merge: please drop unoptimized from the project logo Image. Production logos are all on the Cloudinary path next.config.ts already allows, and without the optimizer a 24px logo downloads the original file (one real logo is 1.2 MB raw vs 654 bytes optimized). While you’re there, consider using Avatar size='xs' for the logo so a dead logo URL falls back to initials, and set the alt to the project title instead of org. |
|
@0xdevcollins
|
Overview
This PR sends the builder and project cards to their public detail pages in the main Boundless app instead of the dead
/builders/<username>and/projects/<slug>routes on this showcase. It adds one shared URL helper for every outbound card link and replaces the placeholder project logo with the project's real logo or initials.Related Issue
Closes #401
Changes
Main app URL helper
[ADD]
lib/main-app.tsmainAppUrl(path)builds an absolute URL fromsiteConfig.parentUrl.profileUrl(username)andprojectUrl(slug)encode the path segment.[MODIFY]
components/landing/to-builder-card.ts[MODIFY]
components/discover/to-builder-directory-card.ts[MODIFY]
components/discover/to-project-card.ts[MODIFY]
components/cards/opportunity-card.tsxlogo, falling back toderiveInitials(title)when it is missing.[MODIFY]
components/cards/types.tslogofield and makesdetailUrloptional for unlinked cards.[DELETE]
public/brand/test.pngVerification Results
Headless browser checks against the stage API:
Screenshots
Landing page builder cards:
Projects page card with initials fallback:
/and on/buildersopensboundlessfi.xyz/profile/<username>/opensboundlessfi.xyz/projects/<slug>/projects/builders/<username>or/projects/<slug>path on this appsiteConfig.parentUrllib/main-app.tstest.pngnpm run lint,npx tsc --noEmit, andnpm run buildpass