ai_upgrade_assistant-0.2.0-alpha2/templates/upgrade-path.html.twig

templates/upgrade-path.html.twig
{#
/**
 * @file
 * Default theme implementation to display an upgrade path.
 *
 * Available variables:
 * - module: The module name.
 * - path: The upgrade path data.
 */
#}
<div class="upgrade-path-wrapper">
  <div class="upgrade-path-header">
    <h2>{{ 'Upgrade Path for @module'|t({'@module': module}) }}</h2>
    <div class="upgrade-path-summary">
      <div class="version-info">
        <span class="current-version">{{ 'Current Version:'|t }} {{ path.current_version }}</span>
        <span class="target-version">{{ 'Target Version:'|t }} {{ path.target_version }}</span>
      </div>
      <div class="path-meta">
        <div class="confidence-score">
          {{ 'Confidence Score:'|t }} {{ (path.metadata.confidence_score * 100)|round }}%
        </div>
        <div class="estimated-effort">
          {{ 'Estimated Effort:'|t }} {{ path.estimated_effort }} {{ 'points'|t }}
        </div>
      </div>
    </div>
  </div>

  <div class="upgrade-path-navigation">
    <ul class="nav nav-tabs">
      <li class="nav-item">
        <a href="#steps" class="nav-link active" data-toggle="tab">{{ 'Steps'|t }}</a>
      </li>
      <li class="nav-item">
        <a href="#risks" class="nav-link" data-toggle="tab">{{ 'Risks'|t }}</a>
      </li>
      <li class="nav-item">
        <a href="#dependencies" class="nav-link" data-toggle="tab">{{ 'Dependencies'|t }}</a>
      </li>
    </ul>
  </div>

  <div class="tab-content">
    <div id="steps" class="tab-pane active">
      <div class="upgrade-steps">
        {% for step in path.steps %}
          <div class="upgrade-step {{ step.type }}" data-step-id="{{ step.id }}">
            <div class="step-header">
              <span class="step-type">{{ step.type|replace({'_': ' '})|title }}</span>
              {% if step.automated %}
                <span class="badge badge-success">{{ 'Automated'|t }}</span>
              {% endif %}
              {% if step.confidence %}
                <span class="confidence-indicator" title="{{ 'Confidence: @score%'|t({'@score': (step.confidence * 100)|round}) }}">
                  {{ (step.confidence * 100)|round }}%
                </span>
              {% endif %}
            </div>
            <div class="step-content">
              <h4>{{ step.description }}</h4>
              {% if step.details %}
                <div class="step-details">{{ step.details }}</div>
              {% endif %}
            </div>
            <div class="step-actions">
              <a href="{{ path('ai_upgrade_assistant.upgrade_path_step', {'module': module, 'step': step.id}) }}" class="button">
                {{ 'View Details'|t }}
              </a>
            </div>
          </div>
        {% endfor %}
      </div>
    </div>

    <div id="risks" class="tab-pane">
      <div class="risk-assessment">
        {% for risk in path.risks %}
          <div class="risk-item risk-{{ risk.level }}">
            <div class="risk-header">
              <span class="risk-level">{{ risk.level|title }}</span>
              <span class="risk-effort">{{ 'Effort:'|t }} {{ risk.effort }}</span>
            </div>
            <div class="risk-content">
              <h4>{{ risk.step }}</h4>
              {% if risk.mitigation %}
                <div class="risk-mitigation">
                  <h5>{{ 'Mitigation Steps:'|t }}</h5>
                  <ul>
                    {% for step in risk.mitigation %}
                      <li>{{ step }}</li>
                    {% endfor %}
                  </ul>
                </div>
              {% endif %}
            </div>
          </div>
        {% endfor %}
      </div>
    </div>

    <div id="dependencies" class="tab-pane">
      <div class="dependencies-overview">
        {% if path.dependencies.required %}
          <div class="required-dependencies">
            <h3>{{ 'Required Dependencies'|t }}</h3>
            <ul>
              {% for dep in path.dependencies.required %}
                <li>
                  {{ dep.name }}
                  {% if dep.constraint %}
                    <span class="version-constraint">({{ dep.constraint }})</span>
                  {% endif %}
                </li>
              {% endfor %}
            </ul>
          </div>
        {% endif %}

        {% if path.dependencies.optional %}
          <div class="optional-dependencies">
            <h3>{{ 'Optional Dependencies'|t }}</h3>
            <ul>
              {% for dep in path.dependencies.optional %}
                <li>
                  {{ dep.name }}
                  {% if dep.constraint %}
                    <span class="version-constraint">({{ dep.constraint }})</span>
                  {% endif %}
                </li>
              {% endfor %}
            </ul>
          </div>
        {% endif %}
      </div>
    </div>
  </div>

  <div class="upgrade-path-actions">
    <a href="{{ path('ai_upgrade_assistant.upgrade_path_interactive', {'module': module}) }}" class="button button--primary">
      {{ 'Interactive View'|t }}
    </a>
    <div class="dropdown">
      <button class="button dropdown-toggle" type="button" id="exportDropdown" data-toggle="dropdown">
        {{ 'Export'|t }}
      </button>
      <div class="dropdown-menu" aria-labelledby="exportDropdown">
        <a class="dropdown-item" href="{{ path('ai_upgrade_assistant.upgrade_path_export', {'module': module, 'format': 'json'}) }}">
          {{ 'JSON'|t }}
        </a>
        <a class="dropdown-item" href="{{ path('ai_upgrade_assistant.upgrade_path_export', {'module': module, 'format': 'html'}) }}">
          {{ 'HTML Report'|t }}
        </a>
      </div>
    </div>
  </div>
</div>

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc