Inside an InfoPanel

The motivating use case — payout calculation

Weight & payout calculation
TierMult changeRatioCurrentDraft
New1x → 1xx10 MMK0 MMK
Rising1.5x → 1.5xx16,695 MMK6,695 MMK
Established2.5x → 2.5xx112,950 MMK12,950 MMK
Star4x → 4xx1163,800 MMK163,800 MMK

Tier totals also include pass-through earnings from non-pool sources, so a tier's draft total may not equal its current total times the ratio exactly.

<InfoPanel Title="Weight & payout calculation" Style="dropdown"> <ChildContent> <InfoTable TItem="TierRow" Items="tiers" Columns="payoutColumns" Caption="Tier totals also include pass-through earnings..." /> </ChildContent> </InfoPanel>

Inside a FormSection

Drops into a FormSection body unchanged

Tier breakdown

Read-only summary of the current weighting.

TierMult changeRatioCurrentDraft
New1x → 1xx10 MMK0 MMK
Rising1.5x → 1.5xx16,695 MMK6,695 MMK
Established2.5x → 2.5xx112,950 MMK12,950 MMK
Star4x → 4xx1163,800 MMK163,800 MMK
<FormSection Title="Tier breakdown" Description="Read-only summary."> <InfoTable TItem="TierRow" Items="tiers" Columns="payoutColumns" /> </FormSection>

Standalone — bordered with its own header

Bordered adds a card frame; Title renders an in-frame header

Weight & payout calculation

Effective from the next payout cycle.

TierMult changeRatioCurrentDraft
New1x → 1xx10 MMK0 MMK
Rising1.5x → 1.5xx16,695 MMK6,695 MMK
Established2.5x → 2.5xx112,950 MMK12,950 MMK
Star4x → 4xx1163,800 MMK163,800 MMK
<InfoTable TItem="TierRow" Items="tiers" Columns="payoutColumns" Bordered="true" Title="Weight & payout calculation" Description="Effective from the next payout cycle." />

Compact density & row hover

Compact tightens row padding; Hoverable tints rows on hover

Compact

TierMult changeRatioCurrentDraft
New1x → 1xx10 MMK0 MMK
Rising1.5x → 1.5xx16,695 MMK6,695 MMK
Established2.5x → 2.5xx112,950 MMK12,950 MMK
Star4x → 4xx1163,800 MMK163,800 MMK

Hoverable

TierMult changeRatioCurrentDraft
New1x → 1xx10 MMK0 MMK
Rising1.5x → 1.5xx16,695 MMK6,695 MMK
Established2.5x → 2.5xx112,950 MMK12,950 MMK
Star4x → 4xx1163,800 MMK163,800 MMK
<InfoTable TItem="TierRow" Items="tiers" Columns="payoutColumns" Bordered="true" Compact="true" /> <InfoTable TItem="TierRow" Items="tiers" Columns="payoutColumns" Bordered="true" Hoverable="true" />

Emphasized total row

EmphasizeRow marks a row bold with a tint + top border

TierMult changeRatioCurrentDraft
New1x → 1xx10 MMK0 MMK
Rising1.5x → 1.5xx16,695 MMK6,695 MMK
Established2.5x → 2.5xx112,950 MMK12,950 MMK
Star4x → 4xx1163,800 MMK163,800 MMK
Total183,445 MMK183,445 MMK
<InfoTable TItem="TierRow" Items="tiersWithTotal" Columns="payoutColumns" Bordered="true" EmphasizeRow="@(r => r.IsTotal)" />

Rich cells with a column Template

A column can render arbitrary markup via Template

TierMult changeCurrent
New 1x 1x 0 MMK
Rising 1.5x 1.5x 6,695 MMK
Established 2.5x 2.5x 12,950 MMK
Star 4x 4x 163,800 MMK
new InfoTable<TierRow>.Column { Title = "Mult change", Template = r => @<text> <span>@r.MultFrom</span> &rarr; <strong>@r.MultTo</strong> </text> };

Headerless (key-value summary)

ShowHeader=&quot;false&quot; drops the &lt;thead&gt; — useful for label/value tables inside an InfoPanel

Vital signs
Blood pressure120 / 80 mmHg
Heart rate72 bpm
Temperature36.8 °C
SpO₂98 %
Respiration16 / min
public record VitalRow(string Label, string Value); private readonly List<VitalRow> vitals = new() { new("Blood pressure", "120 / 80 mmHg"), new("Heart rate", "72 bpm"), new("Temperature", "36.8 °C"), }; private List<InfoTable<VitalRow>.Column> cols = new() { new() { Title = "Label", Value = r => r.Label, Width = "40%" }, new() { Title = "Value", Align = "end", Value = r => r.Value }, }; <InfoPanel Title="Vital signs" Style="dropdown"> <ChildContent> <InfoTable TItem="VitalRow" Items="vitals" Columns="cols" ShowHeader="false" /> </ChildContent> </InfoPanel>

Empty state

When Items is empty, EmptyText renders in place of rows

TierMult changeRatioCurrentDraft
No tiers configured yet.
<InfoTable TItem="TierRow" Items="noTiers" Columns="payoutColumns" Bordered="true" EmptyText="No tiers configured yet." />
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.