-
Notifications
You must be signed in to change notification settings - Fork 4
Next 16 upgrades, various bug fixes, and code cleanup #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This is in preparation for switching to Convex
Migrate to new flat config for eslint, and fix all lint warnings/errors
…maller that the viewport
…he viewport size This fixes the version list sidebar height not correctly adapting to the horizontal scrollbar. Also uses `useSyncExternalStore` for proper synchronization with React state.
Switching between the themed images is now done using pure CSS instead of JS. This has the benefit of allowing the component to be a server component, but always embeds both versions of the image
…ions easier to read
|
@vdvman1 is attempting to deploy a commit to the vdvman1's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
vdvman1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately for now it is difficult to convert our webpack config to turbopack, since turbopack doesn't seem to support the checks we're doing for inlining vs using a url. We can figure that out later, it isn't important as we can just continue to use webpack
Upgraded to Next.JS 16 and eslint 9 with it's flat config. Along the way I cleaned up a bunch of the code, removing everything involving potential databases, and removed TRPC since we aren't using it.
I was also able to fix the calculations of the viewport height, turns out the resize observer and the window resize event both don't trigger for the horizontal scrollbar appearing or disappearing. Thankfully there's a newer API called the visual viewport API, which is baseline widely available, and has the exact resize event behaviour we need. I also made sure to properly use
useSyncExternalStoreinstead ofuseEffect+setState, in preparation for the react compiler.This also fixes an issue where the themed logos on the home page were showing a skeleton when first loading, as the theme can't be tested for in JS until after mounting. The switching is now handled by CSS.
I've also started using ts-pattern to make complex condition checking easier to read