fix: show product in replacement of sub products in homepage
This commit is contained in:
+1
-152
@@ -48,157 +48,6 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% for section in homepage_sections %}
|
||||
|
||||
{% if section.section_type == "features" %}
|
||||
<section class="section features-section" aria-labelledby="features-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
{% if section.badge %}<div class="section-badge">{{ section.badge }}</div>{% endif %}
|
||||
<h2 class="section-title" id="features-heading-{{ section.pk }}">{{ section.title }}</h2>
|
||||
{% if section.description %}<p class="section-desc">{{ section.description }}</p>{% endif %}
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
{% for item in section.items.all %}
|
||||
<div class="feature-card glass-card fade-in">
|
||||
{% if item.icon %}<div class="feature-icon" aria-hidden="true">{{ item.icon }}</div>{% endif %}
|
||||
<h3 class="feature-title">{{ item.title }}</h3>
|
||||
<p class="feature-desc" data-readmore="88">{{ item.content }}</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% elif section.section_type == "screenshots" %}
|
||||
<section class="section screenshots-section" aria-labelledby="screenshots-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
{% if section.badge %}<div class="section-badge">{{ section.badge }}</div>{% endif %}
|
||||
<h2 class="section-title" id="screenshots-heading-{{ section.pk }}">{{ section.title }}</h2>
|
||||
{% if section.description %}<p class="section-desc">{{ section.description }}</p>{% endif %}
|
||||
</div>
|
||||
<div class="screenshots-grid">
|
||||
<div class="screenshot-item fade-in">
|
||||
<img src="{% static 'images/screenshot-2.jpg' %}" alt="Radiuma full workflow interface" loading="lazy" />
|
||||
</div>
|
||||
<div class="screenshot-item fade-in">
|
||||
<img src="{% static 'images/screenshot-3.png' %}" alt="Radiuma panel view" loading="lazy" />
|
||||
</div>
|
||||
<div class="screenshot-item fade-in">
|
||||
<img src="{% static 'images/screenshot-5.png' %}" alt="Radiuma segmentation view" loading="lazy" />
|
||||
</div>
|
||||
<div class="screenshot-item fade-in">
|
||||
<img src="{% static 'images/screenshot-8.jpg' %}" alt="Radiuma radiomics results" loading="lazy" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% elif section.section_type == "products" %}
|
||||
{% if sub_products %}
|
||||
<section class="section products-section" aria-labelledby="products-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
{% if section.badge %}<div class="section-badge">{{ section.badge }}</div>{% endif %}
|
||||
<h2 class="section-title" id="products-heading-{{ section.pk }}">{{ section.title }}</h2>
|
||||
{% if section.description %}<p class="section-desc">{{ section.description }}</p>{% endif %}
|
||||
</div>
|
||||
<div class="products-grid">
|
||||
{% for product in sub_products %}
|
||||
<a href="{{ product.get_absolute_url }}" class="product-card glass-card fade-in">
|
||||
{% if product.image %}
|
||||
<div class="product-card-image">
|
||||
<img src="{{ product.image.url }}" alt="{{ product.name }}" loading="lazy" />
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="product-card-body">
|
||||
{% if product.logo %}
|
||||
<img src="{{ product.logo.url }}" alt="" class="product-card-logo" aria-hidden="true" loading="lazy" />
|
||||
{% endif %}
|
||||
<h3 class="product-card-title">{{ product.name }}</h3>
|
||||
<p class="product-card-desc" data-readmore="88">{{ product.short_description }}</p>
|
||||
<span class="product-card-link">
|
||||
Explore
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
|
||||
<path d="M3 8H13M13 8L9 4M13 8L9 12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% elif section.section_type == "problems" %}
|
||||
<section class="section problems-section" aria-labelledby="problems-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
{% if section.badge %}<div class="section-badge">{{ section.badge }}</div>{% endif %}
|
||||
<h2 class="section-title" id="problems-heading-{{ section.pk }}">{{ section.title }}</h2>
|
||||
{% if section.description %}<p class="section-desc">{{ section.description }}</p>{% endif %}
|
||||
</div>
|
||||
<div class="problems-grid">
|
||||
{% for item in section.items.all %}
|
||||
<div class="problem-item glass-card fade-in">
|
||||
{% if item.icon %}<div class="problem-number" aria-hidden="true">{{ item.icon }}</div>{% endif %}
|
||||
<h3 class="problem-title">{{ item.title }}</h3>
|
||||
<p class="problem-desc" data-readmore="88">{{ item.content }}</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% elif section.section_type == "supporters" %}
|
||||
<section class="section supporters-section" aria-labelledby="supporters-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
{% if section.badge %}<div class="section-badge">{{ section.badge }}</div>{% endif %}
|
||||
<h2 class="section-title" id="supporters-heading-{{ section.pk }}">{{ section.title }}</h2>
|
||||
{% if section.description %}<p class="section-desc">{{ section.description }}</p>{% endif %}
|
||||
</div>
|
||||
<div class="supporters-grid">
|
||||
{% for item in section.items.all %}
|
||||
<div class="supporter-card glass-card fade-in">
|
||||
{% if item.image %}
|
||||
<div class="supporter-logo">
|
||||
<img src="{{ item.image.url }}" alt="{{ item.title }} logo" loading="lazy" />
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="supporter-body">
|
||||
<h3 class="supporter-name">{{ item.title }}</h3>
|
||||
{% if item.content %}<p class="supporter-desc">{{ item.content }}</p>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% elif section.section_type == "about_strip" %}
|
||||
<section class="section about-strip" aria-labelledby="about-strip-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="about-strip-inner glass-card">
|
||||
<div class="about-strip-content">
|
||||
{% if section.badge %}<div class="section-badge">{{ section.badge }}</div>{% endif %}
|
||||
<h2 class="section-title" id="about-strip-heading-{{ section.pk }}">{{ section.title }}</h2>
|
||||
{% if section.description %}<p class="about-strip-text">{{ section.description }}</p>{% endif %}
|
||||
{% if section.link_text and section.link_url %}
|
||||
<a href="{{ section.link_url }}" class="btn-primary">{{ section.link_text }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="about-strip-blobs" aria-hidden="true">
|
||||
<div class="strip-blob strip-blob--1"></div>
|
||||
<div class="strip-blob strip-blob--2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% include "partials/_page_sections.html" with sections=homepage_sections %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{% if url %}
|
||||
</a>
|
||||
{% else %}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,5 @@
|
||||
{% if url %}
|
||||
<a href="{{ url }}" class="{{ card_class }} glass-card fade-in section-item-link">
|
||||
{% else %}
|
||||
<div class="{{ card_class }} glass-card fade-in">
|
||||
{% endif %}
|
||||
@@ -48,11 +48,11 @@
|
||||
{% if items %}
|
||||
<div class="standards-grid">
|
||||
{% for item in items %}
|
||||
<div class="standard-card glass-card fade-in">
|
||||
{% include "partials/_linked_card_open.html" with url=item.url card_class="standard-card" %}
|
||||
{% if item.badge %}<div class="standard-badge">{{ item.badge }}</div>{% endif %}
|
||||
{% if item.title %}<h3 class="standard-title">{{ item.title }}</h3>{% endif %}
|
||||
{% if item.content %}<p class="standard-desc" data-readmore="88">{{ item.content }}</p>{% endif %}
|
||||
</div>
|
||||
{% include "partials/_linked_card_close.html" with url=item.url %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -107,12 +107,11 @@
|
||||
{% if items %}
|
||||
<div class="standards-grid" style="margin-top: 1.5rem;">
|
||||
{% for item in items %}
|
||||
<div class="standard-card glass-card fade-in">
|
||||
{% include "partials/_linked_card_open.html" with url=item.url card_class="standard-card" %}
|
||||
{% if item.badge %}<div class="standard-badge">{{ item.badge }}</div>{% endif %}
|
||||
{% if item.title %}<h3 class="standard-title">{{ item.title }}</h3>{% endif %}
|
||||
{% if item.content %}<p class="standard-desc" data-readmore="88">{{ item.content }}</p>{% endif %}
|
||||
{% if item.url %}<a href="{{ item.url }}" class="btn-ghost btn--sm" style="margin-top: 0.75rem;" target="_blank" rel="noopener noreferrer">{{ item.title }}</a>{% endif %}
|
||||
</div>
|
||||
{% include "partials/_linked_card_close.html" with url=item.url %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -130,11 +129,11 @@
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
{% for item in section.items.all %}
|
||||
<div class="feature-card glass-card fade-in">
|
||||
{% include "partials/_linked_card_open.html" with url=item.url card_class="feature-card" %}
|
||||
{% if item.icon %}<div class="feature-icon" aria-hidden="true">{{ item.icon }}</div>{% endif %}
|
||||
<h3 class="feature-title">{{ item.title }}</h3>
|
||||
<p class="feature-desc" data-readmore="88">{{ item.content }}</p>
|
||||
</div>
|
||||
{% include "partials/_linked_card_close.html" with url=item.url %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -151,9 +150,9 @@
|
||||
<div class="screenshots-grid">
|
||||
{% for item in section.items.all %}
|
||||
{% if item.image %}
|
||||
<div class="screenshot-item fade-in">
|
||||
{% include "partials/_linked_card_open.html" with url=item.url card_class="screenshot-item" %}
|
||||
<img src="{{ item.image.url }}" alt="{{ item.image_alt|default:item.title }}" loading="lazy" />
|
||||
</div>
|
||||
{% include "partials/_linked_card_close.html" with url=item.url %}
|
||||
{% endif %}
|
||||
{% empty %}
|
||||
<div class="screenshot-item fade-in">
|
||||
@@ -174,7 +173,7 @@
|
||||
</section>
|
||||
|
||||
{% elif section.section_type == "products" %}
|
||||
{% if sub_products %}
|
||||
{% if homepage_products %}
|
||||
<section class="section products-section" aria-labelledby="products-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
@@ -183,7 +182,7 @@
|
||||
{% if section.description %}<p class="section-desc">{{ section.description }}</p>{% endif %}
|
||||
</div>
|
||||
<div class="products-grid">
|
||||
{% for product in sub_products %}
|
||||
{% for product in homepage_products %}
|
||||
<a href="{{ product.get_absolute_url }}" class="product-card glass-card fade-in">
|
||||
{% if product.image %}
|
||||
<div class="product-card-image">
|
||||
@@ -191,9 +190,6 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="product-card-body">
|
||||
{% if product.logo %}
|
||||
<img src="{{ product.logo.url }}" alt="" class="product-card-logo" aria-hidden="true" loading="lazy" />
|
||||
{% endif %}
|
||||
<h3 class="product-card-title">{{ product.name }}</h3>
|
||||
<p class="product-card-desc" data-readmore="88">{{ product.short_description }}</p>
|
||||
<span class="product-card-link">
|
||||
@@ -210,6 +206,53 @@
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% elif section.section_type == "products_catalog" %}
|
||||
{% if homepage_products_catalog %}
|
||||
<section class="section products-catalog-section" aria-labelledby="products-catalog-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
{% if section.badge %}<div class="section-badge">{{ section.badge }}</div>{% endif %}
|
||||
{% if section.title %}<h2 class="section-title" id="products-catalog-heading-{{ section.pk }}">{{ section.title }}</h2>{% endif %}
|
||||
{% if section.description %}<p class="section-desc">{{ section.description }}</p>{% endif %}
|
||||
</div>
|
||||
<div class="products-overview-grid">
|
||||
{% for product in homepage_products_catalog %}
|
||||
<div class="product-overview-card glass-card fade-in">
|
||||
{% if product.image %}
|
||||
<div class="product-overview-image">
|
||||
<img src="{{ product.image.url }}" alt="{{ product.name }}" loading="lazy" />
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="product-overview-body">
|
||||
<h3 class="product-overview-title">{{ product.name }}</h3>
|
||||
<p class="product-overview-short">{{ product.short_description }}</p>
|
||||
<p class="product-overview-desc" data-readmore="110">{{ product.description }}</p>
|
||||
<a href="{{ product.get_absolute_url }}" class="btn-primary">Explore {{ product.name }}</a>
|
||||
</div>
|
||||
{% if product.sub_products.all %}
|
||||
<div class="product-overview-subs">
|
||||
<h4 class="product-overview-subs-title">Modules</h4>
|
||||
<ul class="product-overview-subs-list" role="list">
|
||||
{% for sub in product.sub_products.all %}
|
||||
<li>
|
||||
<a href="{{ sub.get_absolute_url }}" class="sub-link-chip">
|
||||
{{ sub.name }}
|
||||
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true">
|
||||
<path d="M2.5 6H9.5M9.5 6L7 3.5M9.5 6L7 8.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% elif section.section_type == "problems" %}
|
||||
<section class="section problems-section" aria-labelledby="problems-heading-{{ section.pk }}">
|
||||
<div class="container">
|
||||
@@ -220,11 +263,11 @@
|
||||
</div>
|
||||
<div class="problems-grid">
|
||||
{% for item in section.items.all %}
|
||||
<div class="problem-item glass-card fade-in">
|
||||
{% include "partials/_linked_card_open.html" with url=item.url card_class="problem-item" %}
|
||||
{% if item.icon %}<div class="problem-number" aria-hidden="true">{{ item.icon }}</div>{% endif %}
|
||||
<h3 class="problem-title">{{ item.title }}</h3>
|
||||
<p class="problem-desc" data-readmore="88">{{ item.content }}</p>
|
||||
</div>
|
||||
{% include "partials/_linked_card_close.html" with url=item.url %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -240,7 +283,7 @@
|
||||
</div>
|
||||
<div class="supporters-grid">
|
||||
{% for item in section.items.all %}
|
||||
<div class="supporter-card glass-card fade-in">
|
||||
{% include "partials/_linked_card_open.html" with url=item.url card_class="supporter-card" %}
|
||||
{% if item.image %}
|
||||
<div class="supporter-logo">
|
||||
<img src="{{ item.image.url }}" alt="{{ item.image_alt|default:item.title }} logo" loading="lazy" />
|
||||
@@ -250,7 +293,7 @@
|
||||
<h3 class="supporter-name">{{ item.title }}</h3>
|
||||
{% if item.content %}<p class="supporter-desc">{{ item.content }}</p>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% include "partials/_linked_card_close.html" with url=item.url %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -289,6 +332,17 @@
|
||||
{% if items %}
|
||||
<div class="faq-list">
|
||||
{% for item in items %}
|
||||
{% if item.url %}
|
||||
{% include "partials/_linked_card_open.html" with url=item.url card_class="faq-item faq-item--link" %}
|
||||
<div class="faq-question">
|
||||
{{ item.title }}
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
|
||||
<path d="M3 8H13M13 8L9 4M13 8L9 12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</div>
|
||||
{% if item.content %}<div class="rich-content faq-link-preview">{{ item.rendered_content }}</div>{% endif %}
|
||||
{% include "partials/_linked_card_close.html" with url=item.url %}
|
||||
{% else %}
|
||||
<div class="faq-item glass-card fade-in">
|
||||
<button
|
||||
class="faq-question"
|
||||
@@ -311,6 +365,7 @@
|
||||
<div class="rich-content">{{ item.rendered_content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user