extract setup wizard to dedicated /admin/setup page

Move the setup stepper out of the dashboard into its own LiveView.
Dashboard now redirects to setup when site isn't live, and shows
stats-only view once live. Also cleans up button component variant
handling, fixes alert CSS, and removes stale demo.html.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-02-18 23:55:42 +00:00
parent 34aa8190d6
commit 559798206f
23 changed files with 835 additions and 7013 deletions

View File

@@ -81,16 +81,24 @@ defmodule BerrypodWeb.CoreComponents do
"""
attr :rest, :global, include: ~w(href navigate patch method download name value disabled)
attr :class, :string
attr :variant, :string, values: ~w(primary)
attr :variant, :string, values: ~w(primary outline)
slot :inner_block, required: true
def button(%{rest: rest} = assigns) do
variants = %{"primary" => "admin-btn-primary", nil => "admin-btn-primary admin-btn-soft"}
variants = %{
"primary" => "admin-btn-primary",
"outline" => "admin-btn-outline",
nil => "admin-btn-primary admin-btn-soft"
}
variant_class = Map.fetch!(variants, assigns[:variant])
assigns =
assign_new(assigns, :class, fn ->
["admin-btn", Map.fetch!(variants, assigns[:variant])]
end)
assign(assigns, :class, [
"admin-btn",
variant_class,
assigns[:class]
])
if rest[:href] || rest[:navigate] || rest[:patch] do
~H"""