@let checked = toggleQuery.isEnabled$(plugin?.id) | async; @let currentPlugin = marketplaceQuery.plugin$ | async; @let isSelected = currentPlugin?.id === plugin?.id; @let installing = installationQuery.installing$(plugin?.id) | async; @let uninstalling = installationQuery.uninstalling$(plugin?.id) | async; @let installed = installationQuery.installed$(plugin?.id) | async; @let disabled = installing || uninstalling; @let showProgress = disabled; @let editing = marketplaceQuery.updating$(plugin?.id) | async; @let subscription = plugin?.subscriptions?.[0]; @if(plugin) {
{{ plugin.name }}
@if(plugin.isVerified) { } @if(plugin.version?.signature) { }
v{{ plugin.version?.number || '1.0.0' }} @if(plugin.author) { {{ 'PLUGIN.BY' | translate }} {{ plugin.author }} } {{ plugin.downloadCount | number }} {{ 'PLUGIN.DOWNLOADS' | translate }}
@if(!plugin.hasPlan) { }
{{ plugin.description || ('PLUGIN.NO_DESCRIPTION' | translate) }}
@if(plugin.category; as category) {
} @if(plugin.tags?.length) {
@for(tag of plugin.tags.slice(0, 5); track tag.id) { } @if(plugin.tags.length > 5) { {{ 'PLUGIN.MORE_TAGS' | translate : { count: plugin.tags.length - 5 } }} }
} @if(subscription) {
{{ subscription.plan?.name || (subscription.plan?.type | titlecase) }}
@if(subscription.plan?.price > 0) {
{{ subscription.plan?.price | currency : subscription.plan?.currency }} /{{ subscription.plan?.billingPeriod?.toLowerCase() }}
}
@if(subscription.trialEndDate) { {{ 'PLUGIN.TRIAL' | translate }} }
}
{{ 'PLUGIN.UPDATED' | translate }} {{ plugin.updatedAt | date : 'short' }}
@if(plugin.license) {
{{ 'PLUGIN.LICENSE' | translate }} {{ plugin.license }}
} @if(plugin.version?.releaseDate) {
{{ 'PLUGIN.RELEASED' | translate }} {{ plugin.version.releaseDate | date : 'short' }}
}
@if(isOwner) { @if(plugin.hasPlan && subscription?.scope !== 'user') { } }
@if(showProgress) {
{{ installing ? ('PLUGIN.INSTALLING' | translate) : ('PLUGIN.UNINSTALLING' | translate) }}
} @else {
@if(plugin.hasPlan && !installed) {
{{ 'PLUGIN.SUBSCRIPTION_REQUIRED' | translate }}
} @else if(!plugin.hasPlan && !installed) {
{{ 'PLUGIN.FREE' | translate }}
}
@if(installed) { {{ 'PLUGIN.INSTALL_LABEL.INSTALLED' | translate }} } @else if(plugin.hasPlan) { {{ 'PLUGIN.INSTALL_LABEL.SUBSCRIBE' | translate }} } @else { {{ 'PLUGIN.INSTALL_LABEL.INSTALL' | translate }} } @if(!isDesktopApp() && !installed) { }
}
}