Compare commits
No commits in common. "main" and "0.4.7" have entirely different histories.
9 changed files with 11 additions and 60 deletions
|
@ -1,14 +1,6 @@
|
||||||
// Sparkle effect on mouse move
|
// Sparkle effect on mouse move
|
||||||
document.addEventListener('mousemove', function (e) {
|
document.addEventListener('mousemove', function (e) {
|
||||||
const htmlElement = document.documentElement;
|
const emojis = ['✨', '💖', '🌟', '💅', '🦄', '🎉', '🌈'];
|
||||||
if (htmlElement.getAttribute('data-website-mode') === 'normal') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
let emojis = ['✨', '💖', '🌟', '💅', '🦄', '🎉', '🌈'];
|
|
||||||
|
|
||||||
if (htmlElement.getAttribute('data-website-mode') === 'mono') {
|
|
||||||
emojis = ['🦇', '🦉', '🦔', '🦡', '🐺', '', '', '', '', '', '', '', '', '', ''];
|
|
||||||
}
|
|
||||||
const sparkle = document.createElement('div');
|
const sparkle = document.createElement('div');
|
||||||
sparkle.className = 'emoji-footprint';
|
sparkle.className = 'emoji-footprint';
|
||||||
sparkle.textContent = emojis[Math.floor(Math.random() * emojis.length)];
|
sparkle.textContent = emojis[Math.floor(Math.random() * emojis.length)];
|
||||||
|
|
|
@ -307,11 +307,6 @@
|
||||||
animation: discoFlash 0.3s infinite, wiggle 0.2s infinite;
|
animation: discoFlash 0.3s infinite, wiggle 0.2s infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-website-mode="mono"] {
|
|
||||||
filter: grayscale(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Enhanced mode styles (for future use) */
|
/* Enhanced mode styles (for future use) */
|
||||||
[data-website-mode="enhanced"] .btn {
|
[data-website-mode="enhanced"] .btn {
|
||||||
background: linear-gradient(45deg, var(--bs-pink), var(--bs-purple), var(--bs-cyan), var(--bs-yellow), var(--bs-green), var(--bs-orange), var(--bs-red));
|
background: linear-gradient(45deg, var(--bs-pink), var(--bs-purple), var(--bs-cyan), var(--bs-yellow), var(--bs-green), var(--bs-orange), var(--bs-red));
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
namespace App\Controller;
|
namespace App\Controller;
|
||||||
|
|
||||||
use App\Form\UserNameFormType;
|
use App\Form\UserNameFormType;
|
||||||
use DateTimeImmutable;
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\HttpFoundation\Cookie;
|
use Symfony\Component\HttpFoundation\Cookie;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
|
@ -34,13 +33,7 @@ final class HomeController extends AbstractController
|
||||||
$response->headers->clearCookie('username');
|
$response->headers->clearCookie('username');
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
$response->headers->setCookie(
|
$response->headers->setCookie(new Cookie('username', $username));
|
||||||
new Cookie(
|
|
||||||
name: 'username',
|
|
||||||
value: $username,
|
|
||||||
expire: new DateTimeImmutable('+1 year'),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
$username = $request->cookies->get('username', self::DEFAULT_USERNAME);
|
$username = $request->cookies->get('username', self::DEFAULT_USERNAME);
|
||||||
|
|
|
@ -130,9 +130,6 @@ class OrderItem
|
||||||
|
|
||||||
public function setMenuItem(MenuItem|null $menuItem): static
|
public function setMenuItem(MenuItem|null $menuItem): static
|
||||||
{
|
{
|
||||||
if (! $menuItem instanceof MenuItem) {
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
$this->menuItem = $menuItem;
|
$this->menuItem = $menuItem;
|
||||||
$this->name = $menuItem->getName();
|
$this->name = $menuItem->getName();
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header class="mb-4">
|
<header class="mb-4">
|
||||||
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<span class="navbar-brand">Futtern</span>
|
<span class="navbar-brand">Futtern</span>
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
@ -26,10 +26,6 @@
|
||||||
<li class="nav-item"><a class="nav-link" href="https://git.hannover.ccc.de/lubiana/futtern/issues/new" target="_blank">Create Issue</a></li>
|
<li class="nav-item"><a class="nav-link" href="https://git.hannover.ccc.de/lubiana/futtern/issues/new" target="_blank">Create Issue</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="btn-group ms-auto" role="group" aria-label="Mode selection">
|
<div class="btn-group ms-auto" role="group" aria-label="Mode selection">
|
||||||
<input type="radio" class="btn-check" name="mode" id="mono" autocomplete="off">
|
|
||||||
<label class="btn btn-outline-primary" for="mono">
|
|
||||||
Mono
|
|
||||||
</label>
|
|
||||||
<input type="radio" class="btn-check" name="mode" id="normal" autocomplete="off" checked>
|
<input type="radio" class="btn-check" name="mode" id="normal" autocomplete="off" checked>
|
||||||
<label class="btn btn-outline-primary" for="normal">
|
<label class="btn btn-outline-primary" for="normal">
|
||||||
Normal
|
Normal
|
||||||
|
@ -61,7 +57,7 @@
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<main class="container pb-5 pt-5">
|
<main class="container pb-5">
|
||||||
{% block body %}{% endblock %}
|
{% block body %}{% endblock %}
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -15,15 +15,6 @@
|
||||||
<th>Vendorphone</th>
|
<th>Vendorphone</th>
|
||||||
<td>{{ food_order.foodVendor.phone }}</td>
|
<td>{{ food_order.foodVendor.phone }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% if food_order.foodVendor.menuLink != '' %}
|
|
||||||
<tr>
|
|
||||||
<th colspan="2">
|
|
||||||
<a href="{{ food_order.foodVendor.menuLink }}" target="_blank">
|
|
||||||
External link to Menu
|
|
||||||
</a>
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>Created By</th>
|
<th>Created By</th>
|
||||||
<td>{{ food_order.createdBy }}</td>
|
<td>{{ food_order.createdBy }}</td>
|
||||||
|
@ -95,9 +86,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ loop.index }}</td>
|
<td>{{ loop.index }}</td>
|
||||||
<td>{{ item.createdBy }}</td>
|
<td>{{ item.createdBy }}</td>
|
||||||
<td>
|
<td>{{ item.name }}</td>
|
||||||
<a href="{{ path('app_menu_item_show', {'id': item.id}) }}">{{ item.name }}</a>
|
|
||||||
</td>
|
|
||||||
<td>{{ item.extras }}</td>
|
<td>{{ item.extras }}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if(food_order.isClosed) %}
|
{% if(food_order.isClosed) %}
|
||||||
|
|
|
@ -20,27 +20,16 @@
|
||||||
|
|
||||||
<section class="mb-4">
|
<section class="mb-4">
|
||||||
<h2>known menuitems</h2>
|
<h2>known menuitems</h2>
|
||||||
<table class="table table-bordered w-auto">
|
<ul class="list-group list-group-flush">
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>name</th>
|
|
||||||
<th>price</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{% for item in food_vendor.menuItems %}
|
{% for item in food_vendor.menuItems %}
|
||||||
<tr class="menu-item">
|
<li class="list-group-item">
|
||||||
<td>
|
|
||||||
<a href="{{ path('app_menu_item_show', {'id': item.id}) }}">{{ item.name }}</a>
|
<a href="{{ path('app_menu_item_show', {'id': item.id}) }}">{{ item.name }}</a>
|
||||||
{% if(item.aliasOf) %}
|
{% if(item.aliasOf) %}
|
||||||
<span class="text-muted">(alias of: {{ item.aliasOf.name }})</span>
|
<span class="text-muted">(alias of: {{ item.aliasOf.name }})</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</li>
|
||||||
<td>{{ (item.priceCents / 100)|format_currency('EUR') }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</ul>
|
||||||
</table>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<div class="d-flex gap-2">
|
<div class="d-flex gap-2">
|
||||||
|
|
|
@ -119,7 +119,7 @@ describe(FoodVendorController::class, function (): void {
|
||||||
)->text();
|
)->text();
|
||||||
$this->assertSame('My Title', $nameNode);
|
$this->assertSame('My Title', $nameNode);
|
||||||
|
|
||||||
$itemNodes = $crawler->filter('tr.menu-item');
|
$itemNodes = $crawler->filter('ul.list-group li.list-group-item');
|
||||||
|
|
||||||
$this->assertCount(4, $itemNodes);
|
$this->assertCount(4, $itemNodes);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue