feat: implement public profile copy link button#269
Conversation
|
@YashKrTripathi is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Thanks for your first PR on DevTrack! 🎉
A maintainer will review it within 48 hours. While you wait:
- Make sure CI is passing (type-check + lint)
- Double-check the PR description is filled out and the issue is linked
- Feel free to ask questions in Discussions if you need help
|
Two concerns: 1. Conflicting — 2. Caching strategy change needs separation — changing Please split this into two PRs:
The |
|
Okay will do it asap 👍 @Priyanshu-byte-coder |
c65aeec to
486f271
Compare
Hi! As requested, I have split this pull request into two separate PRs:
Please review and merge this PR (#269) and label it with the |
Priyanshu-byte-coder
left a comment
There was a problem hiding this comment.
Correct placement (public profile page, not dashboard header) and window.location.href correctly copies the profile URL. CSS vars throughout.
Minor: once --success is defined in globals.css (via an upcoming PR), change text-green-500 on 'Copied!' to text-[var(--success)] for theme consistency. Not blocking.
35dc719
into
Priyanshu-byte-coder:main
Summary
This PR resolves the issue regarding the missing share mechanism on the public profile page. It introduces a Copy link button in the page header of the
/u/[username]public profile page, allowing users to easily share their profile URL.Additionally, this PR includes critical bug fixes to the metrics API endpoints and database schema to resolve
502 Bad Gatewayand500 Internal Server Errorissues affecting the dashboard and public profile visibility.Changes Made
CopyLinkButton.tsxas a client component featuringnavigator.clipboard.writeText(window.location.href).<CopyLinkButton />intosrc/app/u/[username]/page.tsxnext to the username header.✓ Copied!) for 2 seconds upon successful copy.502 Bad GatewayGitHub rate limits by replacingcache: "no-store"withnext: { revalidate: 3600 }across all metrics API routes.supabase/schema.sqlto include the missingis_public boolean default falsecolumn for theuserstable.Acceptance Criteria
navigator.clipboard.writeText(window.location.href)✓ Copied!for 2 secondsaria-label="Copy profile link"'use client'component