towerops/lib/towerops_web/live/org_live/index.html.heex
Graham McIntire 5a7cdc7138 refactor: apply custom color palette across entire codebase
- Replace gray->cool-steel, blue/indigo->cerulean, red->sweet-salmon, yellow/amber->wheat
- Dark sidebar: sidebar/footer use cool-steel-800 bg, text lightened for contrast
- ~11,600 color replacements across ~99 files
- Update tests for new color class names
2026-06-23 10:58:48 -05:00

54 lines
1.9 KiB
Text

<Layouts.authenticated
flash={@flash}
current_scope={@current_scope}
unresolved_alert_count={assigns[:unresolved_alert_count] || 0}
>
<.header>
{@page_title}
<:actions>
<.button navigate={~p"/orgs/new"} variant="primary">
<.icon name="hero-plus" class="h-5 w-5" /> New Organization
</.button>
</:actions>
</.header>
<div :if={@organizations != []} class="grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<form
:for={org <- @organizations}
method="post"
action={~p"/orgs/switch"}
>
<input type="hidden" name="_csrf_token" value={Phoenix.Controller.get_csrf_token()} />
<input type="hidden" name="org_id" value={org.id} />
<button
type="submit"
class="relative w-full overflow-hidden rounded-lg border border-cool-steel-200 bg-white p-6 shadow-sm hover:shadow-md transition-shadow dark:border-white/10 dark:bg-cool-steel-800/50 cursor-pointer text-left"
>
<h2 class="text-xl font-semibold text-cool-steel-900 dark:text-white">{org.name}</h2>
<p class="mt-2 text-sm text-cool-steel-600 dark:text-cool-steel-400">
{Enum.find(org.memberships, &(&1.user_id == @current_scope.user.id)).role
|> to_string()
|> String.capitalize()}
</p>
</button>
</form>
</div>
<div :if={@organizations == []} class="text-center py-16">
<.icon
name="hero-building-office"
class="mx-auto h-12 w-12 text-cool-steel-400 dark:text-cool-steel-600"
/>
<h3 class="mt-4 text-lg font-semibold text-cool-steel-900 dark:text-white">
{t("No organizations")}
</h3>
<p class="mt-2 text-sm text-cool-steel-600 dark:text-cool-steel-400">
{t("Get started by creating a new organization.")}
</p>
<div class="mt-6">
<.button navigate={~p"/orgs/new"} variant="primary">
<.icon name="hero-plus" class="h-5 w-5" /> New Organization
</.button>
</div>
</div>
</Layouts.authenticated>