Hide banner if mobile
This commit is contained in:
parent
45b3e0aa6a
commit
e2a787e519
3 changed files with 53 additions and 56 deletions
|
@ -16,7 +16,7 @@ public class AppConfig {
|
||||||
@Bean(name = "appVersion")
|
@Bean(name = "appVersion")
|
||||||
public String appVersion() {
|
public String appVersion() {
|
||||||
String version = getClass().getPackage().getImplementationVersion();
|
String version = getClass().getPackage().getImplementationVersion();
|
||||||
return (version != null) ? version : "0.3.3";
|
return (version != null) ? version : "0.0.0";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(name = "homeText")
|
@Bean(name = "homeText")
|
||||||
|
|
49
src/main/resources/static/js/homecard.js
Normal file
49
src/main/resources/static/js/homecard.js
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
function toggleFavorite(element) {
|
||||||
|
var img = element.querySelector('img');
|
||||||
|
var card = element.closest('.feature-card');
|
||||||
|
var cardId = card.id;
|
||||||
|
if (img.src.endsWith('star.svg')) {
|
||||||
|
img.src = 'images/star-fill.svg';
|
||||||
|
card.classList.add('favorite');
|
||||||
|
localStorage.setItem(cardId, 'favorite');
|
||||||
|
} else {
|
||||||
|
img.src = 'images/star.svg';
|
||||||
|
card.classList.remove('favorite');
|
||||||
|
localStorage.removeItem(cardId);
|
||||||
|
}
|
||||||
|
reorderCards();
|
||||||
|
updateFavoritesDropdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
function reorderCards() {
|
||||||
|
var container = document.querySelector('.features-container');
|
||||||
|
var cards = Array.from(container.getElementsByClassName('feature-card'));
|
||||||
|
cards.sort(function(a, b) {
|
||||||
|
var aIsFavorite = localStorage.getItem(a.id) === 'favorite';
|
||||||
|
var bIsFavorite = localStorage.getItem(b.id) === 'favorite';
|
||||||
|
if (aIsFavorite && !bIsFavorite) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (!aIsFavorite && bIsFavorite) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
cards.forEach(function(card) {
|
||||||
|
container.appendChild(card);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function initializeCards() {
|
||||||
|
var cards = document.querySelectorAll('.feature-card');
|
||||||
|
cards.forEach(function(card) {
|
||||||
|
var cardId = card.id;
|
||||||
|
var img = card.querySelector('.favorite-icon img');
|
||||||
|
if (localStorage.getItem(cardId) === 'favorite') {
|
||||||
|
img.src = 'images/star-fill.svg';
|
||||||
|
card.classList.add('favorite');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
reorderCards();
|
||||||
|
updateFavoritesDropdown();
|
||||||
|
}
|
||||||
|
window.onload = initializeCards;
|
|
@ -12,13 +12,13 @@
|
||||||
<div id="content-wrap">
|
<div id="content-wrap">
|
||||||
<div th:insert="~{fragments/navbar.html :: navbar}"></div>
|
<div th:insert="~{fragments/navbar.html :: navbar}"></div>
|
||||||
<!-- Jumbotron -->
|
<!-- Jumbotron -->
|
||||||
<div class="jumbotron jumbotron-fluid" id="jumbotron">
|
<div class="jumbotron jumbotron-fluid d-none d-md-block" id="jumbotron">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="display-4" th:text="${@appName}"></h1>
|
<h1 class="display-4" th:text="${@appName}"></h1>
|
||||||
<p class="lead" th:text="${@homeText != 'null' and @homeText != null and @homeText != ''} ? ${@homeText} : #{home.desc}"></p>
|
<p class="lead" th:text="${@homeText != 'null' and @homeText != null and @homeText != ''} ? ${@homeText} : #{home.desc}"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<br class="d-md-none">
|
||||||
<!-- Features -->
|
<!-- Features -->
|
||||||
<div class="features-container container">
|
<div class="features-container container">
|
||||||
|
|
||||||
|
@ -69,59 +69,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script src="js/homecard.js"></script>
|
||||||
function toggleFavorite(element) {
|
|
||||||
var img = element.querySelector('img');
|
|
||||||
var card = element.closest('.feature-card');
|
|
||||||
var cardId = card.id;
|
|
||||||
if (img.src.endsWith('star.svg')) {
|
|
||||||
img.src = 'images/star-fill.svg';
|
|
||||||
card.classList.add('favorite');
|
|
||||||
localStorage.setItem(cardId, 'favorite');
|
|
||||||
} else {
|
|
||||||
img.src = 'images/star.svg';
|
|
||||||
card.classList.remove('favorite');
|
|
||||||
localStorage.removeItem(cardId);
|
|
||||||
}
|
|
||||||
reorderCards();
|
|
||||||
updateFavoritesDropdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
function reorderCards() {
|
|
||||||
var container = document.querySelector('.features-container');
|
|
||||||
var cards = Array.from(container.getElementsByClassName('feature-card'));
|
|
||||||
cards.sort(function(a, b) {
|
|
||||||
var aIsFavorite = localStorage.getItem(a.id) === 'favorite';
|
|
||||||
var bIsFavorite = localStorage.getItem(b.id) === 'favorite';
|
|
||||||
if (aIsFavorite && !bIsFavorite) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (!aIsFavorite && bIsFavorite) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
});
|
|
||||||
cards.forEach(function(card) {
|
|
||||||
container.appendChild(card);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function initializeCards() {
|
|
||||||
var cards = document.querySelectorAll('.feature-card');
|
|
||||||
cards.forEach(function(card) {
|
|
||||||
var cardId = card.id;
|
|
||||||
var img = card.querySelector('.favorite-icon img');
|
|
||||||
if (localStorage.getItem(cardId) === 'favorite') {
|
|
||||||
img.src = 'images/star-fill.svg';
|
|
||||||
card.classList.add('favorite');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
reorderCards();
|
|
||||||
updateFavoritesDropdown();
|
|
||||||
}
|
|
||||||
window.onload = initializeCards;
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div th:insert="~{fragments/footer.html :: footer}"></div>
|
<div th:insert="~{fragments/footer.html :: footer}"></div>
|
||||||
|
|
Loading…
Reference in a new issue