Admin

@if (!status?.connected) {

You are not connected to Mastodon.

} @if (status?.connected) {

Cache Sync

Refreshes cached follows/followers, recent home timeline activity, notifications, and your own recent posts for the connected identity.
Status: Connected
Last Sync: {{ status?.last_sync | date: 'medium' }}

Own Account Archive

Fetches your full Mastodon posting history from your own account and stores it in the cache for static blog generation. This can take a while on older accounts.
@if (ownAccountError) {
{{ ownAccountError }}
} @if (ownAccountMessage) {
{{ ownAccountMessage }}
}

Catch-Up

@if (catchupError) {
{{ catchupError }}
}
@if (!catchupStatus?.running) { } @if (catchupStatus?.running) { }
@if (catchupStatus) {
{{ catchupStatus.running ? 'Running' : 'Finished' }} — {{ catchupStatus.mode }} {{ catchupStatus.done }}/{{ catchupStatus.total }} accounts
@if (catchupStatus.current_acct) {
Processing: {{ catchupStatus.current_acct }}
}
@if (catchupStatus.errors > 0) { {{ catchupStatus.errors }} errors } @if (catchupStatus.rate_limited) { Rate limited — backing off } Started: {{ catchupStatus.started_at | date: 'shortTime' }} @if (catchupStatus.finished_at) { Finished: {{ catchupStatus.finished_at | date: 'shortTime' }} }
} @if (catchupQueue && catchupQueue.queue.length > 0) {

Priority Queue (first {{ catchupQueue.queue.length }})

@for (entry of catchupQueue.queue; track entry.acct; let i = $index) {
{{ i + 1 }} {{ entry.display_name || entry.acct }} @{{ entry.acct }} @if (entry.is_followed_by) { mutual } @if (entry.last_status_at) { {{ entry.last_status_at | date: 'mediumDate' }} }
}
} @if (catchupQueue && catchupQueue.queue.length === 0) {
No accounts in the catch-up queue.
}

Content Hub Bundles

@if (bundlesError) {
{{ bundlesError }}
} @if (editState) {

{{ editState.bundleId === null ? 'New Bundle' : 'Edit Bundle' }}

Terms
@for (term of editState.terms; track $index; let i = $index) {
} @if (editState.terms.length === 0) {
No terms yet — add at least one hashtag or search query.
}
@if (editState.error) {
{{ editState.error }}
}
} @if (bundlesLoading) {
Loading...
} @if (!bundlesLoading && bundles.length === 0 && !editState) {
No bundles yet. Create one or sync your server-side followed hashtags.
} @for (bundle of bundles; track bundle.id) {
{{ bundle.name }} @if (bundle.source_type === 'server_follow') { server follow } @else { bundle }
@for (term of bundle.terms; track term.id) { {{ termTypeLabel(term) }} {{ term.term }} } @if (bundle.terms.length === 0) { No terms }
@if (bundle.last_fetched_at) {
Last fetched: {{ bundle.last_fetched_at | date: 'short' }}
}
@if (!bundle.is_read_only) {
}
}
}