- Work done URL overridding
This commit is contained in:
parent
ac568b1750
commit
474ec986a6
|
@ -1,6 +1,8 @@
|
||||||
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}
|
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}
|
||||||
.grid{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:-webkit-box;display:flex;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;-webkit-box-flex:0;flex:0 1 auto;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -8px 0 -8px}.grid.grid-nogutter{margin:0}.grid.grid-nogutter>.col{padding:0}.col{box-sizing:border-box;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;max-width:100%;min-width:0;padding:0 8px 0 8px}.col-align-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.col-align-bottom{align-self:flex-end}.col-align-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.col-top{justify-content:flex-start !important;flex-direction:column;display:flex}.col-bottom{justify-content:flex-end !important;flex-direction:column;display:flex}.col-middle{justify-content:center;flex-direction:column;display:flex}.grid-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.grid-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.grid-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.grid-around{justify-content:space-around}.grid-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.col-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.col-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.grid-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.col-fixed{flex:initial}.col-grow-2{flex-grow:2}.col-grow-3{flex-grow:3}.col-grow-4{flex-grow:4}.col-grow-5{flex-grow:5}.col-grow-6{flex-grow:6}.col-grow-7{flex-grow:7}.col-grow-8{flex-grow:8}.col-grow-9{flex-grow:9}.col-grow-10{flex-grow:10}.col-grow-11{flex-grow:11}.col-1{-ms-flex-preferred-size:8.33333%;-webkit-flex-basis:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.col-2{-ms-flex-preferred-size:16.66667%;-webkit-flex-basis:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.col-3{-ms-flex-preferred-size:25%;-webkit-flex-basis:25%;flex-basis:25%;max-width:25%}.col-4{-ms-flex-preferred-size:33.33333%;-webkit-flex-basis:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.col-5{-ms-flex-preferred-size:41.66667%;-webkit-flex-basis:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.col-6{-ms-flex-preferred-size:50%;-webkit-flex-basis:50%;flex-basis:50%;max-width:50%}.col-7{-ms-flex-preferred-size:58.33333%;-webkit-flex-basis:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.col-8{-ms-flex-preferred-size:66.66667%;-webkit-flex-basis:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.col-9{-ms-flex-preferred-size:75%;-webkit-flex-basis:75%;flex-basis:75%;max-width:75%}.col-10{-ms-flex-preferred-size:83.33333%;-webkit-flex-basis:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.col-11{-ms-flex-preferred-size:91.66667%;-webkit-flex-basis:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.col-12{-ms-flex-preferred-size:100%;-webkit-flex-basis:100%;flex-basis:100%;max-width:100%}@media only screen and (max-width: 480px){.col-sm{flex:100%;max-width:100%}}@media only screen and (max-width: 624px){.col-md{flex:100%;max-width:100%}}@media only screen and (max-width: 744px){.col-lg{flex:100%;max-width:100%}}
|
.grid{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:-webkit-box;display:flex;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;-webkit-box-flex:0;flex:0 1 auto;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -8px 0 -8px}.grid.grid-nogutter{margin:0}.grid.grid-nogutter>.col{padding:0}.col{box-sizing:border-box;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;max-width:100%;min-width:0;padding:0 8px 0 8px}.col-align-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.col-align-bottom{align-self:flex-end}.col-align-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.col-top{justify-content:flex-start !important;flex-direction:column;display:flex}.col-bottom{justify-content:flex-end !important;flex-direction:column;display:flex}.col-middle{justify-content:center;flex-direction:column;display:flex}.grid-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.grid-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.grid-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.grid-around{justify-content:space-around}.grid-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.col-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.col-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.grid-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.col-fixed{flex:initial}.col-grow-2{flex-grow:2}.col-grow-3{flex-grow:3}.col-grow-4{flex-grow:4}.col-grow-5{flex-grow:5}.col-grow-6{flex-grow:6}.col-grow-7{flex-grow:7}.col-grow-8{flex-grow:8}.col-grow-9{flex-grow:9}.col-grow-10{flex-grow:10}.col-grow-11{flex-grow:11}.col-1{-ms-flex-preferred-size:8.33333%;-webkit-flex-basis:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.col-2{-ms-flex-preferred-size:16.66667%;-webkit-flex-basis:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.col-3{-ms-flex-preferred-size:25%;-webkit-flex-basis:25%;flex-basis:25%;max-width:25%}.col-4{-ms-flex-preferred-size:33.33333%;-webkit-flex-basis:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.col-5{-ms-flex-preferred-size:41.66667%;-webkit-flex-basis:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.col-6{-ms-flex-preferred-size:50%;-webkit-flex-basis:50%;flex-basis:50%;max-width:50%}.col-7{-ms-flex-preferred-size:58.33333%;-webkit-flex-basis:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.col-8{-ms-flex-preferred-size:66.66667%;-webkit-flex-basis:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.col-9{-ms-flex-preferred-size:75%;-webkit-flex-basis:75%;flex-basis:75%;max-width:75%}.col-10{-ms-flex-preferred-size:83.33333%;-webkit-flex-basis:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.col-11{-ms-flex-preferred-size:91.66667%;-webkit-flex-basis:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.col-12{-ms-flex-preferred-size:100%;-webkit-flex-basis:100%;flex-basis:100%;max-width:100%}@media only screen and (max-width: 480px){.col-sm{flex:100%;max-width:100%}}@media only screen and (max-width: 624px){.col-md{flex:100%;max-width:100%}}@media only screen and (max-width: 744px){.col-lg{flex:100%;max-width:100%}}
|
||||||
.align-items-center{align-items:center}.align-items-top{align-items:start}
|
.align-items-center{align-items:center}.align-items-top{align-items:start}
|
||||||
|
.justify-content-around{justify-content: space-around;}.justify-content-end{justify-content: end}
|
||||||
|
.flex {display:flex}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--color-red: #d47474
|
--color-red: #d47474
|
||||||
|
@ -8,7 +10,7 @@
|
||||||
|
|
||||||
.text-center{text-align:center;}.text-right{text-align:right}.text-left{text-align:left;}
|
.text-center{text-align:center;}.text-right{text-align:right}.text-left{text-align:left;}
|
||||||
|
|
||||||
[class^="btn-"], [class~=" btn-"] { display: inline-block; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; user-select: none; border: 1px solid transparent; padding: .375rem .75rem; line-height: 1.5; border-radius: .25rem; cursor:pointer; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; background:rgba(0,0,0,0.3); color:rgba(255,255,255,0.8); }
|
[class^="btn-"], [class~=" btn-"] { display: inline-block; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; user-select: none; border: 1px solid transparent; padding: .375rem .75rem; line-height: 1.5; border-radius: .25rem; cursor:pointer; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; background:rgba(0,0,0,0.3); color:rgba(255,255,255,0.8); text-decoration:none; }
|
||||||
[class^="btn-"]:hover, [class~=" btn-"]:hover {border-color: rgba(0, 0, 0, 0.5);text-decoration: underline;}
|
[class^="btn-"]:hover, [class~=" btn-"]:hover {border-color: rgba(0, 0, 0, 0.5);text-decoration: underline;}
|
||||||
.btn-red {background: rgba(155,0,0,0.5);color: rgba(255, 255, 255, 0.9);}
|
.btn-red {background: rgba(155,0,0,0.5);color: rgba(255, 255, 255, 0.9);}
|
||||||
.btn-green {background: rgba(0,155,0,0.5);color: rgba(255, 255, 255, 0.9);}
|
.btn-green {background: rgba(0,155,0,0.5);color: rgba(255, 255, 255, 0.9);}
|
||||||
|
@ -23,6 +25,7 @@ summary {cursor:pointer;}
|
||||||
|
|
||||||
/* Header */
|
/* Header */
|
||||||
#body-header {background: #fff; color:#fff; min-height:60px;line-height:60px;padding:0 1rem;position:sticky;top:0;border-bottom:1px solid #ebedee;}
|
#body-header {background: #fff; color:#fff; min-height:60px;line-height:60px;padding:0 1rem;position:sticky;top:0;border-bottom:1px solid #ebedee;}
|
||||||
|
#body-header > div {min-height: 60px;}
|
||||||
#right-panel {max-width:calc(100% - 240px);width:100%;margin-left:auto}
|
#right-panel {max-width:calc(100% - 240px);width:100%;margin-left:auto}
|
||||||
#subheader {background:#fff; padding: 1rem 1.4rem;display:flex;justify-content: space-between;box-shadow:0 1px 2px rgba(55,65,75,0.15)}
|
#subheader {background:#fff; padding: 1rem 1.4rem;display:flex;justify-content: space-between;box-shadow:0 1px 2px rgba(55,65,75,0.15)}
|
||||||
#subheader h1 {font-size:1.1rem;font-size:inherit; font-weight:bold}
|
#subheader h1 {font-size:1.1rem;font-size:inherit; font-weight:bold}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace Lean\Console\Controller;
|
namespace Lean\Console\Controller;
|
||||||
|
|
||||||
use League\Route\Router;
|
use League\Route\Router;
|
||||||
|
use Lean\Routing;
|
||||||
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
|
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
|
||||||
|
|
||||||
use Notes\Tell\Attribute\Language, Notes\Route\Attribute\Method\Route;
|
use Notes\Tell\Attribute\Language, Notes\Route\Attribute\Method\Route;
|
||||||
|
@ -17,14 +18,18 @@ class Request extends Console {
|
||||||
#[Route(route: "/request/routes", name: "lean.console:request.route")]
|
#[Route(route: "/request/routes", name: "lean.console:request.route")]
|
||||||
public function routes(ServerRequestInterface $request, array $arguments) : ResponseInterface
|
public function routes(ServerRequestInterface $request, array $arguments) : ResponseInterface
|
||||||
{
|
{
|
||||||
$routes = $this->container->has(UrlExtension::class) ? $this->container->get(UrlExtension::class)->getRouteList(true) : false;
|
$routing = $this->container->has(Routing::class) ? $this->container->get(Routing::class) : false;
|
||||||
|
|
||||||
uksort($routes, function($a, $b) {
|
if ( $routing === false ) {
|
||||||
return $a <=> $b;
|
throw new \Exception("Lean's routing library do not seems to be integrated into your container definition...");
|
||||||
|
}
|
||||||
|
|
||||||
|
$routes = $routing->fetchRoutesAttributes();
|
||||||
|
|
||||||
|
uasort($routes, function($a, $b) {
|
||||||
|
return ( $a->class . $a->name ) <=> ( $b->class . $b->name );
|
||||||
});
|
});
|
||||||
|
|
||||||
return $this->renderView("lean-console/page/request/route", [
|
return $this->renderView("lean-console/page/request/route", get_defined_vars());
|
||||||
'routes' => $routes
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -25,7 +25,11 @@
|
||||||
|
|
||||||
<div id="right-panel">
|
<div id="right-panel">
|
||||||
<header id="body-header">
|
<header id="body-header">
|
||||||
{% section "header" %}{% endsection %}
|
{% section "header" %}
|
||||||
|
<div class="flex align-items-center justify-content-end">
|
||||||
|
<a class="btn-blue" href="{% url %}">⇠ Return</a>
|
||||||
|
</div>
|
||||||
|
{% endsection %}
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div id="subheader">
|
<div id="subheader">
|
||||||
|
|
|
@ -4,10 +4,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "breadcrumb-items" %}
|
{% section "breadcrumb-items" %}
|
||||||
<li class="breadcrumb-item">{% _ 'breadcrumb' %}</li>
|
<li class="breadcrumb-item">{% _ 'breadcrumb' %}</li>
|
||||||
{% endsection %}
|
{% endsection %}
|
||||||
|
|
|
@ -4,10 +4,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "content" %}
|
{% section "content" %}
|
||||||
<section>
|
<section>
|
||||||
<article>Welcome into your Lean Console section. Select the appropriate menu item from the sidebar.</article>
|
<article>Welcome into your Lean Console section. Select the appropriate menu item from the sidebar.</article>
|
||||||
|
|
|
@ -4,14 +4,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "breadcrumb-items" %}
|
|
||||||
<li class="breadcrumb-item">{% _ 'logs.breadcrumb' %}</li>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "content" %}
|
{% section "content" %}
|
||||||
<section>
|
<section>
|
||||||
<header>
|
<header>
|
||||||
|
|
|
@ -4,14 +4,21 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "breadcrumb-items" %}
|
{% section "breadcrumb-items" %}
|
||||||
<li class="breadcrumb-item">{% _ 'route.breadcrumb' %}</li>
|
<li class="breadcrumb-item">{% _ 'route.breadcrumb' %}</li>
|
||||||
{% endsection %}
|
{% endsection %}
|
||||||
|
|
||||||
|
{% function routeHtml($route) %}
|
||||||
|
<div class="grid">
|
||||||
|
<strong class="col route-name">{{ $route->name }}</strong>
|
||||||
|
<div class="col route-uri">{{ $route->getRoute() }}</div>
|
||||||
|
<div class="col route-methods">{{ implode(', ', (array) ( $route->method ?? $route->methods )) }}</div>
|
||||||
|
<div class="col controller-method">
|
||||||
|
<span class="class">{{ $route->class }}</span>::<span>{{ $route->classMethod }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfunction %}
|
||||||
|
|
||||||
{% section "content" %}
|
{% section "content" %}
|
||||||
<section>
|
<section>
|
||||||
<header>
|
<header>
|
||||||
|
@ -27,15 +34,16 @@
|
||||||
<div class="col controller-method">{% _ 'route.target' %}</div>
|
<div class="col controller-method">{% _ 'route.target' %}</div>
|
||||||
</strong>
|
</strong>
|
||||||
|
|
||||||
{% foreach $routes as $name => $route %}
|
{% foreach $routes as $route %}
|
||||||
<div class="grid">
|
{{ routeHtml($route) }}
|
||||||
<strong class="col route-name">{{ $name }}</strong>
|
|
||||||
<div class="col route-uri">{{ $route['route'] }}</div>
|
{% if $overridden = $routing->findOverriddenRoute($route) %}
|
||||||
<div class="col route-methods">{{ implode(', ', $route['routeMethods']) }}</div>
|
<div style="background:rgba(255,0,0,0.2); text-decoration:line-through">
|
||||||
<div class="col controller-method">
|
{% foreach $routing->findOverriddenRoute($route) as $overridden %}
|
||||||
<span class="class">{{ $route['class'] }}</span>::<span>{{ $route['classMethod'] }}</span>
|
{{ routeHtml($overridden) }}
|
||||||
</div>
|
{% endforeach %}
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
{% endforeach %}
|
{% endforeach %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% _ 'routeless' %}
|
{% _ 'routeless' %}
|
||||||
|
|
|
@ -6,10 +6,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "breadcrumb-items" %}
|
{% section "breadcrumb-items" %}
|
||||||
<li class="breadcrumb-item">{% _ 'database.breadcrumb' %}</li>
|
<li class="breadcrumb-item">{% _ 'database.breadcrumb' %}</li>
|
||||||
{% endsection %}
|
{% endsection %}
|
||||||
|
|
|
@ -4,10 +4,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "content" %}
|
{% section "content" %}
|
||||||
{% if $connections %}
|
{% if $connections %}
|
||||||
{% ui:form.post "database.import" %}
|
{% ui:form.post "database.import" %}
|
||||||
|
|
|
@ -4,10 +4,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "breadcrumb-items" %}
|
{% section "breadcrumb-items" %}
|
||||||
<li class="breadcrumb-item">{% _ 'session.breadcrumb' %}</li>
|
<li class="breadcrumb-item">{% _ 'session.breadcrumb' %}</li>
|
||||||
{% endsection %}
|
{% endsection %}
|
||||||
|
|
|
@ -4,10 +4,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "breadcrumb-items" %}
|
{% section "breadcrumb-items" %}
|
||||||
<li class="breadcrumb-item">{% _ 'breadcrumb' %}</li>
|
<li class="breadcrumb-item">{% _ 'breadcrumb' %}</li>
|
||||||
{% endsection %}
|
{% endsection %}
|
||||||
|
|
|
@ -4,10 +4,6 @@
|
||||||
|
|
||||||
{% title _("title") %}
|
{% title _("title") %}
|
||||||
|
|
||||||
{% section "header" %}
|
|
||||||
<div class="page-title">{% _ "page-title" %}</div>
|
|
||||||
{% endsection %}
|
|
||||||
|
|
||||||
{% section "content" %}
|
{% section "content" %}
|
||||||
<section>
|
<section>
|
||||||
<header>
|
<header>
|
||||||
|
|
Loading…
Reference in New Issue