Merge branch 'boilerplate' into develop
This commit is contained in:
commit
e465c3c2fb
@ -2,6 +2,7 @@ import './external_links';
|
|||||||
import './message_icons';
|
import './message_icons';
|
||||||
import './forms';
|
import './forms';
|
||||||
import './copyable_text';
|
import './copyable_text';
|
||||||
|
import './main_menu';
|
||||||
|
|
||||||
import '../sass/app.scss';
|
import '../sass/app.scss';
|
||||||
|
|
||||||
|
17
assets/js/main_menu.js
Normal file
17
assets/js/main_menu.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const menuButton = document.getElementById('menu-button');
|
||||||
|
const mainMenu = document.getElementById('main-menu');
|
||||||
|
|
||||||
|
menuButton.addEventListener('click', (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
mainMenu.classList.toggle('open');
|
||||||
|
});
|
||||||
|
|
||||||
|
mainMenu.addEventListener('click', (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener('click', () => {
|
||||||
|
mainMenu.classList.remove('open');
|
||||||
|
});
|
||||||
|
});
|
@ -25,3 +25,6 @@ $warningColor: desaturate($warningText, 50%);
|
|||||||
$error: #ff0000;
|
$error: #ff0000;
|
||||||
$errorText: darken($error, 30%);
|
$errorText: darken($error, 30%);
|
||||||
$errorColor: desaturate($errorText, 50%);
|
$errorColor: desaturate($errorText, 50%);
|
||||||
|
|
||||||
|
// Responsivity
|
||||||
|
$menuLayoutSwitchTreshold: 700px;
|
||||||
|
@ -51,32 +51,83 @@ header {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nav ul {
|
nav {
|
||||||
display: flex;
|
ul {
|
||||||
flex-direction: row;
|
display: flex;
|
||||||
margin: 0;
|
flex-direction: row;
|
||||||
padding: 0;
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
|
||||||
a, span {
|
a, span {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 64px;
|
height: 64px;
|
||||||
padding: 0 24px;
|
padding: 0 24px;
|
||||||
|
|
||||||
|
.feather {
|
||||||
|
--icon-size: 24px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover, a:active {
|
||||||
|
background-color: rgba(255, 255, 255, 0.07);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: $menuLayoutSwitchTreshold) {
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
padding: 0 16px 0 8px;
|
||||||
|
font-size: 24px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
#menu-button {
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 16px;
|
||||||
|
line-height: $headerHeight;
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
|
||||||
.feather {
|
.feather {
|
||||||
--icon-size: 24px;
|
--icon-size: 28px;
|
||||||
margin-right: 10px;
|
margin: 0 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover {
|
ul {
|
||||||
background-color: rgba(255, 255, 255, 0.07);
|
flex-direction: column;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
transform: translateX(-100%);
|
||||||
|
transition: transform ease-out 150ms;
|
||||||
|
|
||||||
|
background-color: $headerBackground;
|
||||||
|
|
||||||
|
&.open {
|
||||||
|
transform: translateX(0%);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
<link rel="shortcut icon" type="image/png" href="/img/logox128.png">
|
<link rel="shortcut icon" type="image/png" href="/img/logox128.png">
|
||||||
<link rel="shortcut icon" type="image/svg" href="/img/logo.svg">
|
<link rel="shortcut icon" type="image/svg" href="/img/logo.svg">
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
{% if description %}
|
{% if description %}
|
||||||
<meta name="description" content="{{ description }}">
|
<meta name="description" content="{{ description }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -14,7 +14,8 @@
|
|||||||
{% block header %}
|
{% block header %}
|
||||||
<a href="/" class="logo"><img src="/img/logo.svg" alt="Logo"> {{ app.name }}</a>
|
<a href="/" class="logo"><img src="/img/logo.svg" alt="Logo"> {{ app.name }}</a>
|
||||||
<nav>
|
<nav>
|
||||||
<ul>
|
<button id="menu-button"><i data-feather="menu"></i></button>
|
||||||
|
<ul id="main-menu">
|
||||||
{% if user %}
|
{% if user %}
|
||||||
<li><a href="{{ route('file-upload') }}"><i data-feather="upload"></i> File uploader</a></li>
|
<li><a href="{{ route('file-upload') }}"><i data-feather="upload"></i> File uploader</a></li>
|
||||||
<li><a href="{{ route('file-manager') }}"><i data-feather="folder"></i> File manager</a></li>
|
<li><a href="{{ route('file-manager') }}"><i data-feather="folder"></i> File manager</a></li>
|
||||||
|
Loading…
Reference in New Issue
Block a user