Skip to content

Widgets

A widget is a complete, pre-assembled block of timer screen content: the countdown with its blinds and player count, a payout list, a knockout leaderboard. Instead of building one cell at a time, you drop a widget in and it arrives fully styled and already wired to live tournament data.

Open the gallery from edit mode: tap a + button where you want the block to land, then choose Widget.

The Widgets gallery, a two-column grid of live previews — High hand and Chip leaders showing real data, an orange Color up! banner, a Rebuy countdown, the full Timer block, and one card showing a crossed-out eye with an info button

Thirteen widgets ship with the app. Most of them hide themselves until the tournament actually has something to show, so it’s safe to add them at any point — a Payouts widget added before anyone has bought in simply stays invisible until money comes in.

WidgetShowsAppears when
KnockoutsThe top five players by knockouts, with their totalsSomeone has been eliminated
BountiesThe top ten bounty winners and their winningsThe tournament uses bounty chips and someone has won one
PointsThe final standings — the top ten finishers and the points each earnedThe tournament has finished
PayoutsThe prize list — place, player, and amount, in three aligned columnsMoney has been collected
High handWho holds the current high hand, the hand’s name, and its cardsA high hand has been recorded
Chip leadersThe top three active players by stack, with their totalsA player has reported a chip count and the tournament is still running
Color up!Which chip denominations to take off the table, drawn as the chips themselvesIt’s a break and the blinds have outgrown a chip since the last break
Rebuy countdownHow much of the rebuy period is leftRebuys are on, a rebuy period is set, and the tournament is under way
TimerThe full default block — tournament title, level title and subtitle, the countdown clock, a Color up! banner, and the next three widgets nested inside itUntil the tournament finishes
Blinds and antesThe small and big blind for the current level, plus any anteThe level has a blind or an ante
Next level and breakWhat’s coming next — the next blinds, or the length of the next break, and how long until the break after thatThere is a level after the current one
Player count, etc.Players remaining out of the total, average stack, and big blinds in playThere are chips in play
Current timeThe time of dayAlways

Payouts, bounties, and knockouts follow the same data the Payouts, Bounties, and Managing players screens use, so they update as you run the tournament.

The default timer layout is built from these: a Rebuy countdown, a Timer, a Points, and a High hand in one column, a Payouts, a Knockouts, and a Chip leaders in another. The Payouts screen layout is a Points, a Payouts, and a Bounties side by side.

Because those conditions are opposites, the screen changes character when the last player is knocked out — see When the tournament finishes.

The Points widget is the final standings: everyone who finished, winner first, with the points each earned in two aligned columns. It lists the top ten and marks a longer field with a trailing ”…”.

A finished tournament's timer screen: a grey-bordered Points panel listing ten finishers with their scores, beside the green Payouts and blue Knockouts panels and a red High hand panel

The scores come from the Player points formula on the Stats screen — the same formula that feeds the Club stats leaderboard. Whatever scoring your league uses, the widget shows it. There is nothing to configure and nothing to keep in sync: change the formula and the widget follows.

It waits for the tournament to be over, because until then the numbers would keep moving. A player scores nothing until they have a finishing place, so mid-game the list would grow as players bust. Worse, a rebuy clears that player’s place and shifts everyone else’s up, which would retract points already on the screen. Once the last player is knocked out, every place is settled and the winner joins the list.

To watch the standings build instead, waiting for the rebuy period to close is safer than dropping the gate outright:

!rebuysOpen && playersEliminated.count > 0

Once rebuys are closed, no place can be taken back, so the scores only ever grow. Put that condition in all four places: on the block, and on each of the three content items inside it (see A widget can be gated twice). If the tournament has no rebuy end level, rebuysOpen never turns false, so use playersEliminated.count > 0 on its own.

Points is part of the default layout and of the Payouts screen, so a tournament you haven’t customized shows the standings on its own when it ends. If you have customized your layout, it’s kept as you built it — add Points from the gallery wherever you want it.

Any text you write can read the same values: p.points gives a player’s score under your formula. See Tournament data.

The Chip leaders widget is driven by the counts players report themselves. When players connect to a shared tournament and report their current chips (see Player profile updates), the app tracks each active player’s latest count and lists the top three by stack — names and totals in two aligned columns, most chips first, like the Knockouts widget. When a fourth player is tied with the third shown, a trailing ”…” marks that the leaderboard doesn’t stop there.

As the blinds climb, the smallest chips stop being needed — nobody makes change for a 25 when the small blind is 500. The Color up! widget watches for that and, at each break, names the denominations that became retirable since the previous break: a compact orange banner reading Color up! followed by the chips themselves, drawn as your actual chip images.

The timer's break block: the tournament title Aces 1, then a compact orange Color up! banner showing the 1 chip drawn as a chip, above the word Break and a 10:00 countdown

It only shows the chips coming off the table. Which chip they turn into is deliberately left out — people read that second chip as also being removed.

A chip is only suggested once. If the 25s became unnecessary at the first break, the second break doesn’t mention them again — it names whatever has become retirable since. And a chip is never suggested while any blind, ante, or bring-in from the current level onward still needs it.

The banner is part of the default Timer block, so a new tournament gets it during breaks without you doing anything. It’s also in the gallery on its own, for layouts you’ve built yourself.

It’s driven by the colorUpChips value — see Tournament data. Any text you write can show chips too: type a chip’s value followed by an s (25s, 1,000s) in a content item and the timer draws the chip in place of the text.

