feat(elixir): proper dark/light mode support

This commit is contained in:
Schuwi
2025-09-14 22:50:44 +02:00
parent 280caad641
commit ae861f32a1
6 changed files with 237 additions and 202 deletions

View File

@@ -188,14 +188,14 @@ defmodule ComponentsElixirWeb.CoreComponents do
<div class="fieldset mb-2">
<label>
<input type="hidden" name={@name} value="false" disabled={@rest[:disabled]} />
<span class="label">
<span class="label text-base-content">
<input
type="checkbox"
id={@id}
name={@name}
value="true"
checked={@checked}
class={@class || "checkbox checkbox-sm"}
class={@class || "checkbox checkbox-sm border-base-300 checked:bg-primary checked:border-primary"}
{@rest}
/>{@label}
</span>
@@ -209,11 +209,11 @@ defmodule ComponentsElixirWeb.CoreComponents do
~H"""
<div class="fieldset mb-2">
<label>
<span :if={@label} class="label mb-1">{@label}</span>
<span :if={@label} class="label mb-1 text-base-content">{@label}</span>
<select
id={@id}
name={@name}
class={[@class || "w-full select", @errors != [] && (@error_class || "select-error")]}
class={[@class || "w-full select bg-base-100 border-base-300 text-base-content", @errors != [] && (@error_class || "select-error border-error")]}
multiple={@multiple}
{@rest}
>
@@ -230,13 +230,13 @@ defmodule ComponentsElixirWeb.CoreComponents do
~H"""
<div class="fieldset mb-2">
<label>
<span :if={@label} class="label mb-1">{@label}</span>
<span :if={@label} class="label mb-1 text-base-content">{@label}</span>
<textarea
id={@id}
name={@name}
class={[
@class || "w-full textarea",
@errors != [] && (@error_class || "textarea-error")
@class || "w-full textarea bg-base-100 border-base-300 text-base-content placeholder:text-base-content/50",
@errors != [] && (@error_class || "textarea-error border-error")
]}
{@rest}
>{Phoenix.HTML.Form.normalize_value("textarea", @value)}</textarea>
@@ -251,15 +251,15 @@ defmodule ComponentsElixirWeb.CoreComponents do
~H"""
<div class="fieldset mb-2">
<label>
<span :if={@label} class="label mb-1">{@label}</span>
<span :if={@label} class="label mb-1 text-base-content">{@label}</span>
<input
type={@type}
name={@name}
id={@id}
value={Phoenix.HTML.Form.normalize_value(@type, @value)}
class={[
@class || "w-full input",
@errors != [] && (@error_class || "input-error")
@class || "w-full input bg-base-100 border-base-300 text-base-content placeholder:text-base-content/50",
@errors != [] && (@error_class || "input-error border-error")
]}
{@rest}
/>