{% extends 'admin/base.html.twig' %} {% block title %}Mon offre - {{ site.name }}{% endblock %} {% block breadcrumb %}Tableau de bord Mon offre & widgets{% endblock %} {# Page « Mon abonnement » : ce que l'offre du site inclut, ce qu'elle n'inclut pas, et le catalogue complet des widgets par formule. Variables : site, subscription, plan, plans (formules actives), impact (PlanChangeImpact::current). #} {% set limits = get_plan_limits(site) %} {% block body %}

Mon offre & mes widgets

Site : {{ site.name }}

Changer d'offre
{# Widgets posés mais non rendus : l'alerte vient en premier, c'est ce qui coûte au site #} {% if impact.widgetCount > 0 or impact.modules is not empty %} {% endif %}
{# Colonne gauche : la formule #}
{{ plan.name }}
{% if plan.isFeatured %}Populaire{% endif %}

{% if plan.isFree %}Gratuit{% else %}{{ plan.priceMonthly }} €/mois{% endif %}

{% if not plan.isFree %}

{% if subscription.billingInterval == 'yearly' %}Facturé {{ plan.priceYearly }} €/an{% else %}ou {{ plan.priceYearly }} €/an{% endif %} · statut : {{ subscription.status }} {% if subscription.currentPeriodEnd %}· jusqu'au {{ subscription.currentPeriodEnd|date('d/m/Y') }}{% endif %}

{% endif %}
Limites
  • {% if limits.pages.unlimited %}Pages illimitées{% else %}{{ limits.pages.current }} / {{ limits.pages.limit }} pages{% endif %}
  • {{ limits.storage.currentMB }} MB / {{ limits.storage.limitMB >= 1024 ? (limits.storage.limitMB / 1024)|round(0) ~ ' GB' : limits.storage.limitMB ~ ' MB' }}
  • {{ plan.maxUsers > 1 ? 'Jusqu\'à ' ~ plan.maxUsers ~ ' utilisateurs' : '1 utilisateur' }}
Modules
{% set modules = [ {label: 'Blog', on: plan.hasBlog}, {label: 'Galeries', on: plan.hasGallery}, {label: 'Formulaire de contact', on: plan.hasContactForm}, {label: 'Newsletter & livre d\'or', on: plan.hasAllWidgets}, {label: 'Boutique en ligne', on: plan.hasEcommerce}, {label: 'Chatbot IA', on: plan.hasChatbot}, {label: 'Génération IA', on: plan.aiGeneration}, {label: 'Google Analytics', on: plan.hasGoogleAnalytics}, {label: 'Domaine personnalisé', on: plan.customDomain}, {label: 'Sans signature Izibrick', on: plan.removeWatermark}, {label: 'Sans publicité', on: not plan.hasAds}, ] %}
    {% for m in modules %}
  • {{ m.label }}
  • {% endfor %}
{# Colonne droite : les widgets #}
{{ widget_count_for_plan(plan) }} widgets sur {{ widget_counts().total }} avec {{ plan.name }}
{% set nextTier = plan.hasAllWidgets ? (plan.hasEcommerce ? null : 'pro') : 'essential' %} {% set nextPlan = nextTier ? plan_for_tier(nextTier) : null %} {% if nextPlan and nextPlan.id != plan.id %}

Passer à {{ nextPlan.name }} débloque {{ widget_count_for_plan(nextPlan) - widget_count_for_plan(plan) }} widget{{ (widget_count_for_plan(nextPlan) - widget_count_for_plan(plan)) > 1 ? 's' : '' }} de plus. Voir les formules

{% else %}

Votre offre inclut tous les widgets de l'éditeur.

{% endif %} {% include 'admin/_widgets-catalog.html.twig' with {'plans': plans, 'highlight': plan} %}
{% endblock %}