Store
A plugin store with featured picks, search, permission details, and install flows.
Usage
Plugin store
Installs, updates, and grants happen only after you click; Unit Converter fails its first download to show Retry.
Loading demo...
Overview
The plugin store in the Tuff client; manifests and permissions come from the repo, ratings, installs, and reviews are sample data, and nothing is for sale.
- Installing, updating, granting, and uninstalling start only from your click; playback just turns the carousel once and reports updates, and reduced motion keeps the carousel still.
- The carousel art is dark on both light and dark docs pages, so the whole carousel renders in the dark theme.
- Install opens the permission dialog at once (the client downloads and verifies first): Always allow, Allow this session, or Reject install; community plugins add an unofficial-source warning.
- A download can be cancelled; Unit Converter times out on its first download, and Retry doesn't ask for permissions again.
- In the column, details replace the list, and Back or Esc restores the scroll position; expanded, they are a side panel. They avoid TxDrawer, which would drag focus back and close two layers on one Esc.
- Hidden carousel slides are
inert, and nothing is announced while it plays; with focus inside it, ← / → change slides. - Risk colors and icons always come with words; read-only stars are hidden from screen readers in favor of a sentence.
Customization
- With a real store, read plugins, channels, permissions, and reasons from the manifests and the store API, and group by the store's own
category. - The install table is keyed by plugin id: replace the timers with the phases the client reports, and every action slot follows.
- Put ratings and reviews through moderation: show a submission as Pending and count it only once approved.
- For suggestions with icons, replace TxSearchSelect with TxSearchInput and a hand-built list, and write the combobox keyboard and screen-reader behavior yourself.
Related components
| Region | Components | Role |
|---|---|---|
| Header | TxFilterChips, TxSearchSelect | View switch and search suggestions |
| Categories and sorting | TxFilterChips, TxFlatRadio, TxSidebarNav | Category counts and sorting |
| Featured carousel | Hand-built region, TxButton | Hand-built carousel with controls |
| Plugin cards | TxCard, TxIconChip, TxRating, TxTag | Icon, summary, rating, channel |
| Action slot | TxButton, TxProgressBar | One shared install state |
| Updates notice | TxStatusBadge | Shown after an update check |
| Details header | TxCornerOverlay, TxTooltip, TxDropdownMenu | Official badge and the ⋯ menu |
| Details tabs | TxTabs, TxImageGallery, TxKbd, TxStatusBadge, TxTimeline | Overview, permissions, versions, reviews |
| Reviews | TxRating, TxProgressBar, TxAvatar, TxTextarea | Average, distribution, write a review |
| Installed | TxCardItem, TxSwitch, TxEmptyState | Installed rows and enable switches |
| Confirmations | TxModal | Permission, update, uninstall prompts |
| Empty results and feedback | TxSearchEmpty, TxToastPanel | Clear search and result notices |