The agent asks, and the answers are already there
When an agent needs a decision it can list the answers to, it offers them as rows under the reply that asked. One answer is a tap. Several are ticked and sent together. A short set is asked one question at a time. Once answered, the rows stay where they were, the pick marked and the rest dimmed, so the conversation keeps a record of what was chosen and what was on offer.
One answer
The tap is the answer. Something else opens a field in place of the last row, for the answer the list missed.
Choose one
Several answers
A question that takes several makes each row a toggle, marked with an empty checkbox to say so before anything is picked, where a one-answer question shows a radio. Send waits for the first pick, and a cap holds the rest once it is reached.
Choose one or more
A set of questions
A short set of questions, asked one at a time with a count beside the heading and a way back. A one-answer question moves on as soon as it is answered; the last one waits for Send, so a slip can still be taken back. The digits pick by position. Sent, the set folds to each question over its answer.
Which framework?
1 of 3Choose one
When the moment passes
If the conversation moves on without an answer, the card stays on screen, dimmed and inert, with a line saying it was not answered. A skipped card says that instead.
Not answered
// From the npm package
import { QuestionCard } from 'rift-ds/components/QuestionCard/QuestionCard';
// Or as source you own, via the shadcn CLI
npx shadcn@latest add https://rift-ds.com/r/question-card.json