identity-vault/app/views/backend/programs/index.html.erb
nora 7d04469701
[Backend] UI2. (#67)
* first srcl pass!

* HOLY MFIN KBAR

* first last search

* put the borders back

* button!

* oops

* toolbar!

* lol

* bump dreamland, make kbar actually reactive?

* shorter timeout lol

* identity picker component

* nuke that lol

* seen_hints

* woah

* hint sys pt 1

* HINTS

* HINTS AND SHORTCUTS

* styles, BACKSPACE

* nav on home

* bananananana

* click, starring adam sandler

* scrool

* lint pass

* autoed complete

* shut

* brake the man

* dunno why those got unmerged

* path oopsie

* backspace on audit logs

* whitespace

* i thought i told you to shut up

* mr. brakeman
2025-12-03 01:17:37 -05:00

45 lines
1.4 KiB
Text

<div class="grid">
<%= render Components::Backend::Card.new(title: "oauth programs") do %>
<div class="table-container">
<table>
<thead>
<tr>
<th>name</th>
<th>owner</th>
<th>scopes</th>
<th>users</th>
<th>active</th>
</tr>
</thead>
<tbody>
<% @programs.each do |program| %>
<tr>
<td>
<%= link_to backend_program_path(program) do %>
<b><%= program.name %></b>
<% end %>
<% if program.description.present? %>
<br><small><%= truncate(program.description, length: 40) %></small>
<% end %>
</td>
<td>
<% if program.owner_identity.present? %>
<%= render Components::UserMention.new(program.owner_identity) %>
<% else %>
<i>HQ</i>
<% end %>
</td>
<td><code><%= program.scopes.presence || "—" %></code></td>
<td><%= program.identities.distinct.count %></td>
<td><%= render_checkbox(program.active?) %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
<hr>
<%= render Components::Backend::Item.new(icon: "+", href: new_backend_program_path) do %>
<b>new program</b>
<% end %>
<% end %>
</div>