Quickstart - Get started with commenting in AG Grid using Liveblocks and Next.js
Liveblocks is a realtime collaboration infrastructure for building performant
collaborative experiences. Follow the following steps to start adding a
commenting experience to your Next.js /app directory application using the
hooks from @liveblocks/react and the
components from
@liveblocks/react-ui.
Quickstart
Install Liveblocks
Every package should use the same version.
TerminalInitialize the
liveblocks.config.tsfileWe can use this file later to define types for our application.
TerminalDefine thread metadata
Inside the new
liveblocks.config.tsfile, define the metadata shape for threads. Metadata is used to attach comment threads to table cells.liveblocks.config.tsImport default styles
The default components come with default styles, you can import them into the root layout of your app or directly into a CSS file with
@import.app/layout.tsxCreate a Liveblocks room
Liveblocks uses the concept of rooms, separate virtual spaces where people collaborate, and to create a realtime experience, multiple users must be connected to the same room. When using Next.js’
/approuter, we recommend creating your room in aRoom.tsxfile in the same directory as your current route.Set up a Liveblocks client with
LiveblocksProvider, join a room withRoomProvider, and useClientSideSuspenseto add a loading spinner to your app.app/Room.tsxCreate thread context for your table
Use React context to set up cells and thread state for your table with
useThreads, allowing cells to retrieve their comments.app/CellThreadContext.tsxCreate a custom comment cell
Create a custom cell renderer for your table that displays comment buttons alongside cell values using
FloatingComposer,FloatingThread, and the context we created. Clicking the buttons opens popovers for creating or viewing comment threads.app/CommentCell.tsxUse Liveblocks hooks and components with AG Grid
Set up AG Grid with
AgGridProvider, and add your customCellThreadProvidercontext. Import yourCommentCellcomponent intodefaultColDef, and replace the table data with your own. Learn more on the AG Grid website.app/CollaborativeApp.tsxAdd the Liveblocks room to your page
Import your room into your
page.tsxfile, and place your collaborative app components inside it.app/page.tsxNext: authenticate and add your users
Comments is set up and working now inside AG Grid, but each user is anonymous—the next step is to authenticate each user as they connect, and attach their name and avatar to their comments.
Add your users to Comments
What to read next
Congratulations! You’ve set up the foundation to start building a commenting experience for your Next.js application.