Skip to content

Add admin settings page and SEO config

jedmund requested to merge admin-settings-v2 into main

Created by: jedmund

Summary

  • Adds admin settings page with 4 tabs: General, SEO, Integrations, Syndication
  • Adds test connection buttons for validating API credentials
  • Adds SEO defaults (title, description, OG image) overridable from DB settings
  • Wires up SEO metadata in layout server load

Details

Settings page (/admin/settings): Full CRUD for all config keys with organized tabs, help text, and inline test buttons for Bluesky, Mastodon, Last.fm, and Cloudinary connections.

SEO config: Adds seo.* keys to the config system. Layout server load reads SEO defaults from DB/env and passes them to the layout for meta tags.

Depends on: #35 (posse-syndication) for the config system and Setting model.

Test plan

  • Verify settings page loads with all 4 tabs
  • Test saving and reading settings values
  • Test connection buttons for each integration
  • Verify SEO meta tags render from DB settings
  • Verify SEO defaults fall back to hardcoded values when no DB settings exist

Merge request reports

Loading