160 lines
5.5 KiB
HTML
160 lines
5.5 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<!-- Sidebar Toggle Button (mobile only) -->
|
|
<button class="btn sidebar-toggle d-md-none" id="sidebarToggleBtn" aria-label="Toggle sidebar navigation" aria-expanded="false" aria-controls="sidebar">
|
|
<i class="bi bi-list"></i> Menu
|
|
</button>
|
|
|
|
<!-- Sidebar -->
|
|
<div class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse" id="sidebar">
|
|
<div class="position-sticky pt-3">
|
|
<h5 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mb-1 text-muted">
|
|
<span>Marketplace</span>
|
|
</h5>
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if active_section == 'dashboard' %}active{% endif %}" href="/marketplace">
|
|
<i class="bi bi-speedometer2 me-1"></i>
|
|
Overview
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if active_section == 'statistics' %}active{% endif %}" href="/marketplace/statistics">
|
|
<i class="bi bi-graph-up me-1"></i>
|
|
Statistics
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if active_section == 'compute_resources' %}active{% endif %}" href="/marketplace/compute">
|
|
<i class="bi bi-cpu me-1"></i>
|
|
Compute Resources
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if active_section == 'three_nodes' %}active{% endif %}" href="/marketplace/mycelium_nodes">
|
|
<i class="bi bi-hdd-rack me-1"></i>
|
|
Mycelium Nodes
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if active_section == 'gateways' %}active{% endif %}" href="/marketplace/gateways">
|
|
<i class="bi bi-globe me-1"></i>
|
|
Mycelium Gateways
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if active_section == 'applications' %}active{% endif %}" href="/marketplace/applications">
|
|
<i class="bi bi-app me-1"></i>
|
|
Agentic Apps
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link {% if active_section == 'services' %}active{% endif %}" href="/marketplace/services">
|
|
<i class="bi bi-person-workspace me-1"></i>
|
|
Human Energy Services
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main Content -->
|
|
<div class="col-md-9 ms-sm-auto col-lg-10 px-md-4 main-content-wrapper position-relative">
|
|
<!-- Sidebar Backdrop (mobile only) - positioned here so it doesn't cover the sidebar -->
|
|
<div class="sidebar-backdrop d-md-none" id="sidebarBackdrop"></div>
|
|
{% block marketplace_content %}
|
|
<!-- Content will be injected here by child templates -->
|
|
{% endblock %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block head %}
|
|
<!-- Add Bootstrap Icons -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.0/font/bootstrap-icons.css">
|
|
|
|
<style>
|
|
.sidebar {
|
|
position: fixed;
|
|
top: 56px; /* Navbar height */
|
|
bottom: 0;
|
|
left: 0;
|
|
z-index: 100;
|
|
padding: 20px 0 0;
|
|
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
|
|
height: 100%; /* Full height */
|
|
overflow-y: auto;
|
|
}
|
|
|
|
/* Footer should only appear on the right side */
|
|
@media (min-width: 768px) {
|
|
.footer {
|
|
margin-left: 25%; /* Matches the width of col-md-3 */
|
|
}
|
|
}
|
|
|
|
@media (min-width: 992px) {
|
|
.footer {
|
|
margin-left: 16.666667%; /* Matches the width of col-lg-2 */
|
|
}
|
|
}
|
|
|
|
.sidebar-heading {
|
|
font-size: .75rem;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sidebar .nav-link {
|
|
font-weight: 500;
|
|
color: #333;
|
|
}
|
|
|
|
.sidebar .nav-link.active {
|
|
color: #2470dc;
|
|
}
|
|
|
|
.dashboard-section {
|
|
padding: 20px;
|
|
margin-bottom: 20px;
|
|
border-radius: 5px;
|
|
background-color: #f8f9fa;
|
|
box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
|
|
}
|
|
|
|
.marketplace-item {
|
|
border: 1px solid #dee2e6;
|
|
border-radius: 5px;
|
|
padding: 15px;
|
|
margin-bottom: 20px;
|
|
background-color: white;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.marketplace-item:hover {
|
|
box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
|
|
transform: translateY(-5px);
|
|
}
|
|
|
|
.badge-category {
|
|
font-size: 0.75rem;
|
|
padding: 0.25rem 0.5rem;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
/* Adjust for fixed navbar */
|
|
main.py-4 {
|
|
padding-top: 4.5rem !important;
|
|
}
|
|
|
|
/* Removed conflicting media query */
|
|
</style>
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script src="/static/js/marketplace_layout.js"></script>
|
|
<!-- buy-now.js is now included in base.html -->
|
|
{% endblock %} |