add link picker and validation to navigation editor
All checks were successful
deploy / deploy (push) Successful in 1m26s

- replace freeform inputs with grouped dropdown (pages, custom pages,
  collections, external URL)
- add inline URL validation for external links
- add inline feedback component instead of flash messages
- add dismiss-on-interaction pattern (feedback clears on changes)
- add no-JS fallback via NavigationController
- add DirtyGuard hook to warn before navigating away with unsaved changes
- add no-JS fallbacks for settings forms (from address, signing secret)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-03-08 02:10:06 +00:00
parent 42542ac177
commit 3e29a89fff
10 changed files with 551 additions and 204 deletions

View File

@@ -138,9 +138,12 @@ defmodule BerrypodWeb.Router do
get "/analytics/export", AnalyticsExportController, :export
get "/newsletter/export", NewsletterExportController, :export
# No-JS fallbacks for email settings
# No-JS fallbacks for settings forms
post "/settings/email", EmailSettingsController, :update
post "/settings/email/test", EmailSettingsController, :test
post "/settings/from-address", SettingsController, :update_from_address
post "/settings/stripe/signing-secret", SettingsController, :update_signing_secret
post "/navigation", NavigationController, :save
live_session :admin,
layout: {BerrypodWeb.Layouts, :admin},