Fix the page title issue and factor out javascript
This commit is contained in:
parent
140b43188b
commit
56f2309edc
|
@ -0,0 +1,62 @@
|
||||||
|
function scrollTop()
|
||||||
|
{
|
||||||
|
window.scrollTo(0,0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setTitle(user, page)
|
||||||
|
{
|
||||||
|
document.title = `Brutaldon (${user}) – ${page}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function afterPage(user, page)
|
||||||
|
{
|
||||||
|
scrollTop();
|
||||||
|
setTitle(user,page);
|
||||||
|
}
|
||||||
|
|
||||||
|
function menuPrepare() {
|
||||||
|
// Remove is-active from navbar menu
|
||||||
|
var menu = document.querySelector('#navMenu');
|
||||||
|
menu.classList.remove('is-active');
|
||||||
|
|
||||||
|
// Add the burger
|
||||||
|
var brand = document.querySelector('.navbar-brand');
|
||||||
|
var burger = document.createElement('a');
|
||||||
|
burger.classList.toggle('navbar-burger');
|
||||||
|
burger.setAttribute("aria-label", "menu");
|
||||||
|
burger.setAttribute("aria-expanded", "false");
|
||||||
|
burger.setAttribute("data-target", "navMenu");
|
||||||
|
for (var index = 0; index < 3; index++)
|
||||||
|
{
|
||||||
|
var span = document.createElement('span');
|
||||||
|
span.setAttribute('aria-hidden', "true");
|
||||||
|
burger.appendChild(span);
|
||||||
|
}
|
||||||
|
brand.appendChild(burger);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Get all "navbar-burger" elements
|
||||||
|
var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
|
||||||
|
|
||||||
|
// Check if there are any navbar burgers
|
||||||
|
if ($navbarBurgers.length > 0) {
|
||||||
|
|
||||||
|
// Add a click event on each of them
|
||||||
|
$navbarBurgers.forEach(function ($el) {
|
||||||
|
$el.addEventListener('click', function () {
|
||||||
|
|
||||||
|
// Get the target from the "data-target" attribute
|
||||||
|
var target = $el.dataset.target;
|
||||||
|
var $target = document.getElementById(target);
|
||||||
|
|
||||||
|
// Toggle the class on both the "navbar-burger" and the "navbar-menu"
|
||||||
|
$el.classList.toggle('is-active');
|
||||||
|
$target.classList.toggle('is-active');
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -8,7 +8,7 @@
|
||||||
<title>
|
<title>
|
||||||
{% block title %}
|
{% block title %}
|
||||||
{% if own_acct %}
|
{% if own_acct %}
|
||||||
brutaldon ({{ own_acct.username }})
|
brutaldon ('{{ own_acct.username }}')
|
||||||
{% else %}
|
{% else %}
|
||||||
brutaldon
|
brutaldon
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -28,6 +28,7 @@
|
||||||
href="{% static 'css/fork-awesome.min.css' %}">
|
href="{% static 'css/fork-awesome.min.css' %}">
|
||||||
<script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script>
|
<script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script>
|
||||||
<script type="text/javascript" src="{% static 'js/intercooler.js' %}"></script>
|
<script type="text/javascript" src="{% static 'js/intercooler.js' %}"></script>
|
||||||
|
<script type="text/javascript" src="{% static 'js/brutaldon-enhancements.js' %}"></script>
|
||||||
{% block page_scripts %}
|
{% block page_scripts %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -48,7 +49,7 @@
|
||||||
{% if own_acct %}
|
{% if own_acct %}
|
||||||
<img src="{{ own_acct.avatar_static }}"
|
<img src="{{ own_acct.avatar_static }}"
|
||||||
class="image is-32x32 avatar"
|
class="image is-32x32 avatar"
|
||||||
alt="Brutaldon ({{ own_acct.username }})">
|
alt="Brutaldon ('{{ own_acct.username }}')">
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src="{% static "images/brutaldon.png" %}"
|
<img src="{% static "images/brutaldon.png" %}"
|
||||||
class="image is-32x32" alt="Brutaldon">
|
class="image is-32x32" alt="Brutaldon">
|
||||||
|
@ -65,6 +66,7 @@
|
||||||
ic-target="#main"
|
ic-target="#main"
|
||||||
ic-select-from-response="#main"
|
ic-select-from-response="#main"
|
||||||
ic-push-url="true"
|
ic-push-url="true"
|
||||||
|
ic-on-success="afterPage('{{ own_acct.username }}', 'Home');"
|
||||||
ic-indicator="#page-load-indicator">
|
ic-indicator="#page-load-indicator">
|
||||||
<span class="fa fa-home"></span>
|
<span class="fa fa-home"></span>
|
||||||
<span> Home</span>
|
<span> Home</span>
|
||||||
|
@ -74,6 +76,7 @@
|
||||||
ic-target="#main"
|
ic-target="#main"
|
||||||
ic-select-from-response="#main"
|
ic-select-from-response="#main"
|
||||||
ic-push-url="true"
|
ic-push-url="true"
|
||||||
|
ic-on-success="afterPage('{{ own_acct.username }}', 'Notifications');"
|
||||||
ic-indicator="#page-load-indicator">
|
ic-indicator="#page-load-indicator">
|
||||||
<span class="fa fa-bell-o"></span>
|
<span class="fa fa-bell-o"></span>
|
||||||
<span > Notifications</span>
|
<span > Notifications</span>
|
||||||
|
@ -83,6 +86,7 @@
|
||||||
ic-target="#main"
|
ic-target="#main"
|
||||||
ic-select-from-response="#main"
|
ic-select-from-response="#main"
|
||||||
ic-push-url="true"
|
ic-push-url="true"
|
||||||
|
ic-on-success="afterPage('{{ own_acct.username }}', 'Local timeline');"
|
||||||
ic-indicator="#page-load-indicator">
|
ic-indicator="#page-load-indicator">
|
||||||
<span class="fa fa-community"></span>
|
<span class="fa fa-community"></span>
|
||||||
<span > Local</span>
|
<span > Local</span>
|
||||||
|
@ -92,6 +96,7 @@
|
||||||
ic-target="#main"
|
ic-target="#main"
|
||||||
ic-select-from-response="#main"
|
ic-select-from-response="#main"
|
||||||
ic-push-url="true"
|
ic-push-url="true"
|
||||||
|
ic-on-success="afterPage('{{ own_acct.username }}', 'Federated timeline');"
|
||||||
ic-indicator="#page-load-indicator">
|
ic-indicator="#page-load-indicator">
|
||||||
<span class="fa fa-globe"></span>
|
<span class="fa fa-globe"></span>
|
||||||
<span > Federated</span>
|
<span > Federated</span>
|
||||||
|
@ -101,6 +106,7 @@
|
||||||
ic-target="#main"
|
ic-target="#main"
|
||||||
ic-select-from-response="#main"
|
ic-select-from-response="#main"
|
||||||
ic-push-url="true"
|
ic-push-url="true"
|
||||||
|
ic-on-success="afterPage('{{ own_acct.username }}', 'New toot');"
|
||||||
ic-indicator="#page-load-indicator">
|
ic-indicator="#page-load-indicator">
|
||||||
<span class="fa fa-edit"> </span>
|
<span class="fa fa-edit"> </span>
|
||||||
<span > New Toot</span>
|
<span > New Toot</span>
|
||||||
|
@ -110,6 +116,7 @@
|
||||||
ic-target="#main"
|
ic-target="#main"
|
||||||
ic-select-from-response="#main"
|
ic-select-from-response="#main"
|
||||||
ic-push-url="true"
|
ic-push-url="true"
|
||||||
|
ic-on-success="afterPage('{{ own_acct.username }}', 'Search');"
|
||||||
ic-indicator="#page-load-indicator">
|
ic-indicator="#page-load-indicator">
|
||||||
<span class="fa fa-search"> </span>
|
<span class="fa fa-search"> </span>
|
||||||
<span > Search</span>
|
<span > Search</span>
|
||||||
|
@ -171,53 +178,7 @@
|
||||||
{% if not preferences.theme.is_brutalist %}
|
{% if not preferences.theme.is_brutalist %}
|
||||||
|
|
||||||
<script type="application/javascript">
|
<script type="application/javascript">
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', menuPrepare);
|
||||||
// Remove is-active from navbar menu
|
|
||||||
var menu = document.querySelector('#navMenu');
|
|
||||||
menu.classList.remove('is-active');
|
|
||||||
|
|
||||||
// Add the burger
|
|
||||||
var brand = document.querySelector('.navbar-brand');
|
|
||||||
var burger = document.createElement('a');
|
|
||||||
burger.classList.toggle('navbar-burger');
|
|
||||||
burger.setAttribute("aria-label", "menu");
|
|
||||||
burger.setAttribute("aria-expanded", "false");
|
|
||||||
burger.setAttribute("data-target", "navMenu");
|
|
||||||
for (var index = 0; index < 3; index++)
|
|
||||||
{
|
|
||||||
var span = document.createElement('span');
|
|
||||||
span.setAttribute('aria-hidden', "true");
|
|
||||||
burger.appendChild(span);
|
|
||||||
}
|
|
||||||
brand.appendChild(burger);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Get all "navbar-burger" elements
|
|
||||||
var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
|
|
||||||
|
|
||||||
// Check if there are any navbar burgers
|
|
||||||
if ($navbarBurgers.length > 0) {
|
|
||||||
|
|
||||||
// Add a click event on each of them
|
|
||||||
$navbarBurgers.forEach(function ($el) {
|
|
||||||
$el.addEventListener('click', function () {
|
|
||||||
|
|
||||||
// Get the target from the "data-target" attribute
|
|
||||||
var target = $el.dataset.target;
|
|
||||||
var $target = document.getElementById(target);
|
|
||||||
|
|
||||||
// Toggle the class on both the "navbar-burger" and the "navbar-menu"
|
|
||||||
$el.classList.toggle('is-active');
|
|
||||||
$target.classList.toggle('is-active');
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
{% block page_scripts_inline %}
|
{% block page_scripts_inline %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in New Issue