app/views/workflows/index.html.erb
<div class="container">
<h2 class="title">Workflows</h2>
<% if Settings.workflows.present? && Settings.workflows.size > 0 %>
<% Settings.workflows.each_with_index do |workflow, i| %>
<% if i % 2 == 0 %>
<div class="columns">
<% end %>
<div class="column is-half">
<h3 class="title is-5"><%= workflow[:name] %></h3>
<div class="timeline">
<header class="timeline-header">
<span class="tag is-medium is-primary">Start</span>
</header>
<% workflow[:steps].each_with_index do |step, j| %>
<div class="timeline-item">
<div class="timeline-marker is-primary"></div>
<div class="timeline-content">
<p class="heading">STEP <%= j + 1 %></p>
<div class="card">
<div class="card-content">
<p class="has-text-right"><%= type_tag(step[:type]).html_safe %></p>
<div class="media">
<div class="media-content">
<p class="title is-4"><%= step[:repository] %></p>
<p class="subtitle is-6"><%= step[:branch] %></p>
</div>
</div>
<dl class="subtitle">
<dt>Cluster</dt>
<dd><%= step[:cluster] %></dd>
<dt>Resources</dt>
<dd>
<% step[:resources].each_with_index do |resource, k| %>
<%= resource %>
<% unless step[:resources].size == k + 1 %>
<i class="fa-solid fa-caret-right"></i>
<% end %>
<% end %>
</dd>
</dl>
</div>
</div>
</div>
</div>
<% end %>
<header class="timeline-header">
<span class="tag is-medium is-primary">End</span>
</header>
</div>
</div>
<% if i % 2 == 1 %>
</div>
<% end %>
<% end %>
<% else %>
<p>No data found.</p>
<% end %>
</div>