Skip to content
Yuva roadmapMenu

Yuva roadmap

A public roadmap board: stage tabs with counts, ideas by top votes with vote buttons, the idea view with replies, and Suggest an idea with similar ideas.

Roadmap

The preview runs on sample data. It needs no network and no channel.

Installation

Run this in a shadcn project. The files are copied into your own code.

Shell
npx shadcn@latest add https://useyuva.com/r/yuva-roadmap.json

Usage

tsx
import { YuvaRoadmap } from "@/components/yuva-roadmap"

<YuvaRoadmap server={server} channel={channel} />

Props

YuvaRoadmapProps

PropType
server?string
channel?string
identityToken?IdentityTokenSource | null
client?YuvaClient
defaultStage?YuvaRoadmapStage
labels?Partial<YuvaRoadmapLabels>
discussionLabels?Partial<YuvaDiscussionsLabels>
locale?string
className?string

YuvaRoadmapListProps

PropType
stage?YuvaRoadmapStage
onStageChange?(stage: YuvaRoadmapStage) => void
onSelect(idea: Discussion) => void
onSuggest?() => void
labels?Partial<YuvaRoadmapLabels>
discussionLabels?Partial<YuvaDiscussionsLabels>
className?string

Labels

Every label has an English default. Pass a partial labels object to change or translate them.

LabelDefault
heading"Roadmap"
stageIdeas"Ideas"
stagePlanned"Planned"
stageInProgress"In progress"
stageShipped"Shipped"
stageClosed"Closed"
suggest"Suggest an idea"
suggestHeading"Suggest an idea"
suggestTitlePlaceholder"Your idea in a few words"
suggestBodyPlaceholder"Describe it. What do you need, and why? Markdown works."
sendIdea"Send idea"
similarIdeas"Similar ideas"
ideaSent"Thanks! Your idea is on the board."
ideaPending"Thanks! The team will review your idea before it is shown."
votingClosed"Voting is closed for this idea."
empty"Nothing here yet."
vote(title) => `Vote for ${title}`
removeVote(title) => `Remove your vote for ${title}`
votes(count) => (count === 1 ? "1 vote" : `${count} votes`)
back"Roadmap"

Dependencies

Installing this item also adds the following.

Components from shadcn/ui

Other Yuva items

npm packages