feat: rename OIDC strategy, fix sidebar, UI improvements closes #271 #444

Merged
moritz merged 12 commits from feat/ux_polishment into main 2026-02-24 13:05:11 +01:00

12 commits

Author SHA1 Message Date
623543b7bd
fix: add missing postal_code in seeds
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
postal_code is a Vereinfacht-required field. When Vereinfacht is
configured, seeds failed for members without postal_code.
2026-02-24 12:06:56 +01:00
d95d4dc737
Fix gettext msgid for OIDC sign-in button after strategy rename
All checks were successful
continuous-integration/drone/push Build is passing
Phoenix.Naming.humanize(:oidc) = "Oidc", so the generated msgid is
"Sign in with Oidc" (previously "Sign in with Rauthy" for :rauthy).
Update all .po/.pot files so the "Single Sign On" translation matches.
2026-02-24 11:51:01 +01:00
12419c5237
docs: fix remaining rauthy references after oidc rename
Update action names (register_with_rauthy → register_with_oidc,
sign_in_with_rauthy → sign_in_with_oidc) and strategy name
(:rauthy → :oidc) in docs, code comments and guidelines.
2026-02-24 11:51:01 +01:00
29f262e1a1
fix: use pointer-events-none instead of disabled for active status button
Replace disabled attribute with pointer-events-none so the active
status button keeps its color (btn-success/warning/error btn-active)
instead of being grayed out by the browser's disabled styling.
2026-02-24 11:51:01 +01:00
2b8d898429
style: match cycle status buttons to filter button pattern
All three status buttons (Paid/Suspended/Unpaid) are now always
visible. The active status is highlighted with its color (btn-active),
inactive buttons are neutral gray - identical to the filter buttons.
2026-02-24 11:51:00 +01:00
76223b04e9
style: use btn-outline for all cycle status action buttons
Make Paid, Suspended and Unpaid buttons consistent by applying
btn-outline to all three, matching the outlined style pattern.
2026-02-24 11:51:00 +01:00
bee4a7db66
fix: remove debug console.log from SidebarState hook
Remove the temporary console.log statement that was added during
sidebar state debugging.
2026-02-24 11:51:00 +01:00
339d37937a
Rename OIDC strategy from :rauthy to :oidc, update callback path
- Rename AshAuthentication strategy from :oidc :rauthy to :oidc :oidc;
  generated actions are now register_with_oidc / sign_in_with_oidc.
- Update config keys (:rauthy → :oidc) in dev.exs and runtime.exs.
- Update default_redirect_uri to /auth/user/oidc/callback everywhere.
- Rename Mv.Accounts helper functions accordingly.
- Update Mv.Secrets, AuthController, link_oidc_account_live and all tests.
- Update docker-compose.prod.yml, .env.example, README and docs.

IMPORTANT: OIDC providers must be updated to use the new redirect URI
/auth/user/oidc/callback instead of /auth/user/rauthy/callback.
2026-02-24 11:51:00 +01:00
c637b6b84f
Fix sidebar dropdown direction and accidental mobile drawer opening
- CSS: When sidebar is collapsed, open user-menu dropdown to the right
  (left: 0, right: auto) via data-sidebar-expanded="false" selector.
- JS: Guard drawerToggle change handler – prevent mobile drawer from
  opening on desktop viewports (window.innerWidth >= 1024).
- HTML: Add phx-update="ignore" to mobile-drawer checkbox to prevent
  LiveView from resetting its checked state on DOM patches.
2026-02-24 11:50:59 +01:00
97fcae3e9d
Translate "Sign in with Rauthy" to "Single Sign On" via Gettext
Add manual msgid/msgstr entries in auth.po (de + en) and auth.pot for the
dynamically interpolated OAuth2 sign-in button label.
2026-02-24 11:50:59 +01:00
2d01c70c16
Group cycle status buttons with DaisyUI join component
Wrap Paid/Suspended/Unpaid buttons in a <div class="join"> and add
join-item to each button. Delete button stays separate next to the group.
2026-02-24 11:50:59 +01:00
0a59cf5c33
Sort custom fields by name as default in read action
Add `prepare build(sort: [name: :asc])` to the primary read action of
CustomField. Prevents order changes when toggling the `required` flag.
2026-02-24 11:50:59 +01:00