shadcn.io is not affiliated with official shadcn/ui
Social Media Task List Block for Radix UI
A queue of six posts for three channels in time order, with an editor beside it that shows a live character count against the channel limit, a fixed set of time slots and a Schedule button that says why it is closed.
Installation
Overview
Write a post to fit its channel and give it a time, with this social media to-do list block for React with Radix UI. The queue lists six posts in time order, scheduled ones first and drafts after, each with a two-letter channel tile and its status. Choosing one opens it in the editor: a Textarea with a live count against the channel's limit ("104 of 280", or "Over by 9"), a Native Select of fixed time slots, and a Shine Button that stays closed, and says why, while the text is empty or over the limit or no time is chosen. Scheduling moves the post into the queue at its time, and Move to drafts takes it back. Nothing is ever posted. Guides rule the frame and the split between queue and editor. For makers, small studios and anyone who writes for more than one channel.
FAQ
Where do the limits come from?
Each channel in the data has a character limit: 280 for short notes, 3,000 for essays and 2,200 for stories. The count is the trimmed text length against the limit of the post's channel, and the same post would read differently on another channel.
Why is Schedule never disabled?
It is marked unavailable but stays focusable, so pressing it can explain itself: "Write the post first", "Over the limit: shorten the post" or "Choose a time". A disabled button would give a keyboard or screen reader user no reason.
When does the count get announced?
Only when the post crosses its limit, in either direction, so typing doesn't chatter. The visible count updates on every key.
When does the queue re-order?
When you press Schedule or Move to drafts, not while you type, so a row never moves under your pointer. Scheduled posts sort by their slot and drafts keep their order.