Analytics scope:
@if (identityId === null) {
Pick an identity above to see analytics.
}

📈 Hashtag trends

@if (hashtagLoading) {
}
@if (hashtagError) {
{{ hashtagError }}
} @if (!hashtagLoading && hashtagRows.length === 0 && !hashtagError) {
No hashtags in this window yet — download more history from Admin.
} @if (hashtagRows.length > 0) {
{{ hashtagMaxStacked }} 0 @for (s of hashtagSeries; track s.tag) { @for (p of s.points; track $index) { {{ s.tag }} — {{ p.bucket }}: {{ p.count }} } } @for (a of hashtagAxisLabels; track $index) { {{ a.label }} }
@for (row of filteredHashtagTableRows; track row.tag) { }
Tag @if (hashtagSortCol === 'tag') { {{ hashtagSortDir === 'asc' ? '▲' : '▼' }} } Total @if (hashtagSortCol === 'total') { {{ hashtagSortDir === 'asc' ? '▲' : '▼' }} }
{{ row.total }}
}

🔍 Content regex search

@if (searchLoading) {
}
@if (searchError) {
{{ searchError }}
} @if (searchSubmitted && !searchLoading && !searchError && searchResults.length === 0) {
No matches.
} @if (searchResults.length > 0) {
@for (row of searchResults; track trackByPostId($index, row)) {
@{{ row.author_acct }} {{ relativeTime(row.created_at) }}
}
}

🗓️ Posting heatmap

@if (heatmapLoading) {
}
@if (typeaheadSuggestions.length > 0) {
@for (a of typeaheadSuggestions; track a.acct) { }
}
@if (heatmapError) {
{{ heatmapError }}
} @if (!heatmapLoading && heatmapCells.length === 0 && !heatmapError) {
No post activity for this scope.
} @if (heatmapCells.length > 0) { }

🔁 Top reposters

@if (repostersLoading) {
}
@if (repostersError) {
{{ repostersError }}
} @if (!repostersLoading && repostersRows.length === 0 && !repostersError) {
No repost activity in this window yet.
} @if (repostersRows.length > 0) { @for (row of repostersSorted; track trackByAcct($index, row); let i = $index) { }
# @handle Current @if (repostersSortCol === 'current') { {{ repostersSortDir === 'asc' ? '▲' : '▼' }} } Prior @if (repostersSortCol === 'prior') { {{ repostersSortDir === 'asc' ? '▲' : '▼' }} } Δ @if (repostersSortCol === 'delta') { {{ repostersSortDir === 'asc' ? '▲' : '▼' }} }
{{ i + 1 }} {{ row.current }} {{ row.prior }} {{ deltaSymbol(row.delta) }} {{ row.delta >= 0 ? '+' : '' }}{{ row.delta }}
}

🔔 Notification trends

@if (notifLoading) {
}
@if (notifError) {
{{ notifError }}
} @if ( !notifLoading && notifData && notifData.by_type.length === 0 && notifData.by_actor.length === 0 && !notifError ) {
No notifications in this window yet.
} @if (notifData && (notifData.by_type.length > 0 || notifData.by_actor.length > 0)) {
Notifications per {{ bucket }}
{{ notifMaxStack }} 0 @for (seg of notifSegments; track $index) { {{ seg.type }} — {{ seg.bucket }}: {{ seg.count }} } @for (a of notifAxisLabels; track $index) { {{ a.label }} }
@for (t of notifTypes; track t) {
{{ t }}
}
Top actors
@for (row of notifData.by_actor.slice(0, 25); track trackByAcct($index, row)) { }
@handle Count
{{ row.count }}
}