Set Rebuys end after in Settings and this widget appears on the timer for the rest of the rebuy period, then disappears on its own when the period closes. It counts the break that follows the last rebuy level as part of the period, so it keeps running through the break where rebuys and add-ons are usually taken.

What it says depends on the clock. While the timer is running it counts down — “Rebuys end in 32:00!” A remaining time means nothing while the timer is stopped, so when you pause it switches to naming the deadline instead: “Rebuys end after Level 3!”

That’s two content items, rebuy countdown and rebuy countdown paused, stacked in one cell with opposite conditions — so only one is ever showing. Edit either one to reword it; see Content.

Nothing about the “appears when” column is hard-coded — each built-in widget carries an ordinary condition that you can read, edit, or remove after inserting it. Select the widget’s outermost cell in edit mode and open Condition:

WidgetCondition
KnockoutsplayersEliminated.count > 0
BountiesuseBountyChips && players.where(func(p) { p.bountyChipWinnings > 0 }).count > 0
PointsisPostgame
PayoutstotalCollected > 0
High handhasHighHand
Chip leaderschipLeaders.isNotEmpty && !isPostgame
Timer!isPostgame
Color up!isBreakLevel && colorUpChips.isNotEmpty
Rebuy countdownrebuysAllowed && secondsUntilRebuysEnd > 0 && isInGame && !isPregameLevel
Blinds and antescurrentLevel.bigBlind > 0 || currentLevel.ante > 0
Next level and breaklevelIndex + 1 < levels.length
Player count, etc.totalChipsInPlay > 0

Current time has no condition, which is why it always shows.

The block’s condition is not always the only one in play. Several widgets also carry a condition on the content inside them, and a block whose items are all hidden renders nothing at all. Change the outer condition on one of these and it can stay invisible, because the content is still holding it back:

WidgetContent itemsTheir condition
Pointspoints title, points names, points totalsisPostgame
High handhigh hand title, high handhasHighHand
Chip leaderschip leader title, chip leader names, chip leader totalschipLeaders.isNotEmpty
Color up!color up title, color upsisBreakLevel && colorUpChips.isNotEmpty
Rebuy countdownrebuy countdown, rebuy countdown pausedthe widget’s condition, plus isTimerRunning on the first and !isTimerRunning on the second

To reach them, select a text cell in the block and open Content: the highlighted item has an Edit button, and Manage content at the top right lists them all. Every other built-in widget leaves its content unconditional, so the outer condition is the only gate.

The ⓘ on a hidden gallery card names whichever condition is the one still blocking, which is the quickest way to tell the two apart. See Why a widget looks empty.

Knock out the last player and the timer screen turns into a results board. Nothing is switched off manually; the widgets simply have opposite conditions, and isPostgame flips the moment the tournament has a winner.

Away go the things that describe a game in progress:

  • the Timer block, and with it the tournament title, the clock, the blinds, the next level, and the player count
  • Chip leaders, since there are no stacks left to lead
  • the chip images and the table diagrams along the edge of the screen

In their place, Points appears beside the results that were already there — Payouts, Knockouts, and the High hand.

The chips and tables are the one part that isn’t a widget condition, so it works a little differently: hiding them is only the default. A view that asks for them explicitly still gets them, which is why the Seating view keeps showing the winner’s table rather than going blank. See After the tournament ends.

Every part of this is yours to change. Delete !isPostgame from the Timer block’s condition and the clock stays up after the game. Points takes one step more, because its three content items carry isPostgame too: clear it there as well and it shows the standings as they build, moving numbers and all. See A widget can be gated twice.

Every card in the gallery is a live preview, rendered against your tournament as it stands right now — not a stock picture. That’s useful, but it means a widget with nothing to say looks blank.

When that happens the card shows a crossed-out eye and an ⓘ button (its tooltip reads Currently hidden). Tap it and the app explains why, in plain terms:

  • The condition ”…” is currently false. — the widget’s own condition, or the condition on the content inside it, isn’t met yet
  • ”…” currently has no value. — the content resolves, but produces no text
  • Missing variable ”…”. — a text cell points at a content item that no longer exists
  • The widget has no content. — an empty row or column
The Currently hidden dialog explaining that widgets reflect the current tournament state, and naming the bounty condition that is currently false

An empty card is almost never a problem. Add the widget anyway; it will fill in when the tournament reaches it.

Once you’ve built a block you like, select its outermost cell and tap Save as widget. Give it a name and it joins the gallery alongside the built-ins, ready to drop into any tournament.

Saved widgets are stored with your account, so when you’re signed in they follow you to all your devices.

Any custom content the widget uses travels with it. Inserting the widget into another tournament brings those content items along — skipping any name that tournament already has, so your existing content is never overwritten.

Sort and Edit appear in the gallery’s app bar once you’ve saved at least one widget.

  • Sort orders the whole gallery by Modified or Name, and the choice sticks between sessions. Built-in widgets share a single fixed modified date, so sorting by Modified keeps them together and floats your own work to the top.
  • Edit puts a Rename and a Delete button on each of your saved widgets. Deleting asks for confirmation. Built-in widgets can’t be renamed or deleted, so if you want your own version of one, insert it, adjust it, and save the result under a new name.
The gallery in Edit mode: the user's own saved widgets each carry a pencil and a red trash button, while the built-in Knockouts and Payouts cards have none

While Edit is on, tapping a card no longer inserts it. Tap Done to go back to inserting.