clay
banner
clay.codes
clay
@clay.codes
Here to discuss ts, rb, remix 💿, and rails https://next.clay.codes
@github.com could learn from tools like Graphite: commit-level approvals, stacked diffs, and atomic merges.

The commit viewer in a PR could evolve into atomic PRs—with CI and the ability to ship each one.

But to truly mimic stacked branches, you’d need commit grouping.
May 22, 2025 at 5:14 AM
Reposted by clay
@nerdy.dev's scroll driven animation examples are a lot of fun!

I love how the `scroll-y-top` animation turned out in this table!
February 9, 2025 at 4:03 AM
Reposted by clay
I wish people would post more links to interesting things

I feel like Twitter and LinkedIn and Instagram and TikTok have pushed a lot of people out of the habit of doing that, by penalizing shared links in the various "algorithms"

Bluesky doesn't have that misfeature, thankfully!
December 22, 2024 at 12:40 AM
Reposted by clay
You are underutilizing View Transitions.

They can be used for so much more than animations on navigation.

I recently added a ton of life to a card game I'm making with just a couple lines of code via view transitions. Check it out!

youtu.be/jnYjIDKyKHw
View Transitions Are More Powerful Than You Think
YouTube video by Syntax
youtu.be
December 19, 2024 at 4:28 PM
Reposted by clay
There's a linter to enforce this: eslint-react.xyz/docs/rules/h...

The whole eslint-react series of rules is great, as it builds the rules based on recommendations from the new react docs 🎉
eslint-react
ESLint React - A series of composable ESLint plugins for libraries and frameworks that use React as a UI runtime.
eslint-react.xyz
November 23, 2024 at 6:36 PM
Reposted by clay
React Router v7 is here!

With framework mode, everything that made Remix great is now built into React Router.

remix.run/blog/react-r...
React Router v7
React Router v7 brings all the great things you love from Remix back to React Router
remix.run
November 22, 2024 at 10:28 PM
Reposted by clay
don’t useEffect, but if you must, don’t call setState in it
November 23, 2024 at 4:20 PM
For react-router to remix migrators, I find it’s not immediately obvious the loader is a context that happens to be tied to a route.

useContext could be replaced by useLoaderData or useOutletContext depending on the use case.

Still finding a pattern on shared components.
November 16, 2024 at 2:11 PM