shadcn.io is not affiliated with official shadcn/ui
Expiring Feedback Comments Block for Svelte
A five-day retro feedback round with a day-count ring, a Pretend it's control that reaches the deadline, a form that closes with its reason, an Archived list and an Extend by 2 days move that reopens it.
Installation
Overview
Give feedback a last day, with this expiring feedback block for Svelte with Ark UI. A compact header names the round in Cutoffley, a tool for retro feedback rounds, and holds a Pretend it's Segment Group (Day 1, Day 3, Day 5, After), because the page never reads a clock. The frame opens with two cells on a shared hairline: a Circular Progress ring that counts the days left from a typed start and end (3 of 5 days remaining, Closes Fri 16 Oct at 17:00) with an outline Extend by 2 days Button, and the form, a Textarea with a problem line that is always in place and the one Shine Button. On the last day it says Closes today at 17:00; after the deadline the box is disabled with its reason, the Send feedback button answers with that reason instead of sending, and the entries below are headed Archived feedback. Extend by 2 days reopens the round. The entries sit in a labelled scroll region that keeps its height. It is built from Segment Group, Circular Progress, Textarea, Shine Button, Button, Badge and Guides, with CSS only. For retros, surveys, review rounds and any feedback with a deadline.
FAQ
How do I change the round and the entries?
Edit ROUND (days in the round), START (the entries, each with the day it was written) and the PRETENDS list. The date of a day is worked out from a fixed start, Mon 12 Oct, so dateText(5) is Fri 16 Oct. Days left are total - day + 1, so the last day shows one day left and the day after shows none. EXTEND is the length of the admin extension.
Why a Pretend it's control instead of a live clock?
So the demo shows the same thing every time and can be tested: a page that read the clock would be open or closed depending on the day you visit. Day 3 is the page's own now, Wed 14 Oct. In your app compare the deadline with the server's time, and refuse a late post on the server as well, since a disabled box is not a rule.
What happens when the round is closed?
The ring reads Closed, the box is disabled and a line with a lock icon says when it closed and that an admin can extend it. Send feedback stays on screen and keeps its place; pressing it says the round is closed instead of doing nothing. The entries stay readable under Archived feedback and each carries an Archived badge. Entries written on a later day than the pretended one are not shown, so moving back to Day 1 shows only what existed then.
What stays local?
Everything: nothing is sent, the entries are a list in the page and Extend by 2 days only changes the typed end date. To make it real, store the deadline on the round, check it when an entry arrives, and make extending an admin-only action that is logged. The button is shown to everyone here to keep the demo to one screen.