{{ managerTitle() }}

{{ managerDescription() }}

@switch (activeTab()) { @case ('extensions') {
@for (item of extensionCountItems(); track item.label) {

{{ item.label }}

{{ item.value }}

}

{{ 'plugins.manager.conflicts.title' | translate }}

@if (uiConflicts().length === 0) {

{{ 'plugins.manager.conflicts.none' | translate }}

} @else {
@for (conflict of uiConflicts(); track conflict.kind + conflict.contributionId) {
{{ conflict.kind }} / {{ conflict.contributionId }} {{ 'plugins.manager.conflicts.conflictsIn' | translate: { plugins: conflict.pluginIds.join(', ') } }}
}
}
} @case ('requirements') {
@if (requirementComparisons().length === 0) {

{{ 'plugins.manager.requirements.empty' | translate }}

} @else { @for (comparison of requirementComparisons(); track comparison.pluginId) {

{{ comparison.installed?.title ?? comparison.pluginId }}

{{ comparison.pluginId }}

{{ comparison.status }}
@if (comparison.requirement) {

{{ 'plugins.manager.requirements.serverStatus' | translate: { status: comparison.requirement.status } }}

@if (comparison.requirement.versionRange) {

{{ 'plugins.manager.requirements.versionRange' | translate: { range: comparison.requirement.versionRange } }}

} @if (comparison.requirement.reason) {

{{ comparison.requirement.reason }}

} }
} }
} @case ('settings') {
@for (entry of entries(); track trackEntry($index, entry)) { }
@if (selectedPlugin(); as plugin) {

{{ plugin.manifest.title }} {{ 'plugins.manager.settings.settingsSuffix' | translate }}

@if (selectedSettingsPages().length > 0) {
@for (page of selectedSettingsPages(); track page.id) {

{{ page.contribution.label }}

}
} @if (selectedSettingsSchema()) {
{{ selectedSettingsSchema() | json }}
} @else {

{{ 'plugins.manager.settings.noSchema' | translate }}

} }
} @case ('docs') {
@for (entry of entries(); track trackEntry($index, entry)) { }
@if (selectedPlugin(); as plugin) {

{{ plugin.manifest.title }}

{{ plugin.manifest.description }}

@for (doc of selectedDocs(); track doc.label) { {{ doc.label }} }
{{ plugin.manifest | json }}
}
} @case ('logs') {
@if (!selectedPlugin()) {

{{ 'plugins.manager.logs.noPlugins' | translate }}

} @else {
@for (entry of entries(); track trackEntry($index, entry)) { }
@if (selectedLogs().length === 0) {

{{ 'plugins.manager.logs.noLogs' | translate }}

} @else { @for (log of selectedLogs(); track log.timestamp) {
{{ log.level }} {{ log.timestamp | date: 'short' }}

{{ log.message }}

} }
}
} @default {
@if (entries().length === 0) {

{{ emptyTitle() }}

{{ emptyBody() }}

} @else { @for (entry of entries(); track trackEntry($index, entry)) {

{{ entry.manifest.title }}

{{ entry.state }} v{{ entry.manifest.version }}

{{ entry.manifest.description }}

{{ entry.manifest.id }}

@if (entry.error) {

{{ entry.error }}

}
} }
} }