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