From 481adbe3aa6119f0c6768f0307cffb796df92a69 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:34:03 +0000 Subject: [PATCH 1/2] Initial plan From 397b95f47b17b535e6765b9fe460b9b597a76dbe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:40:34 +0000 Subject: [PATCH 2/2] feat: add persisted light/dark mode setting Agent-Logs-Url: https://github.com/ZCW-Spring26/ZipLiner/sessions/2b42db34-f2fa-405c-9e72-41bba5cd491c Co-authored-by: kristofer <17994+kristofer@users.noreply.github.com> --- lib/zip_liner/accounts/member.ex | 3 ++ .../components/layouts/root.html.heex | 2 +- .../controllers/settings_html/edit.html.heex | 17 +++++++++++ ...213600_add_theme_preference_to_members.exs | 9 ++++++ test/zip_liner/accounts_test.exs | 6 ++++ .../controllers/settings_controller_test.exs | 29 +++++++++++++++++++ 6 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 priv/repo/migrations/20260417213600_add_theme_preference_to_members.exs create mode 100644 test/zip_liner_web/controllers/settings_controller_test.exs diff --git a/lib/zip_liner/accounts/member.ex b/lib/zip_liner/accounts/member.ex index e5c3fe0..96bf4da 100644 --- a/lib/zip_liner/accounts/member.ex +++ b/lib/zip_liner/accounts/member.ex @@ -4,6 +4,7 @@ defmodule ZipLiner.Accounts.Member do @roles ~w(student alumni instructor staff mentor guest)a @statuses ~w(active suspended deprovisioned)a + @theme_preferences ~w(light dark)a @admin_handles ~w(kristofer) schema "members" do @@ -21,6 +22,7 @@ defmodule ZipLiner.Accounts.Member do field :status, Ecto.Enum, values: @statuses, default: :active field :is_admin, :boolean, default: false field :open_to_opportunities, :boolean, default: false + field :theme_preference, Ecto.Enum, values: @theme_preferences, default: :light field :skills, {:array, :string}, default: [] field :avatar_source, Ecto.Enum, values: [:github, :linkedin], default: :github @@ -57,6 +59,7 @@ defmodule ZipLiner.Accounts.Member do :role, :status, :open_to_opportunities, + :theme_preference, :skills, :avatar_source, :cohort_id diff --git a/lib/zip_liner_web/components/layouts/root.html.heex b/lib/zip_liner_web/components/layouts/root.html.heex index 73e9958..4199e8f 100644 --- a/lib/zip_liner_web/components/layouts/root.html.heex +++ b/lib/zip_liner_web/components/layouts/root.html.heex @@ -1,5 +1,5 @@ - +
diff --git a/lib/zip_liner_web/controllers/settings_html/edit.html.heex b/lib/zip_liner_web/controllers/settings_html/edit.html.heex index d1fcceb..bb543c1 100644 --- a/lib/zip_liner_web/controllers/settings_html/edit.html.heex +++ b/lib/zip_liner_web/controllers/settings_html/edit.html.heex @@ -61,6 +61,23 @@ +