<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Digital Menu - GIRUS CAFE</title>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Montserrat', sans-serif;
background-color: #f5f4f2;
margin: 0;
padding: 0;
}
.menu-container {
display: flex;
flex-direction: column;
min-height: 100vh;
padding: 20px;
}
.categories-container {
display: flex;
overflow-x: auto;
padding: 10px 0;
margin-bottom: 20px;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
}
.categories-container::-webkit-scrollbar {
display: none;
}
.category-button {
background-color: white;
border: none;
border-radius: 20px;
padding: 12px 20px;
margin-right: 10px;
font-weight: 600;
font-size: 16px;
cursor: pointer;
transition: all 0.3s ease;
white-space: nowrap;
}
.category-button.active {
background-color: #4CAF50;
color: white;
transform: scale(1.05);
}
.menu-content {
flex-grow: 1;
}
.menu-header {
height: 200px;
border-radius: 20px;
background-size: cover;
background-position: center;
margin-bottom: 20px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
color: white;
text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
.menu-items {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 20px;
}
.menu-item {
background-color: white;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: transform 0.3s ease;
}
.menu-item:hover {
transform: translateY(-5px);
}
.menu-item img {
width: 100%;
height: 200px;
object-fit: cover;
}
.menu-item-content {
padding: 15px;
}
.menu-item-title {
margin-top: 0;
color: #333;
font-size: 18px;
}
.menu-item-description {
color: #666;
margin-bottom: 10px;
font-size: 14px;
}
.menu-item-price {
font-weight: bold;
color: #4CAF50;
font-size: 16px;
}
@media (min-width: 768px) {
.menu-container {
flex-direction: row;
}
.categories-container {
flex-direction: column;
width: 200px;
height: calc(100vh - 40px);
overflow-y: auto;
padding-right: 20px;
}
.category-button {
margin-bottom: 10px;
margin-right: 0;
}
.menu-content {
margin-left: 20px;
}
.menu-header {
height: 300px;
}
}
</style>
</head>
<body>
<div class="menu-container">
<div class="categories-container">
<button class="category-button active" data-category="all">Mostrar Tudo</button>
<button class="category-button" data-category="entradas">Entradas</button>
<button class="category-button" data-category="sopas">Sopas</button>
<button class="category-button" data-category="peixe">Peixe</button>
<button class="category-button" data-category="carnes">Carnes</button>
<button class="category-button" data-category="sobremesas">Sobremesas</button>
<button class="category-button" data-category="bebidas">Bebidas</button>
</div>
<div class="menu-content">
<div class="menu-header" style="background-image: url('{{ asset('img/bg.jpg') }}');">
<h1>GIRUS CAFE</h1>
</div>
<div class="menu-items">
{% for entrada in entradas %}
<div class="menu-item" data-category="entradas">
<img src="{{ asset('img/Entradas/' ~ entrada.img) }}" alt="{{ entrada.nome }}">
<div class="menu-item-content">
<h4 class="menu-item-title">{{ entrada.nome }}</h4>
<p class="menu-item-description">{{ entrada.descricao }}</p>
<p class="menu-item-price">{{ entrada.preco }} €</p>
</div>
</div>
{% endfor %}
{% for sopa in sopas %}
<div class="menu-item" data-category="sopas">
<img src="{{ asset('img/Sopas/' ~ sopa.img) }}" alt="{{ sopa.nome }}">
<div class="menu-item-content">
<h4 class="menu-item-title">{{ sopa.nome }}</h4>
<p class="menu-item-description">{{ sopa.descricao }}</p>
<p class="menu-item-price">{{ sopa.preco }} €</p>
</div>
</div>
{% endfor %}
{% for peixe in peixes %}
<div class="menu-item" data-category="peixe">
<img src="{{ asset('img/Peixes/' ~ peixe.img) }}" alt="{{ peixe.nome }}">
<div class="menu-item-content">
<h4 class="menu-item-title">{{ peixe.nome }}</h4>
<p class="menu-item-description">{{ peixe.descricao }}</p>
<p class="menu-item-price">{{ peixe.preco }} €</p>
</div>
</div>
{% endfor %}
{% for carne in carnes %}
<div class="menu-item" data-category="carnes">
<img src="{{ asset('img/Carnes/' ~ carne.img) }}" alt="{{ carne.nome }}">
<div class="menu-item-content">
<h4 class="menu-item-title">{{ carne.nome }}</h4>
<p class="menu-item-description">{{ carne.descricao }}</p>
<p class="menu-item-price">{{ carne.preco }} €</p>
</div>
</div>
{% endfor %}
{% for sobremesa in sobremesas %}
<div class="menu-item" data-category="sobremesas">
<img src="{{ asset('img/Sobremesas/' ~ sobremesa.img) }}" alt="{{ sobremesa.nome }}">
<div class="menu-item-content">
<h4 class="menu-item-title">{{ sobremesa.nome }}</h4>
<p class="menu-item-description">{{ sobremesa.descricao }}</p>
<p class="menu-item-price">{{ sobremesa.preco }} €</p>
</div>
</div>
{% endfor %}
{% for bebida in bebidas %}
<div class="menu-item" data-category="bebidas">
<img src="{{ asset('img/Bebidas/' ~ bebida.img) }}" alt="{{ bebida.nome }}">
<div class="menu-item-content">
<h4 class="menu-item-title">{{ bebida.nome }}</h4>
<p class="menu-item-description">{{ bebida.descricao }}</p>
<p class="menu-item-price">{{ bebida.preco }} €</p>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<script>
const categoryButtons = document.querySelectorAll('.category-button');
const menuItems = document.querySelectorAll('.menu-item');
categoryButtons.forEach(button => {
button.addEventListener('click', () => {
const category = button.getAttribute('data-category');
categoryButtons.forEach(btn => btn.classList.remove('active'));
button.classList.add('active');
menuItems.forEach(item => {
if (category === 'all' || item.getAttribute('data-category') === category) {
item.style.display = 'block';
item.style.animation = 'fadeIn 0.5s';
} else {
item.style.display = 'none';
}
});
});
});
// Smooth scrolling for category buttons on mobile
const categoriesContainer = document.querySelector('.categories-container');
let isScrolling = false;
categoriesContainer.addEventListener('touchmove', () => {
isScrolling = true;
});
categoriesContainer.addEventListener('touchend', () => {
isScrolling = false;
});
categoryButtons.forEach(button => {
button.addEventListener('click', (e) => {
if (isScrolling) {
e.preventDefault();
return;
}
button.scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });
});
});
</script>
</body>
</html>