* feat(board): persist category collapse state in localStorage for guests Authenticated users already had their collapse state saved server-side. This extends the same behaviour to unauthenticated (guest) users by reading/writing localStorage keyed by section ID. On mount, if the user is a guest, the stored value is applied to the disclosure. On toggle, guests write to localStorage instead of calling the protected API mutation. Closes #3355 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor: set localStorage value as useDisclosure default instead of useEffect Replaces the useEffect that read localStorage after mount with a direct initial value computation passed to useDisclosure. Removes the effect, the open/close destructuring, and the useEffect import. Note: initialCollapsed is computed during render rather than post-mount, which may cause a hydration mismatch on SSR if localStorage differs from the server-provided section.collapsed. The typeof window guard handles the SSR case. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Create T3 App
This is a T3 Stack project bootstrapped with create-t3-app.
What's next? How do I make an app with this?
We try to keep this project as simple as possible, so you can start with just the scaffolding we set up for you, and add additional things later when they become necessary.
If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our Discord and ask for help.
Learn More
To learn more about the T3 Stack, take a look at the following resources:
- Documentation
- Learn the T3 Stack — Check out these awesome tutorials
You can check out the create-t3-app GitHub repository — your feedback and contributions are welcome!
How do I deploy this?
Follow our deployment guides for Vercel and Docker for more information.