berrypod/priv/repo/migrations/20260327163919_create_nav_items.exs
jamey 638bb4fb70
Some checks failed
deploy / deploy (push) Has been cancelled
add Site context with social links editor and site-wide settings
- Add Site context for managing site-wide content (social links, nav items,
  announcement bar, footer content)
- Add SocialLink schema with URL normalization and platform auto-detection
  supporting 40+ platforms via host and 25+ via URI scheme
- Add NavItem schema for header/footer navigation (editor UI coming next)
- Add SiteEditor component with collapsible sections for each content type
- Wire social links card block and footer to use database data
- Filter empty URLs from display in shop components
- Add DetailsPreserver hook to preserve collapsible section state
- Add comprehensive tests for Site context and SocialLink functions
- Remove unused helper functions from onboarding to fix compiler warnings
- Move sync_edit_url_param helper to group handle_editor_event clauses

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-28 10:09:33 +00:00

20 lines
594 B
Elixir

defmodule Berrypod.Repo.Migrations.CreateNavItems do
use Ecto.Migration
def change do
create table(:nav_items, primary_key: false) do
add :id, :binary_id, primary_key: true
add :location, :string, null: false
add :label, :string, null: false
add :url, :string, null: false
add :page_id, references(:pages, type: :binary_id, on_delete: :nilify_all)
add :position, :integer, null: false, default: 0
timestamps(type: :utc_datetime)
end
create index(:nav_items, [:location, :position])
create index(:nav_items, [:page_id])
end
end