towerops/lib/towerops_web/live/changelog_live.ex
Graham McIntire ebcd54be5b refactor: remove daisyUI, use straight Tailwind v4 with custom color palette
- Remove daisyUI plugins and theme from app.css
- Define 5 custom color palettes: sweet-salmon, desert-sand, wheat, cool-steel, cerulean
- Add @utility card, badge, btn classes to replace daisyUI components
- Replace all daisyUI classes across 16+ template files
- Update tests for new class return values
- Set light mode as default theme
2026-06-23 10:44:20 -05:00

50 lines
1.8 KiB
Elixir

defmodule ToweropsWeb.ChangelogLive do
@moduledoc false
use ToweropsWeb, :live_view
@impl true
def mount(_params, _session, socket) do
entries = ToweropsWeb.ChangelogParser.parse()
{:ok, assign(socket, entries: entries, page_title: "What's New")}
end
@impl true
def render(assigns) do
~H"""
<Layouts.authenticated
flash={@flash}
current_scope={@current_scope}
active_page="changelog"
unresolved_alert_count={assigns[:unresolved_alert_count] || 0}
>
<div class="mx-auto max-w-3xl px-4 py-8">
<h1 class="text-3xl font-bold mb-2">What's New</h1>
<p class="text-cool-steel-900/60 dark:text-cool-steel-100/60 mb-8">
Latest updates and improvements to TowerOps.
</p>
<div class="space-y-8">
<div
:for={entry <- @entries}
class="relative pl-8 border-l-2 border-sweet-salmon-500/20 dark:border-sweet-salmon-600/20"
>
<div class="absolute -left-[9px] top-1 w-4 h-4 rounded-full bg-sweet-salmon-500 dark:bg-sweet-salmon-600 border-2 border-cool-steel-50 dark:border-cool-steel-900" />
<div class="mb-1">
<span class="badge text-cool-steel-700 dark:text-cool-steel-300 font-mono">
{Calendar.strftime(entry.date, "%b %d, %Y")}
</span>
</div>
<h2 :if={entry.title} class="text-lg font-semibold mb-2">{entry.title}</h2>
<ul
:if={entry.items != []}
class="list-disc list-inside space-y-1 text-cool-steel-900/80 dark:text-cool-steel-100/80 text-sm"
>
<li :for={item <- entry.items}>{item}</li>
</ul>
</div>
</div>
</div>
</Layouts.authenticated>
"""
end
end