{% assign badges = productBadges | where: 'type', 'graphic' %} {% for badge in badges %} {% if product.tags contains badge.tag %} {% if badge.icon contains '.' %} {% else %} {% endif %} {% break %} {% endif %} {% endfor %} {% assign badges = productBadges | where: 'type', 'icon' %} {% for badge in badges %} {% if product.tags contains badge.tag %} {% if badge.icon contains '.' %} {% else %} {% endif %} {% break %} {% endif %} {% endfor %} {% assign badges = productBadges | where: 'type', 'option' %} {% if badges != blank %} {% for badge in badges %} {% assign show_badge = false %} {% if product.tags contains badge.tag %} {% assign show_badge = true %} {% endif %} {% for sibling in product.siblings %} {% if sibling.tags contains badge.tag %} {% assign show_badge = true %} {% endif %} {% endfor %} {% if show_badge %} {{ badge.label }} {% endif %} {% endfor %} {% endif %} check Compare {% if product.siblings.size > 0 %} {% assign types = product.siblings | map: 'product_type' | uniq %} {% for type in types %} {% if type == blank %}{% continue %}{% endif %} {{ type | split : ' - ' | last }} {% endfor %} {% unless types contains product.type %} {% assign productType = product.type | handlize %} {{ productType | split : ' - ' | last }} {% endunless %} {% endif %} {% if product.siblings.size > 0 %} {%- assign swatch_styles = 'h-full w-full object-contain' -%} {% assign limit = 4 %} {% if product.siblings.size > 4 %} {% assign limit = 3 %} {% endif %} {% for sibling in product.siblings limit:limit %} {% endfor %} {% if product.siblings.size > 4 %} +{{ product.siblings.size | minus: 4 }} More {% endif %} {% endif %} {% if product.available == false %} Sold out {% endif %} {{ product.title | split: ' - ' | first }} {{ product.title | split: ' - ' | last }} {% assign markdown = false %} {% unless product.compare_at_price == 0 or product.compare_at_price == blank %} {% assign markdown = true %} {% endunless %} {% assign price = product.price %} {% if product.price_min > 0 and product.price_min < price %} {% assign price = product.price_min %} {% endif %} {{ price | money }} {% if product.price_max > product.price %} - {{ product.price_max | money }} {% endif %} {% if markdown %} {{ product.compare_at_price | money }} {% endif %} {% for badge in productBadges | where: 'type', 'text'%} {% if product.tags contains badge.tag and badge.type != 'option' and badge.type != 'icon' and badge.type != 'graphic' %} {{ badge.item }} {% endif %} {% endfor %}
{% assign progress = total_price | divided_by: offer.settings.threshold_cents %} {% assign balance = offer.settings.threshold_cents | minus: total_price | money %} {% unless progress >= 1 %} {{ offer.settings.approach | replace: "{{ balance }}", balance }} {% endunless %}
{% if item.properties._image %} {% else %} {% endif %} {{ item.title | split: '-' | first }} {% for option in item.options_with_values %} {% unless option.name == "Title" %} {{ option.name }}: {{ option.value }} {% endunless %} {% endfor %} {% for badge in productBadges | where: 'type', 'text' %} {% assign itemTags = item.properties._tags | default: item.properties.tags %} {% for tag in itemTags %} {% if tag == badge.tag and badge.cart %} {{ badge.cart | newline_to_br }} {% break %} {% endif %} {% endfor %} {% endfor %} - + {% assign price = item.final_price %} Remove {{ price | money }}
{% if offer.prompt != blank %} {{ offer.prompt | newline_to_br }} {% endif %} {% for product in offer.products %} {% assign productIndex = forloop.index0 %} {% if product.in_cart %}{% continue %}{% endif %} check {% assign offerTitle = product.title %} {{ product.title | split: "-" | first }} {{ product.title | split: "-" | last }} {% assign discount_amount = 0 %} {% if offer.discount %} {% assign discount_amount = offer.discount | times: 0.01 | times: product.price %} {% endif %} {{ product.price | minus: discount_amount | money }} {% if product.variants.size > 1 %} Please select... {% for variant in product.variants %} {% if variant.available == false %} {{ variant.title }} - Sold Out {% else %} {{ variant.title }} {% endif %} {% endfor %} {% else %} {% endif %} Add {% endfor %}
{% if offer.prompt != blank %} {{ offer.prompt | newline_to_br }} {% endif %} {% for product in offer.products %} {% assign productIndex = forloop.index0 %} {% if product.in_cart %}{% continue %}{% endif %} {% unless offer.product_selection == 'all' %} {% if offer.products.size == 1 %} {% else %} {% endif %} {% endunless %} check {% assign offerTitle = product.title %} {{ product.title | split: "-" | first }} {{ product.title | split: "-" | last }} {% assign discount_amount = 0 %} {% if offer.discount %} {% assign discount_amount = offer.discount | times: 0.01 | times: product.price %} {% endif %} {{ product.price | minus: discount_amount | money }} {% if product.variants.size > 1 %} Please select... {% for variant in product.variants %} {% if variant.available == false %} {{ variant.title }} - Sold Out {% else %} {{ variant.title }} {% endif %} {% endfor %} {% else %} {% endif %} Add {% endfor %} Select No, thanks
Country {% for country in Geo.config.available_countries %} {% if Shopify.country == country.iso_code %} {% else %} {% endif %} {{ country.name }} ({{ country.currency.iso_code }}) {% endfor %}
{% assign apply_badge = false %} {% for badge in productBadges %} {% if product.tags contains badge.tag and badge.product != blank %} {{ badge.product }} {% unless apply_badge %} {% assign apply_badge = badge %} {% endunless %} {% endif %} {% endfor %} {% if apply_badge %} {% assign badge = apply_badge %} {% else %} {% endif %} Single Tab CF Twinzer {% if product.subtotal %} {{ product.subtotal | money | remove: ' ' }} {% else %} {% assign discount_amount = variant.price | divided_by: variant.compare_at_price | times: -100 | plus: 100 | round %} {% assign discount_threshold = 10 %} {% if variant %} {{ variant.price | money }} {% if variant.price != variant.compare_at_price and variant.compare_at_price > 0 %} {{ variant.compare_at_price | money }} {% endif %} {% endif %} {% endif %} {% capture payment_count %}4{% endcapture %} {% capture payment_text %}Pay in [ count ] interest-free payments of [ payment ] with ((afterpay 16x16)){% endcapture %} {% capture link_1 %}https://www.afterpay.com/en-US/installment-agreement{% endcapture%} {% capture link_2 %}https://www.afterpay.com/en-US/installment-agreement{% endcapture%} {% capture link_3 %}{% endcapture%} {% capture image_1 %}//www.captainfin.com/cdn/shop/files/Afterpay_1.png?v=1684191741{% endcapture%} {% capture image_2 %}//www.captainfin.com/cdn/shop/files/Afterpay_1.png?v=1684191741{% endcapture%} {% capture image_3 %}//www.captainfin.com/cdn/shopifycloud/shopify/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c.gif{% endcapture%} {% assign payment_price = variant.price | divided_by: payment_count | money %} {% assign payment_details_text = payment_text | replace: '[ count ]', payment_count | replace: '[ payment ]', payment_price | split: '((' %} {% assign icon_count = 0 %} {% for segment in payment_details_text %} {% assign icon_segment = segment | split: '))' %} {% assign icon = false %} {% if segment contains "))" %} {% assign icon_info = icon_segment | first | split: ' ' %} {% assign icon = icon_info | first | strip %} {% assign icon_width = icon_info | last | split: 'x' | first | strip %} {% assign icon_height = icon_info | last | split: 'x' | last | strip %} {% assign text = icon_segment | last %} {% assign icon_count = icon_count | plus: 1 %} {% case icon_count %} {% when 1 %} {% assign payment_image = image_1 %} {% assign payment_link = link_1 %} {% when 2 %} {% assign payment_image = image_2 %} {% assign payment_link = link_2 %} {% when 3 %} {% assign payment_image = image_3 %} {% assign payment_link = link_3 %} {% endcase %} {% if payment_image != blank %} {{ icon }} {% else %} {{ icon }} {% endif %} {% if icon_segment.size > 1 %} {{ text }} {% endif %} {% else %} {{ segment }} {% endif %} {% endfor %} Color - {{variant.option1}} {%- capture tags -%}board-type: Fish/Hybrid,boxes: 4,category: All,category: CF Series,category: Fins,category: Fins/Side Bite & Trailer,category: Fins/Twin Fin,category: New Arrivals,configuration: Twinzer,construction: Fiberglass,maneuverability: Responsive,Responsive,size: M{%- endcapture -%} {% for badge in productBadges %} {% if tags contains badge.tag and badge.sibling != blank %} {% if badge.sibling_icon %} {{ badge.sibling_icon }} {% endif %} {% endif %} {% endfor %} CF Twinzer - Black Single Tab {%- capture tags -%}board-type: Fish/Hybrid,boxes: 4,category: All,category: CF Series,category: Fins,category: Fins/Side Bite & Trailer,category: Fins/Twin Fin,category: New Arrivals,configuration: Twinzer,construction: Fiberglass,maneuverability: Responsive,Responsive,size: M{%- endcapture -%} {% for badge in productBadges %} {% if tags contains badge.tag and badge.sibling != blank %} {% if badge.sibling_icon %} {{ badge.sibling_icon }} {% endif %} {% endif %} {% endfor %} CF Twinzer - Clear Single Tab {%- capture tags -%}board-type: Fish/Hybrid,boxes: 4,category: All,category: CF Series,category: Fins,category: Fins/Side Bite & Trailer,category: Fins/Twin Fin,category: New Arrivals,configuration: Twinzer,construction: Fiberglass,maneuverability: Responsive,Responsive,size: M{%- endcapture -%} {% for badge in productBadges %} {% if tags contains badge.tag and badge.sibling != blank %} {% if badge.sibling_icon %} {{ badge.sibling_icon }} {% endif %} {% endif %} {% endfor %} CF Twinzer - White Single Tab {% for badge in productBadges %} {% if product.tags contains badge.tag and badge.sibling != blank %} {% if badge.sibling_icon %} {{ badge.sibling_icon }} {% endif %} {{ badge.sibling }} {% endif %} {% endfor %} single-tab Single Tab BLACK / OS $ 60.00 Add to cart {% if variant.id %} {% endif %} {% capture low_stock_enable %}false{% endcapture %} {% capture low_stock_threshold %}10{% endcapture %} {% assign low_stock_threshold = low_stock_threshold | plus: 0 %} {% for option in product.options_with_values %} {% assign optionIndex = forloop.index0 %} {% assign position = forloop.index %} {{ option.name }} - {{ variant.options[optionIndex] }} {% case optionIndex %} {%- when 1 -%} {%- when 2 -%} {%- when 3 -%} {% endcase %} {% for chart in SizeCharts %} {% assign chart_opts = chart.option | split:',' %} {% for _opt in chart_opts %} {% assign opt = _opt | strip %} {% if option.name == opt %} {% assign opt_match = true %} {% break %} {% endif %} {% endfor %} {% if opt_match %} {% break %} {% endif %} {% endfor %} {% assign sortedvalues = option.values %} {% if option.name contains 'Length' or option.name contains 'Width' or option.name contains 'Height' or option.name contains 'Depth' or option.name contains 'Thickness' or option.name contains 'Weight' %} {% assign sortedvalues = option.values | sort %} {% endif %} {% for value in sortedvalues %} {% assign inventory_quantity = 0 %} {% assign available = false %} {% assign optionVariant = false %} {% if product.options_with_values.size == 3 and optionIndex == 1 %} {% for v in product.variants %} {% if v.option1 == variant.option1 and v.option2 == value %} {% assign optionVariant = v %} {% assign inventory_quantity = inventory_quantity | plus: v.inventory_quantity %} {% if v.available %}{% assign available = true %}{% endif %} {% endif %} {% endfor %} {% elsif product.options_with_values.size == 3 and optionIndex == 2%} {% for v in product.variants %} {% unless v.bogus %} {% if v.option1 == variant.option1 and v.option2 == variant.option2 and v.option3 == value %} {% assign optionVariant = v %} {% assign inventory_quantity = inventory_quantity | plus: v.inventory_quantity %} {% if v.available %}{% assign available = true %}{% endif %} {% endif %} {% endunless %} {% endfor %} {% elsif product.options_with_values.size == 2 and optionIndex == 1%} {% for v in product.variants %} {% unless v.bogus %} {% if v.option1 == variant.option1 and v.option2 == value %} {% assign optionVariant = v %} {% assign inventory_quantity = inventory_quantity | plus: v.inventory_quantity %} {% if v.available %}{% assign available = true %}{% endif %} {% endif %} {% endunless %} {% endfor %} {% else %} {% for v in product.variants %} {% unless v.bogus %} {% if v.option1 == value %} {% assign optionVariant = v %} {% assign inventory_quantity = inventory_quantity | plus: v.inventory_quantity %} {% if v.available %}{% assign available = true %}{% endif %} {% endif %} {% endunless %} {% endfor %} {% endif %} {% assign checked = "" %} {% if variant.options[optionIndex] == value%}{% assign checked = "checked" %}{% endif %} {% assign option_image = false%} {% if option.name contains 'color' or option.name contains 'Color' %} {% for v in product.variants %} {% if v.option1 == value %} {% assign option_image = v.images[0].src %} {% break %} {% endif %} {% endfor %} {% endif %} {% if option.name contains 'color' or option.name contains 'colour' or option.name contains 'Colour' or option.name contains 'Color' %} {% unless option_image %} {% endunless %} {% else %} {{value}} {% endif %} {%- if low_stock_enable == "true" and inventory_quantity < low_stock_threshold -%} ! {%- endif -%} {% endfor %} {% endfor %} {% capture low_stock_enable %}false{% endcapture %} {% capture low_stock_threshold %}10{% endcapture %} {% assign low_stock_threshold = low_stock_threshold | plus: 0 %} {% if variant.available %} {%- if low_stock_enable == "true" and variant.inventory_quantity < low_stock_threshold -%} Low Stock {%- endif -%} Qty Add to cart {% else %} Sold out {% endif %} {% if error %} {{error.description}} {% endif %} PRODUCT DETAILS The CF Twinzers are two small canard fins designed to be used with your favorite twin fin set. Pop them into the single plugs in any Twinzer board and enjoy some extra speed and stability underfoot! Maneuverability: Responsive Balanced Drive Compatibility: Construction: Fiberglass Flex: Stiff