.
This commit is contained in:
parent
77f6bb2061
commit
2d3ee0aed9
@ -1,38 +1,113 @@
|
||||
{% extends "layout.html.twig" %}
|
||||
|
||||
{% block page_title %}{% block title %}{% endblock %}{% endblock page_title %}
|
||||
|
||||
|
||||
{% block head_description %}
|
||||
{% block title %}
|
||||
AffiliateMNGR
|
||||
{% endblock %}
|
||||
|
||||
{% block gtm_head_part %}
|
||||
{% block favicons %}
|
||||
<link href="assets/img/favicon.png" rel="icon">
|
||||
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
||||
{% block gtm_body_part %}
|
||||
{% block fonts %}
|
||||
<link href="https://fonts.gstatic.com" rel="preconnect">
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Nunito:300,300i,400,400i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i"
|
||||
rel="stylesheet">
|
||||
{% endblock %}
|
||||
|
||||
{% block navbar %}
|
||||
{% block flash %}
|
||||
<div class="position-absolute" style="z-index: 999999">
|
||||
{# <div {{ react_component("Alert", {flashes: app.flashes}) }}></div> #}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block default_head_javascripts %}
|
||||
{{ encore_entry_script_tags('app') }}
|
||||
{% endblock default_head_javascripts %}
|
||||
|
||||
{% block head_javascripts %}
|
||||
{% endblock head_javascripts %}
|
||||
|
||||
{% block stylesheets %}
|
||||
{{ encore_entry_link_tags('app') }}
|
||||
{% block header_javascripts %}
|
||||
{# {{ encore_entry_script_tags('enginizer') }} #}
|
||||
{% endblock %}
|
||||
|
||||
{% block stylesheets %}
|
||||
{{ encore_entry_link_tags("app") }}
|
||||
{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
<header id="header" class="header fixed-top d-flex align-items-center">
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<a href="{{ path("home_index") }}" class="logo d-flex flex-row align-items-center">
|
||||
{# <img src="{{ asset("assets/affiliatemngr_logo.svg") }}" class="img-fluid" alt=""> #}
|
||||
<span class="d-none d-lg-block"> Dev</span>
|
||||
</a>
|
||||
<i class="bi bi-list toggle-sidebar-btn"></i>
|
||||
</div>
|
||||
{% block search_bar %}
|
||||
{# {% include 'widgets/search_bar.html.twig' %}#}
|
||||
|
||||
{% block above_footer %}
|
||||
<!-- above footer -->
|
||||
<!-- end above footer -->
|
||||
<nav class="header-nav ms-auto">
|
||||
<ul class="d-flex align-items-center">
|
||||
<li class="nav-item d-block d-lg-none">
|
||||
<a class="nav-link nav-icon search-bar-toggle " href="#">
|
||||
<i class="bi bi-search"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endblock %}
|
||||
|
||||
{% block notifications %}
|
||||
{% endblock %}
|
||||
|
||||
{% block messages %}
|
||||
{% endblock %}
|
||||
|
||||
{% block profile %}
|
||||
{% endblock %}
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
{% endblock %}
|
||||
{% block footer_content %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu/sidebar.html.twig' %}
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<main id="main" class="main">
|
||||
<div class="pagetitle">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h1>{% block page_title %}{% endblock %}</h1>
|
||||
<h6>{% block page_sub_title %}{% endblock %}</h6>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
{% block extra_header_options %}{% endblock %}
|
||||
</div>
|
||||
<div class="col-auto text-end">
|
||||
{% block buttons %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<nav class="d-flex flex-row justify-content-between">
|
||||
<ol class="breadcrumb">
|
||||
{% block breadcrumbs %}{% endblock %}
|
||||
</ol>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<section class="section dashboard">
|
||||
{% block content %}{% endblock %}
|
||||
</section>
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
||||
{% block footer %}
|
||||
{# <footer id="footer" class="footer"> #}
|
||||
{# <div class="copyright"> #}
|
||||
{# © Copyright <strong><span>4BIS Innovations B.V.</span></strong> #}
|
||||
{# </div> #}
|
||||
{# </footer> #}
|
||||
{% endblock %}
|
||||
|
||||
{% block back_to_top %}
|
||||
<a href="#" class="back-to-top d-flex align-items-center justify-content-center"><i
|
||||
class="bi bi-arrow-up-short"></i></a>
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{{ encore_entry_script_tags("app") }}
|
||||
{% endblock %}
|
@ -1,9 +1,10 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% block main_content %}
|
||||
{% block title %}Home{% endblock title %}
|
||||
{% block content %}
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
Test
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock main_content %}
|
||||
{% endblock content %}
|
@ -1,69 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block page_title %}{% endblock page_title %}</title>
|
||||
{% block meta %}
|
||||
<link rel="shortcut icon" href="">
|
||||
<link rel="icon" type="image/x-icon" href="">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0">
|
||||
{% if block('head_description') %}
|
||||
<meta name="description" content="{% block head_description %}{% endblock %}" >
|
||||
{% endif %}
|
||||
<meta name="keywords" content="Technology news, Tech trends, Innovation updates, Gadgets, Tech analysis, Emerging technologies, Digital advancements, Latest News"/>
|
||||
{% endblock meta %}
|
||||
{% block meta_robots %}
|
||||
<meta name="robots" content="index,follow"/>
|
||||
{% endblock meta_robots %}
|
||||
|
||||
{% block stylesheets %}{% endblock stylesheets %}
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
|
||||
{% block default_head_javascripts %}{% endblock default_head_javascripts %}
|
||||
{% block head_javascripts %}{% endblock head_javascripts %}
|
||||
<title>{% block title %}{% endblock %} | Kieran Dev Project</title>
|
||||
<meta content="" name="description">
|
||||
<meta content="" name="keywords">
|
||||
{# <link rel="shortcut icon" href="{{ asset('/assets/Ill.favicon.affiliate-mngr_2021.png') }}">#}
|
||||
{# <link rel="icon" type="image/x-icon" href="{{ asset('/assets/Ill.favicon.affiliate-mngr_2021.png') }}">#}
|
||||
|
||||
{% block gtm_head_part %}{% endblock gtm_head_part %}
|
||||
{% block favicons %}{% endblock %}
|
||||
|
||||
{% block fonts %}{% endblock %}
|
||||
|
||||
{% block header_javascripts %}{% endblock %}
|
||||
{% block stylesheets %}{% endblock %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{% block flash %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<body id="page-top" class="{% block body_class %}{% endblock %}">
|
||||
{% block gtm_body_part %}{% endblock %}
|
||||
{% block nav %}
|
||||
{% block navbar %}{% endblock %}
|
||||
{% endblock %}
|
||||
{% block page_wrapper %}
|
||||
<div id="wrapper">
|
||||
{% block page_wrapper_content %}
|
||||
{% block content_wrapper %}
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" class="d-flex flex-column">
|
||||
{% block content_wrapper_content %}
|
||||
<!-- Main Content -->
|
||||
{% block content_breadcrumbs %}{% endblock %}
|
||||
{% block main_content_body %}
|
||||
{% block main_content_title %}{% endblock main_content_title %}
|
||||
{% block main_content %}{% endblock main_content %}
|
||||
{% endblock %}
|
||||
{% block header %}{% endblock %}
|
||||
|
||||
<!-- End of Main Content -->
|
||||
{% endblock content_wrapper_content %}
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
{% endblock content_wrapper %}
|
||||
{% endblock page_wrapper_content %}
|
||||
</div>
|
||||
{% endblock page_wrapper %}
|
||||
<!-- bottom footer -->
|
||||
{% block above_footer %}{% endblock %}
|
||||
{% block sidebar %}{% endblock %}
|
||||
|
||||
{% block footer_wrapper %}
|
||||
{% block footer_content %}{% endblock footer_content %}
|
||||
{% endblock footer_wrapper %}
|
||||
<!-- /bottom footer -->
|
||||
{% block default_footer_javascripts %}{% endblock default_footer_javascripts %}
|
||||
{% block footer_javascripts %}{% endblock footer_javascripts %}
|
||||
</body>
|
||||
{% endblock body %}
|
||||
{% block main %}{% endblock %}
|
||||
|
||||
{% block footer %}{% endblock %}
|
||||
|
||||
{% block back_to_top %}{% endblock %}
|
||||
|
||||
{% block javascripts %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
50
templates/menu/client_channel_dropdown.html.twig
Normal file
50
templates/menu/client_channel_dropdown.html.twig
Normal file
@ -0,0 +1,50 @@
|
||||
{% set user = app.user %}
|
||||
{#{% if data_provider.userHasInvites %}#}
|
||||
{# <a href="{{ path('user_invites') }}">#}
|
||||
{# <h4 class="p-0 m-0"><i class="bi bi-envelope text-light "></i></h4>#}
|
||||
{# </a>#}
|
||||
{#{% endif %}#}
|
||||
{% if user.employees.empty %}
|
||||
<a href="{{ path('client_new') }}" class="btn btn-success rounded-0 ms-auto">
|
||||
Create client account
|
||||
</a>
|
||||
{% else %}
|
||||
<div class="dropdown ms-auto me-2">
|
||||
<button class="btn btn-light dropdown-toggle
|
||||
rounded-0 ms-auto {{ client ? "opacity-5" : "opacity-3" }}"
|
||||
type="button" id="client_dropdown"
|
||||
data-bs-toggle="dropdown" aria-expanded="false">
|
||||
{{ client ? client.name : 'Choose Customer Account' }}
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-end animate slideIn rounded-0"
|
||||
aria-labelledby="client_dropdown">
|
||||
{% for employee in user.employees %}
|
||||
<li>
|
||||
<a class="dropdown-item {{ ((client ? client.slug : "") == employee.client.slug) ? 'active' : '' }}"
|
||||
href="{{ path ?? path(currentRoute, params|merge({'slug': employee.client.slug})) }}">
|
||||
{{ employee.client.name }}
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li>
|
||||
<span class="text-danger dropdown-item">No Customer Accounts</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
<hr class=" m-1">
|
||||
<li><a class="dropdown-item text-danger" href="{{ path('home_index', {slug: '-'}) }}"><i
|
||||
class="bi bi-times"></i> No client account</a></li>
|
||||
<li><a class="dropdown-item text-success " href="{{ path('client_new') }}"><i
|
||||
class="bi bi-plus"></i>
|
||||
New
|
||||
client account</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="channel_dropdown_widget">
|
||||
{% include 'widgets/channel_dropdown_widget.html.twig' %}
|
||||
</div>
|
||||
{% if client_service.getClient %}
|
||||
<div id="notification_holder" class="ms-1 d-inline-block">
|
||||
{% include 'widgets/notifications_widget.html.twig' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
37
templates/menu/menu_dropdown.html.twig
Normal file
37
templates/menu/menu_dropdown.html.twig
Normal file
@ -0,0 +1,37 @@
|
||||
<div class="dropdown ms-2 me-2">
|
||||
<button class="btn btn-light rounded-0" type="button" id="extra_dropdown"
|
||||
data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="bi bi-bars"></i>
|
||||
</button>
|
||||
<ul class="w-100 dropdown-menu dropdown-menu-end animate slideIn rounded-0" aria-labelledby="extra_dropdown">
|
||||
<li>
|
||||
<a class="dropdown-item" href="{{ path('profile_index', {slug: client_service.slug}) }}">
|
||||
<i class="bi bi-user-circle"></i> Profile
|
||||
</a>
|
||||
</li>
|
||||
{% if client_service.isClientActive %}
|
||||
<li><a class="dropdown-item" href="{{ path('client_show', {slug: client_service.slug}) }}"><i
|
||||
class="bi bi-building"></i> {{ client_service.client.name }}</a></li>
|
||||
{% endif %}
|
||||
{% if channel_service.isChannelActive %}
|
||||
<li><a class="dropdown-item"
|
||||
href="{{ path('ad_channel_show', {slug: client_service.slug, c_slug: channel_service.slug}) }}"><i
|
||||
class="bi bi-building"></i> {{ channel_service.channel.name }}</a></li>
|
||||
{% endif %}
|
||||
<hr class="my-0">
|
||||
<li>
|
||||
<button data-bs-toggle="modal"
|
||||
data-bs-target="#modal"
|
||||
hx-get="{{ path('support_report') }}"
|
||||
hx-target="#modalBody"
|
||||
class="dropdown-item">
|
||||
<i class="bi bi-info-circle"></i> Support
|
||||
</button>
|
||||
</li>
|
||||
<hr class="mt-0">
|
||||
<li>
|
||||
<a class="dropdown-item" href="{{ path('app_logout') }}"><i class="bi bi-sign-out-alt"></i>
|
||||
Logout</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
17
templates/menu/menu_widget.html.twig
Normal file
17
templates/menu/menu_widget.html.twig
Normal file
@ -0,0 +1,17 @@
|
||||
<ul class="navbar-nav mb-2 mb-lg-0">
|
||||
{% set menu = knp_menu_get("topbar") %}
|
||||
{% for item in menu.children %}
|
||||
{% if item.isDisplayed %}
|
||||
<li class="nav-item">
|
||||
<a href="{{ item.uri }}"
|
||||
class="nav-link {{ app.request.requestUri == item.uri ? "active" : "" }}">
|
||||
{% if item.attributes.icon is defined %}
|
||||
<i class="{{ item.attributes.icon }}"></i>
|
||||
{% else %}
|
||||
{{ item.name }}
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
50
templates/menu/navigation.html.twig
Normal file
50
templates/menu/navigation.html.twig
Normal file
@ -0,0 +1,50 @@
|
||||
{#{% set currentRoute = currentRoute ?? app.request.attributes.get('_route') %}#}
|
||||
{#{% set params = app.request.attributes.get('_route_params') %}#}
|
||||
{#{% set menu = knp_menu_get('main') %}#}
|
||||
|
||||
{#<nav class="navbar shadow navbar-expand-lg navbar-dark" style="background-color: #006096">#}
|
||||
{# <div class="container-fluid">#}
|
||||
{# <a href="{{ path('dashboard_index', {slug: client ? client.slug : "-", c_slug: channel ? channel.slug : "-"}) }}">#}
|
||||
{# <img src="https://cdn.4b.is/techlabs.4bis.co/cdn/cms_4bis/affiliatemngr/2021-07-02/60df2c0998568.affiliatemngr3-01.svg"#}
|
||||
{# alt="logo"#}
|
||||
{# class="m-1"#}
|
||||
{# style="width: 90px">#}
|
||||
{# </a>#}
|
||||
{# <button class="btn btn-link" type="button" data-bs-toggle="offcanvas"#}
|
||||
{# data-bs-target="#offcanvasWithBackdrop" aria-controls="offcanvasWithBackdrop">#}
|
||||
{# <i class="navbar-toggler-icon"></i>#}
|
||||
{# </button>#}
|
||||
{# <button class="navbar-toggler"#}
|
||||
{# type="button"#}
|
||||
{# data-bs-toggle="collapse"#}
|
||||
{# data-bs-target="#navbar_content"#}
|
||||
{# aria-controls="navbar_content"#}
|
||||
{# aria-expanded="false" aria-label="Toggle navigation">#}
|
||||
{# <span class="navbar-toggler-icon"></span>#}
|
||||
{# </button>#}
|
||||
{# <div class="collapse navbar-collapse" id="navbar_content">#}
|
||||
{# <div id="menu_widget_holder">#}
|
||||
{# {% include 'menu/menu_widget.html.twig' %}#}
|
||||
{# </div>#}
|
||||
{# <div class="d-none d-lg-block">#}
|
||||
{# {% if client %}#}
|
||||
{# <h6 class="text-white ms-2 mb-0">#}
|
||||
{# Active as: {{ client.name }}#}
|
||||
{# {% if channel %}#}
|
||||
{# / {{ channel.name }}#}
|
||||
{# {% endif %}#}
|
||||
{# </h6>#}
|
||||
{# {% endif %}#}
|
||||
{# </div>#}
|
||||
{# {% include 'menu/client_channel_dropdown.html.twig' %}#}
|
||||
{# {% include 'menu/scriptPopup.html.twig' %}#}
|
||||
{# {% include 'menu/menu_dropdown.html.twig' %}#}
|
||||
|
||||
{# {% if app.user.hasRole('ROLE_ADMIN') %}#}
|
||||
{# <a class="btn btn-warning text-dark rounded-0 ms-2 me-2" href="https://admin.affiliatemngr.com">#}
|
||||
{# Admin#}
|
||||
{# </a>#}
|
||||
{# {% endif %}#}
|
||||
{# </div>#}
|
||||
{# </div>#}
|
||||
{#</nav>#}
|
51
templates/menu/off_canvas_menu.html.twig
Normal file
51
templates/menu/off_canvas_menu.html.twig
Normal file
@ -0,0 +1,51 @@
|
||||
{#<div class="offcanvas offcanvas-start" data-bs-scroll="true" tabindex="-1" id="offcanvasWithBackdrop"#}
|
||||
{# aria-labelledby="offcanvasWithBackdropLabel">#}
|
||||
{# <div class="offcanvas-header" style="background: #006096">#}
|
||||
{# <button class="btn-close ms-auto" data-bs-dismiss="offcanvas"></button>#}
|
||||
{# </div>#}
|
||||
{# <div class="offcanvas-body">#}
|
||||
{# <ul class="list-group list-group-flush" id="menu">#}
|
||||
{# <h3 class="text-divider"><span class="p-1 small">Menu</span></h3>#}
|
||||
{# {% set displayed = false %}#}
|
||||
{# {% for item in knp_menu_get('main') %}#}
|
||||
{# {% if item.isDisplayed %}#}
|
||||
{# {% set displayed = true %}#}
|
||||
{# <li class="list-group-item list-group-item-action {{ app.request.requestUri == item.uri ? "active" : "" }}">#}
|
||||
{# <a class="p-0 text-decoration-none nav-link {{ app.request.requestUri == item.uri ? "text-light" : "text-dark" }}"#}
|
||||
{# href="{{ item.uri }}">#}
|
||||
{# {% if item.attributes.icon is defined %}#}
|
||||
{# <i class="{{ item.attributes.icon }}"></i> {{ item.name }}#}
|
||||
{# {% else %}#}
|
||||
{# {{ item.name }}#}
|
||||
{# {% endif %}#}
|
||||
{# </a>#}
|
||||
{# </li>#}
|
||||
{# {% endif %}#}
|
||||
{# {% endfor %}#}
|
||||
{# {% if not displayed %}#}
|
||||
{# <li class="list-group-item list-group-item-action">#}
|
||||
{# <i>No items</i>#}
|
||||
{# </li>#}
|
||||
{# {% endif %}#}
|
||||
{# </ul>#}
|
||||
{# {% if app.user.hasRole('ROLE_ADMIN') %}#}
|
||||
{# <h3 class="text-divider"><span class="p-1 small">Admin</span></h3>#}
|
||||
{# <ul class="list-group list-group-flush">#}
|
||||
{# {% for item in knp_menu_get('admin') %}#}
|
||||
{# {% if item.isDisplayed %}#}
|
||||
{# <li class="list-group-item list-group-item-action {{ app.request.requestUri == item.uri ? "active" : "" }}">#}
|
||||
{# <a class="p-0 text-decoration-none nav-link {{ app.request.requestUri == item.uri ? "text-light" : "text-dark" }}"#}
|
||||
{# href="{{ item.uri }}">#}
|
||||
{# {% if item.attributes.icon is defined %}#}
|
||||
{# <i class="{{ item.attributes.icon }}"></i> {{ item.name }}#}
|
||||
{# {% else %}#}
|
||||
{# {{ item.name }}#}
|
||||
{# {% endif %}#}
|
||||
{# </a>#}
|
||||
{# </li>#}
|
||||
{# {% endif %}#}
|
||||
{# {% endfor %}#}
|
||||
{# </ul>#}
|
||||
{# {% endif %}#}
|
||||
{# </div>#}
|
||||
{#</div>#}
|
37
templates/menu/scriptPopup.html.twig
Normal file
37
templates/menu/scriptPopup.html.twig
Normal file
@ -0,0 +1,37 @@
|
||||
<div class="ms-2 me-2">
|
||||
<button type="button" class="btn btn-light rounded-0" data-bs-toggle="modal" data-bs-target="#scripModal">
|
||||
Script
|
||||
</button>
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="scripModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Script</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Paste at the bottom of your page</p>
|
||||
<textarea readonly class="form-control" rows="10" id="scriptView">
|
||||
{{ setting_service.getSetting('javascript-script-button') }}
|
||||
</textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" id="scriptCopy"><i class="bi bi-copy"></i> Copy
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
let button = document.getElementById('scriptCopy');
|
||||
button.addEventListener("click", function () {
|
||||
let scriptView = document.getElementById('scriptView');
|
||||
scriptView.select();
|
||||
document.execCommand("copy");
|
||||
})
|
||||
})()
|
||||
</script>
|
||||
</div>
|
38
templates/menu/sidebar.html.twig
Normal file
38
templates/menu/sidebar.html.twig
Normal file
@ -0,0 +1,38 @@
|
||||
<aside id="sidebar" class="sidebar">
|
||||
<ul class="sidebar-nav" id="sidebar-nav">
|
||||
{# {% for name, item in menu_service.menuItems %}#}
|
||||
{# {% if item.type is defined and item.type is same as "collapse" %}#}
|
||||
{# {% set closed = app.request.attributes.get("_route") not in [item.route]|merge(item.items|map(si => si.route)) %}#}
|
||||
{# <li class="nav-item">#}
|
||||
{# <a class="nav-link {{ closed ? "collapsed" }}"#}
|
||||
{# data-bs-target="#{{ item.route }}-nav"#}
|
||||
{# data-bs-toggle="collapse"#}
|
||||
{# href="#">#}
|
||||
{# <i class="{{ item.icon }}"></i>#}
|
||||
{# <span>{{ name }}</span><i class="bi bi-chevron-down ms-auto"></i>#}
|
||||
{# </a>#}
|
||||
{# <ul id="{{ item.route }}-nav" class="nav-content collapse {{ not closed ? "show" }}"#}
|
||||
{# data-bs-parent="#sidebar-nav">#}
|
||||
{# {% for subItem in item.items %}#}
|
||||
{# <li class="nav-item">#}
|
||||
{# <a href="{{ path(subItem.route) }}"#}
|
||||
{# class="{{ app.request.attributes.get("_route") is same as subItem.route ? "active" }}">#}
|
||||
{# <i class="{{ subItem.icon }}"></i>#}
|
||||
{# <span>{{ subItem.name }}</span>#}
|
||||
{# </a>#}
|
||||
{# </li>#}
|
||||
{# {% endfor %}#}
|
||||
{# </ul>#}
|
||||
{# </li>#}
|
||||
{# {% else %}#}
|
||||
{# <li class="nav-item">#}
|
||||
{# <a class="nav-link {{ app.request.attributes.get("_route") is not same as item.route ? "collapsed" }}"#}
|
||||
{# href="{{ path(item.route) }}">#}
|
||||
{# <i class="{{ item.icon }}"></i>#}
|
||||
{# {{ name }}#}
|
||||
{# </a>#}
|
||||
{# </li>#}
|
||||
{# {% endif %}#}
|
||||
{# {% endfor %}#}
|
||||
</ul>
|
||||
</aside>
|
Loading…
x
Reference in New Issue
Block a user