/sessions crashes for mentees with a completed session (onClick in a server component)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- next.js, tailwindcss, typescript
- Domain
- frontend
Research direction
Start in src/app/(platform)/sessions/page.tsx and inspect how SessionRow renders the card link and the Rebook link for completed mentee sessions. Use a stretched card link with Rebook as a sibling link above it, removing the event handler. Done when the page renders for the described mentee and the links are not nested.
Written by the indexing model from the issue text.
Description
Found while verifying #160.
src/app/(platform)/sessions/page.tsx is a server component. For a mentee with a completed session whose mentor has a profile, SessionRow renders a "Rebook" <Link> with onClick={(e) => e.stopPropagation()}. Event handlers can't be passed to client components from a server component, so rendering throws:
Error: Event handlers cannot be passed to Client Component props.
<... href=... onClick={function onClick} className=... children=...>
and the page fails for that user. The Rebook link is also nested inside the row's own <Link> — an <a> inside an <a>, which is invalid HTML.
Fix: keep the whole card clickable with a stretched link (one <Link> whose ::after covers the card) and make Rebook a sibling link layered above it — no nesting, no handler.
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 6
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 23
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from grasshopper-protocol/grsshppr
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
grasshopper-protocol/grsshppr#164 ·
Maintainers usually reply within 1 day
-
code quality security
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
grasshopper-protocol/grsshppr#141 ·
Maintainers usually reply within 1 day
-
Add tests for utils.ts cn() functionPossibly taken @yogesh201sits claimed this 5 days ago. Opengood first issue testing
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
grasshopper-protocol/grsshppr#81 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
code quality documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
grasshopper-protocol/grsshppr#78 ·
Maintainers usually reply within 1 day
-
a11y documentation good first issue UI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
grasshopper-protocol/grsshppr#77 ·
Maintainers usually reply within 1 day
All issues in grasshopper-protocol/grsshppr
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Merit-Systems/x402scan#1312 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Native Web
Difficulty 1/5 Under an hour Newbie friendliness 80/100
digitalfabrik/integreat-app#4517 ·
Maintainers usually reply within 2 days
-
TLS guide repeats certs/ in the certificate directoryPossibly taken @maheshrijal claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
prometheus/docs#3156 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
medusajs/dtc-starter#90 ·
Maintainers usually reply within 1 day