Skip to content

Commit

Permalink
Add media sizing settings to featured product (Shopify#2114)
Browse files Browse the repository at this point in the history
  • Loading branch information
kmeleta authored Nov 22, 2022
1 parent 9875aea commit dc81806
Showing 1 changed file with 67 additions and 6 deletions.
73 changes: 67 additions & 6 deletions sections/featured-product.liquid
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,17 @@

<link rel="stylesheet" href="{{ 'component-deferred-media.css' | asset_url }}" media="print" onload="this.media='all'">

{%- assign product = section.settings.product -%}
{%- liquid
assign product = section.settings.product

if section.settings.media_size == 'large'
assign media_width = 0.65
elsif section.settings.media_size == 'medium'
assign media_width = 0.55
elsif section.settings.media_size == 'small'
assign media_width = 0.45
endif
-%}

{%- assign first_3d_model = product.media | where: 'media_type', 'model' | first -%}
{%- if first_3d_model -%}
Expand All @@ -44,7 +54,7 @@

<section class="color-{{ section.settings.color_scheme }} {% if section.settings.secondary_background %}background-secondary{% else %}gradient{% endif %}">
<div class="page-width section-{{ section.id }}-padding{% if section.settings.secondary_background %} isolate{% endif %}">
<div class="featured-product product grid grid--1-col gradient color-{{ section.settings.color_scheme }} product--{{ section.settings.media_position }}{% if section.settings.secondary_background == false %} isolate{% endif %} {% if product.media.size > 0 %}grid--2-col-tablet{% else %}product--no-media{% endif %}">
<div class="featured-product product product--{{ section.settings.media_size }} grid grid--1-col gradient color-{{ section.settings.color_scheme }} product--{{ section.settings.media_position }}{% if section.settings.secondary_background == false %} isolate{% endif %} {% if product.media.size > 0 %}grid--2-col-tablet{% else %}product--no-media{% endif %}">
<div class="grid__item product__media-wrapper{% if section.settings.media_position == 'right' %} medium-hide large-up-hide{% endif %}">
<media-gallery
id="MediaGallery-{{ section.id }}"
Expand All @@ -62,7 +72,9 @@
loop: section.settings.enable_video_looping,
modal_id: section.id,
xr_button: false,
media_width: 0.5
media_width: media_width,
media_fit: section.settings.media_fit,
constrain_to_viewport: section.settings.constrain_to_viewport
%}
</div>
{%- endif -%}
Expand All @@ -83,7 +95,9 @@
loop: section.settings.enable_video_looping,
modal_id: section.id,
xr_button: false,
media_width: 0.5
media_width: media_width,
media_fit: section.settings.media_fit,
constrain_to_viewport: section.settings.constrain_to_viewport
%}
</div>
{%- endif -%}
Expand Down Expand Up @@ -541,7 +555,9 @@
loop: section.settings.enable_video_looping,
modal_id: section.id,
xr_button: false,
media_width: 0.5
media_width: media_width,
media_fit: section.settings.media_fit,
constrain_to_viewport: section.settings.constrain_to_viewport
%}
</div>
{%- endif -%}
Expand All @@ -556,7 +572,9 @@
loop: section.settings.enable_video_looping,
modal_id: section.id,
xr_button: false,
media_width: 0.5
media_width: media_width,
media_fit: section.settings.media_fit,
constrain_to_viewport: section.settings.constrain_to_viewport
%}
</div>
{%- endif -%}
Expand Down Expand Up @@ -1530,6 +1548,49 @@
"content": "t:sections.featured-product.settings.header.content",
"info": "t:sections.featured-product.settings.header.info"
},
{
"type": "select",
"id": "media_size",
"options": [
{
"value": "small",
"label": "t:sections.main-product.settings.media_size.options__1.label"
},
{
"value": "medium",
"label": "t:sections.main-product.settings.media_size.options__2.label"
},
{
"value": "large",
"label": "t:sections.main-product.settings.media_size.options__3.label"
}
],
"default": "medium",
"label": "t:sections.main-product.settings.media_size.label",
"info": "t:sections.main-product.settings.media_size.info"
},
{
"type": "checkbox",
"id": "constrain_to_viewport",
"default": false,
"label": "t:sections.main-product.settings.constrain_to_viewport.label"
},
{
"type": "select",
"id": "media_fit",
"options": [
{
"value": "contain",
"label": "t:sections.main-product.settings.media_fit.options__1.label"
},
{
"value": "cover",
"label": "t:sections.main-product.settings.media_fit.options__2.label"
}
],
"default": "contain",
"label": "t:sections.main-product.settings.media_fit.label"
},
{
"type": "select",
"id": "media_position",
Expand Down

0 comments on commit dc81806

Please sign in to comment.