From 70aaae4f6169ac2b86a8562facdae90ac0f3c1a0 Mon Sep 17 00:00:00 2001 From: Z1xus <40185941+Z1xus@users.noreply.github.com> Date: Sun, 7 Jun 2026 02:20:53 +0200 Subject: [PATCH] fix: prevent dark theme flash on navigation --- assets/css/app.css | 8 +++++++- lib/plausible_web/components/layout.ex | 9 +++++++-- lib/plausible_web/templates/layout/app.html.heex | 5 ++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/assets/css/app.css b/assets/css/app.css index 33a1f4faa076..aa1a4971eec8 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -205,7 +205,13 @@ } html { - @apply text-gray-800; + @apply text-gray-800 bg-gray-50; + color-scheme: light; +} + +html.dark { + @apply bg-gray-950; + color-scheme: dark; } body { diff --git a/lib/plausible_web/components/layout.ex b/lib/plausible_web/components/layout.ex index 89075d6d1b89..8ae2244ac8e6 100644 --- a/lib/plausible_web/components/layout.ex +++ b/lib/plausible_web/components/layout.ex @@ -25,6 +25,11 @@ defmodule PlausibleWeb.Components.Layout do """ end + def html_classes(assigns) do + ["h-full plausible", if(theme_preference(assigns) == "dark", do: "dark")] + |> Enum.reject(&is_nil/1) + end + def theme_script(assigns) do ~H"""