rename project from SimpleshopTheme to Berrypod
All modules, configs, paths, and references updated. 836 tests pass, zero warnings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -51,7 +51,7 @@ PageRenderer module
|
||||
### PageLayout Schema
|
||||
|
||||
```elixir
|
||||
defmodule SimpleshopTheme.Content.PageLayout do
|
||||
defmodule Berrypod.Content.PageLayout do
|
||||
use Ecto.Schema
|
||||
|
||||
schema "page_layouts" do
|
||||
@@ -59,7 +59,7 @@ defmodule SimpleshopTheme.Content.PageLayout do
|
||||
field :name, :string # Display name for the layout
|
||||
field :is_default, :boolean, default: false
|
||||
|
||||
has_many :sections, SimpleshopTheme.Content.PageSection
|
||||
has_many :sections, Berrypod.Content.PageSection
|
||||
|
||||
timestamps()
|
||||
end
|
||||
@@ -69,7 +69,7 @@ end
|
||||
### PageSection Schema
|
||||
|
||||
```elixir
|
||||
defmodule SimpleshopTheme.Content.PageSection do
|
||||
defmodule Berrypod.Content.PageSection do
|
||||
use Ecto.Schema
|
||||
|
||||
schema "page_sections" do
|
||||
@@ -78,7 +78,7 @@ defmodule SimpleshopTheme.Content.PageSection do
|
||||
field :settings, :map # JSON settings for the section
|
||||
field :enabled, :boolean, default: true
|
||||
|
||||
belongs_to :page_layout, SimpleshopTheme.Content.PageLayout
|
||||
belongs_to :page_layout, Berrypod.Content.PageLayout
|
||||
|
||||
timestamps()
|
||||
end
|
||||
@@ -88,11 +88,11 @@ end
|
||||
### Section Types Registry
|
||||
|
||||
```elixir
|
||||
defmodule SimpleshopTheme.Content.SectionTypes do
|
||||
defmodule Berrypod.Content.SectionTypes do
|
||||
@sections %{
|
||||
"hero" => %{
|
||||
name: "Hero Banner",
|
||||
component: &SimpleshopThemeWeb.ShopComponents.hero_section/1,
|
||||
component: &BerrypodWeb.ShopComponents.hero_section/1,
|
||||
settings_schema: %{
|
||||
title: %{type: :string, default: "Welcome"},
|
||||
description: %{type: :string, default: ""},
|
||||
@@ -104,7 +104,7 @@ defmodule SimpleshopTheme.Content.SectionTypes do
|
||||
},
|
||||
"featured_products" => %{
|
||||
name: "Featured Products",
|
||||
component: &SimpleshopThemeWeb.ShopComponents.featured_products_section/1,
|
||||
component: &BerrypodWeb.ShopComponents.featured_products_section/1,
|
||||
settings_schema: %{
|
||||
title: %{type: :string, default: "Featured products"},
|
||||
product_count: %{type: :integer, default: 8}
|
||||
@@ -113,13 +113,13 @@ defmodule SimpleshopTheme.Content.SectionTypes do
|
||||
},
|
||||
"category_nav" => %{
|
||||
name: "Category Navigation",
|
||||
component: &SimpleshopThemeWeb.ShopComponents.category_nav/1,
|
||||
component: &BerrypodWeb.ShopComponents.category_nav/1,
|
||||
settings_schema: %{},
|
||||
allowed_on: [:home]
|
||||
},
|
||||
"image_text" => %{
|
||||
name: "Image + Text Block",
|
||||
component: &SimpleshopThemeWeb.ShopComponents.image_text_section/1,
|
||||
component: &BerrypodWeb.ShopComponents.image_text_section/1,
|
||||
settings_schema: %{
|
||||
title: %{type: :string},
|
||||
description: %{type: :text},
|
||||
@@ -131,7 +131,7 @@ defmodule SimpleshopTheme.Content.SectionTypes do
|
||||
},
|
||||
"content_body" => %{
|
||||
name: "Rich Text Content",
|
||||
component: &SimpleshopThemeWeb.ShopComponents.content_body/1,
|
||||
component: &BerrypodWeb.ShopComponents.content_body/1,
|
||||
settings_schema: %{
|
||||
image_url: %{type: :image},
|
||||
content: %{type: :rich_text}
|
||||
@@ -140,13 +140,13 @@ defmodule SimpleshopTheme.Content.SectionTypes do
|
||||
},
|
||||
"reviews_section" => %{
|
||||
name: "Customer Reviews",
|
||||
component: &SimpleshopThemeWeb.ShopComponents.reviews_section/1,
|
||||
component: &BerrypodWeb.ShopComponents.reviews_section/1,
|
||||
settings_schema: %{},
|
||||
allowed_on: [:pdp]
|
||||
},
|
||||
"related_products" => %{
|
||||
name: "Related Products",
|
||||
component: &SimpleshopThemeWeb.ShopComponents.related_products_section/1,
|
||||
component: &BerrypodWeb.ShopComponents.related_products_section/1,
|
||||
settings_schema: %{},
|
||||
allowed_on: [:pdp]
|
||||
}
|
||||
@@ -157,11 +157,11 @@ end
|
||||
## Page Renderer
|
||||
|
||||
```elixir
|
||||
defmodule SimpleshopThemeWeb.PageRenderer do
|
||||
defmodule BerrypodWeb.PageRenderer do
|
||||
use Phoenix.Component
|
||||
import SimpleshopThemeWeb.ShopComponents
|
||||
import BerrypodWeb.ShopComponents
|
||||
|
||||
alias SimpleshopTheme.Content.SectionTypes
|
||||
alias Berrypod.Content.SectionTypes
|
||||
|
||||
@doc """
|
||||
Renders a page from its layout and data context.
|
||||
@@ -394,6 +394,6 @@ Page layouts should be cached since they change infrequently:
|
||||
|
||||
## Related Files
|
||||
|
||||
- `lib/simpleshop_theme_web/components/shop_components.ex` - Existing section components
|
||||
- `lib/simpleshop_theme_web/components/page_templates/` - Current static templates (will become defaults)
|
||||
- `lib/simpleshop_theme_web/live/theme_live/index.ex` - Theme editor (reference implementation)
|
||||
- `lib/berrypod_web/components/shop_components.ex` - Existing section components
|
||||
- `lib/berrypod_web/components/page_templates/` - Current static templates (will become defaults)
|
||||
- `lib/berrypod_web/live/theme_live/index.ex` - Theme editor (reference implementation)
|
||||
|
||||
Reference in New Issue
Block a user