blob: 73c874542ad7c8643207476510bf7b6e01132711 [file] [log] [blame]
Anand Doshida858cc2015-02-24 17:50:44 +05301{% macro product_image_square(website_image, css_class="") %}
Rushabh Mehta440650d2016-11-14 13:13:53 +05302<div class="product-image product-image-square
3 {% if not website_image -%} missing-image {%- endif %} {{ css_class }}"
4 {% if website_image -%}
5 style="background-image: url('{{ frappe.utils.quoted(website_image) | abs_url }}');"
6 {%- endif %}>
Anand Doshida858cc2015-02-24 17:50:44 +05307</div>
8{% endmacro %}
9
prssanna11eae6d2021-02-01 20:01:37 +053010{% macro product_image(website_image, css_class="product-image", alt="") %}
Shivam Mishra45a56282020-12-30 15:51:50 +053011 <div class="border text-center rounded {{ css_class }}" style="overflow: hidden;">
Shivam Mishraa0954e62020-08-07 14:34:54 +053012 <img itemprop="image" class="website-image h-100 w-100" alt="{{ alt }}" src="{{ frappe.utils.quoted(website_image or 'no-image.jpg') | abs_url }}">
prssannaeb0e5962020-12-24 11:40:33 +053013 </div>
Rushabh Mehta156ce602015-09-11 18:49:59 +053014{% endmacro %}
pratu16x760fe77c2017-02-13 21:52:43 +053015
16{% macro media_image(website_image, name, css_class="") %}
pratu16x70e94b4b2017-02-14 16:32:48 +053017 <div class="product-image sidebar-image-wrapper {{ css_class }}">
18 {% if not website_image -%}
19 <div class="sidebar-standard-image"> <div class="standard-image" style="background-color: rgb(250, 251, 252);">{{name}}</div> </div>
20 {%- endif %}
prssannaeb0e5962020-12-24 11:40:33 +053021 {% if website_image -%}
pratu16x760fe77c2017-02-13 21:52:43 +053022 <a href="{{ frappe.utils.quoted(website_image) }}">
pratu16x70e94b4b2017-02-14 16:32:48 +053023 <img itemprop="image" src="{{ frappe.utils.quoted(website_image) | abs_url }}"
24 class="img-responsive img-thumbnail sidebar-image" style="min-height:100%; min-width:100%;">
pratu16x760fe77c2017-02-13 21:52:43 +053025 </a>
prssannaeb0e5962020-12-24 11:40:33 +053026 {%- endif %}
27 </div>
pratu16x760fe77c2017-02-13 21:52:43 +053028{% endmacro %}
Faris Ansari5f8b3582019-03-19 11:48:32 +053029
30{% macro render_homepage_section(section) %}
31
32{% if section.section_based_on == 'Custom HTML' and section.section_html %}
33 {{ section.section_html }}
34{% elif section.section_based_on == 'Cards' %}
35<section class="container my-5">
36 <h3>{{ section.name }}</h3>
37
38 <div class="row">
39 {% for card in section.section_cards %}
40 <div class="col-md-{{ section.column_value }} mb-4">
41 <div class="card h-100 justify-content-between">
42 {% if card.image %}
Mohamed Almubarakf7ea3402021-01-28 10:02:13 +030043 <div class="website-image-lazy" data-class="card-img-top h-75" data-src="{{ card.image }}" data-alt="{{ card.title }}"></div>
Faris Ansari5f8b3582019-03-19 11:48:32 +053044 {% endif %}
45 <div class="card-body">
46 <h5 class="card-title">{{ card.title }}</h5>
47 <p class="card-subtitle mb-2 text-muted">{{ card.subtitle or '' }}</p>
Faris Ansarib8eaa3d2019-06-01 20:56:37 +053048 <p class="card-text">{{ card.content or '' | truncate(140, True) }}</p>
Faris Ansari5f8b3582019-03-19 11:48:32 +053049 </div>
50 <div class="card-body flex-grow-0">
51 <a href="{{ card.route }}" class="card-link">{{ _('More details') }}</a>
52 </div>
53 </div>
54 </div>
55 {% endfor %}
56 </div>
57</section>
58{% endif %}
59
prssannaeb0e5962020-12-24 11:40:33 +053060{% endmacro %}
61
marination16b9c8c2021-03-11 10:56:00 +053062{%- macro item_card(title, image, url, description, rate, category, in_stock=None, is_featured=False, is_full_width=False, align="Left") -%}
prssannaeb0e5962020-12-24 11:40:33 +053063{%- set align_items_class = resolve_class({
64 'align-items-end': align == 'Right',
65 'align-items-center': align == 'Center',
66 'align-items-start': align == 'Left',
67}) -%}
68{%- set col_size = 3 if is_full_width else 4 -%}
69{% if is_featured %}
70<div class="col-sm-{{ col_size*2 }} item-card">
71 <div class="card featured-item {{ align_items_class }}">
72 {% if image %}
73 <div class="row no-gutters">
74 <div class="col-md-6">
75 <img class="card-img" src="{{ image }}" alt="{{ title }}">
76 </div>
77 <div class="col-md-6">
78 {{ item_card_body(title, description, url, rate, category, is_featured, align) }}
79 </div>
80 </div>
81 {% else %}
82 <div class="col-md-12">
83 {{ item_card_body(title, description, url, rate, category, is_featured, align) }}
84 </div>
85 {% endif %}
86 </div>
87</div>
88{% else %}
89<div class="col-sm-{{ col_size }} item-card">
90 <div class="card {{ align_items_class }}">
91 {% if image %}
marination16b9c8c2021-03-11 10:56:00 +053092 <div class="card-img-container">
93 <a href="/{{ url or '#' }}" style="text-decoration: none;">
94 <img class="card-img" src="{{ image }}" alt="{{ title }}">
95 </a>
96 </div>
prssannab00eb1b2021-01-20 17:52:54 +053097 {% else %}
marination16b9c8c2021-03-11 10:56:00 +053098 <a href="/{{ url or '#' }}" style="text-decoration: none;">
99 <div class="card-img-top no-image">
100 {{ frappe.utils.get_abbr(title) }}
101 </div>
102 </a>
prssannaeb0e5962020-12-24 11:40:33 +0530103 {% endif %}
marination16b9c8c2021-03-11 10:56:00 +0530104 {{ item_card_body(title, description, url, rate, category, is_featured, align, in_stock) }}
prssannaeb0e5962020-12-24 11:40:33 +0530105 </div>
106</div>
107{% endif %}
108{%- endmacro -%}
109
marination16b9c8c2021-03-11 10:56:00 +0530110{%- macro item_card_body(title, description, url, rate, category, is_featured, align, in_stock=None) -%}
prssannaeb0e5962020-12-24 11:40:33 +0530111{%- set align_class = resolve_class({
112 'text-right': align == 'Right',
113 'text-center': align == 'Center' and not is_featured,
114 'text-left': align == 'Left' or is_featured,
115}) -%}
marination16b9c8c2021-03-11 10:56:00 +0530116<div class="card-body {{ align_class }}" style="width:100%">
117
118 <div style="margin-top: 16px; display: flex;">
119 <a href="/{{ url or '#' }}">
120 <div class="product-title">{{ title or '' }}</div>
121 </a>
122 {% if in_stock %}
123 <span class="indicator {{ in_stock }} card-indicator"></span>
124 {% endif %}
125 <input class="level-item list-row-checkbox hidden-xs"
126 type="checkbox" data-name="{{ title }}" style="display: none !important;">
127 <div class="like-action"
128 data-name="{{ title }}" data-doctype="Item">
129 <svg class="icon sm">
130 <use class="wish-icon" href="#icon-heart"></use>
131 </svg>
132 </div>
133 </div>
prssannaeb0e5962020-12-24 11:40:33 +0530134 {% if is_featured %}
135 <div class="product-price">{{ rate or '' }}</div>
136 <div class="product-description ellipsis">{{ description or '' }}</div>
137 {% else %}
138 <div class="product-category">{{ category or '' }}</div>
marination16b9c8c2021-03-11 10:56:00 +0530139 <div style="display: flex;">
140 {% if rate %}
141 <div class="product-price" style="width: 60%;">{{ rate or '' }}</div>
142 {% endif %}
143 <div class="btn btn-sm btn-add-to-cart-list">
144 {{ _('Add to Cart') }}
145 </div>
146 </div>
prssannaeb0e5962020-12-24 11:40:33 +0530147 {% endif %}
148</div>
Ankush Menat4551d7d2021-08-19 13:41:10 +0530149{%- endmacro -%}