diff --git a/app/furniture/layouts/marketplace.html.erb b/app/furniture/layouts/marketplace.html.erb
index f8d1dd366..62ce94ce5 100644
--- a/app/furniture/layouts/marketplace.html.erb
+++ b/app/furniture/layouts/marketplace.html.erb
@@ -5,7 +5,9 @@
<%= yield %>
<%- end %>
<%- else %>
- <%= yield %>
+ <%= render Marketplace::ShopperFrameComponent.new(marketplace: marketplace) do %>
+ <%= yield %>
+ <%- end %>
<%- end %>
<%- end %>
<%- end %>
diff --git a/app/furniture/marketplace/management_component.rb b/app/furniture/marketplace/management_component.rb
index d5c87d39f..2e98e8aed 100644
--- a/app/furniture/marketplace/management_component.rb
+++ b/app/furniture/marketplace/management_component.rb
@@ -1,5 +1,5 @@
class Marketplace
- class ManagementComponent < ApplicationComponent
+ class ManagementComponent < Component
attr_accessor :marketplace
def initialize(marketplace:, **kwargs)
diff --git a/app/furniture/marketplace/marketplace_component.html.erb b/app/furniture/marketplace/marketplace_component.html.erb
index a16bd615b..9e4b17ecf 100644
--- a/app/furniture/marketplace/marketplace_component.html.erb
+++ b/app/furniture/marketplace/marketplace_component.html.erb
@@ -1,18 +1,17 @@
-
- <%= t('.header', space: marketplace.space.name, room: marketplace.room.name) %>
-
+
+ <%= render onboarding_component %>
+ <%= render delivery_area_component %>
-<%= render onboarding_component %>
+ <%= render Marketplace::MenuComponent.new(marketplace: )%>
-
-<%= render delivery_area_component %>
-
-<%= render cart %>
-
-<%- if policy(marketplace).edit? %>
-
- <%= render ButtonComponent.new(scheme: :secondary, label: t('marketplace.marketplace.edit.link_to'),
- href: location(:edit), method: :get) %>
-
-<%- end %>
+ <%= render cart %>
+ <%- if policy(marketplace).edit? %>
+ <%= render CardComponent.new do %>
+
+ <%= render ButtonComponent.new(scheme: :secondary, label: t('marketplace.marketplace.edit.link_to'),
+ href: location(:edit), method: :get) %>
+
+ <%- end %>
+ <%- end %>
+
diff --git a/app/furniture/marketplace/marketplaces/show.html.erb b/app/furniture/marketplace/marketplaces/show.html.erb
index 247aa239f..0ab1bf61b 100644
--- a/app/furniture/marketplace/marketplaces/show.html.erb
+++ b/app/furniture/marketplace/marketplaces/show.html.erb
@@ -1,2 +1,3 @@
<%- breadcrumb :marketplace, marketplace %>
+
<%= render marketplace %>
diff --git a/app/furniture/marketplace/menu_component.html.erb b/app/furniture/marketplace/menu_component.html.erb
new file mode 100644
index 000000000..e9737a4f2
--- /dev/null
+++ b/app/furniture/marketplace/menu_component.html.erb
@@ -0,0 +1,10 @@
+
+ <%- marketplace.products.each do |product| %>
+ <%= link_to(product.location, class: "no-underline") do %>
+ <%= render CardComponent.new do %>
+
<%= product.name %>
+
<%= product.description %>
+ <%- end %>
+ <%- end %>
+ <%- end %>
+
diff --git a/app/furniture/marketplace/menu_component.rb b/app/furniture/marketplace/menu_component.rb
new file mode 100644
index 000000000..dc95eb686
--- /dev/null
+++ b/app/furniture/marketplace/menu_component.rb
@@ -0,0 +1,14 @@
+class Marketplace
+ class MenuComponent < ApplicationComponent
+ attr_accessor :marketplace
+
+ def initialize(marketplace:, **kwargs)
+ super(**kwargs)
+ self.marketplace = marketplace
+ end
+
+ def render?
+ current_person.operator?
+ end
+ end
+end
diff --git a/app/furniture/marketplace/products/show.html.erb b/app/furniture/marketplace/products/show.html.erb
new file mode 100644
index 000000000..a3c9a4754
--- /dev/null
+++ b/app/furniture/marketplace/products/show.html.erb
@@ -0,0 +1,3 @@
+<%- breadcrumb :marketplace_product, product %>
+<%= product.name %>
+<%= product.description %>
diff --git a/app/furniture/marketplace/products_controller.rb b/app/furniture/marketplace/products_controller.rb
index 23f60846c..bb03cd64a 100644
--- a/app/furniture/marketplace/products_controller.rb
+++ b/app/furniture/marketplace/products_controller.rb
@@ -31,6 +31,10 @@ def index
skip_authorization
end
+ def show
+ authorize(product)
+ end
+
def edit
authorize(product)
end
diff --git a/app/furniture/marketplace/shopper_frame_component.html.erb b/app/furniture/marketplace/shopper_frame_component.html.erb
new file mode 100644
index 000000000..121c1ab60
--- /dev/null
+++ b/app/furniture/marketplace/shopper_frame_component.html.erb
@@ -0,0 +1,11 @@
+
+
+
+ <%= t('.header', space: marketplace.space.name, room: marketplace.room.name) %>
+
+
+
+
+ <%= content %>
+
+
diff --git a/app/furniture/marketplace/shopper_frame_component.rb b/app/furniture/marketplace/shopper_frame_component.rb
new file mode 100644
index 000000000..6048af04e
--- /dev/null
+++ b/app/furniture/marketplace/shopper_frame_component.rb
@@ -0,0 +1,11 @@
+class Marketplace
+ class ShopperFrameComponent < Component
+ attr_accessor :marketplace
+
+ def initialize(marketplace:, **kwargs)
+ super(**kwargs)
+
+ self.marketplace = marketplace
+ end
+ end
+end
diff --git a/app/furniture/marketplace/marketplace_component.yml b/app/furniture/marketplace/shopper_frame_component.yml
similarity index 100%
rename from app/furniture/marketplace/marketplace_component.yml
rename to app/furniture/marketplace/shopper_frame_component.yml