diff --git a/assets/javascript/emoji-footprint.js b/assets/javascript/emoji-footprint.js index 238377b..434300b 100644 --- a/assets/javascript/emoji-footprint.js +++ b/assets/javascript/emoji-footprint.js @@ -1,6 +1,14 @@ // Sparkle effect on mouse move document.addEventListener('mousemove', function (e) { - const emojis = ['✨', '💖', '🌟', '💅', '🦄', '🎉', '🌈']; + const htmlElement = document.documentElement; + if (htmlElement.getAttribute('data-website-mode') === 'normal') { + return; + } + let emojis = ['✨', '💖', '🌟', '💅', '🦄', '🎉', '🌈']; + + if (htmlElement.getAttribute('data-website-mode') === 'mono') { + emojis = ['🦇', '🦉', '🦔', '🦡', '🐺', '', '', '', '', '', '', '', '', '', '']; + } const sparkle = document.createElement('div'); sparkle.className = 'emoji-footprint'; sparkle.textContent = emojis[Math.floor(Math.random() * emojis.length)]; diff --git a/assets/styles/modes.css b/assets/styles/modes.css index 39dd41e..6525ce2 100644 --- a/assets/styles/modes.css +++ b/assets/styles/modes.css @@ -307,6 +307,11 @@ animation: discoFlash 0.3s infinite, wiggle 0.2s infinite; } +[data-website-mode="mono"] { + filter: grayscale(1); +} + + /* Enhanced mode styles (for future use) */ [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)); diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index 46c90c7..bf6a72d 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -3,6 +3,7 @@ namespace App\Controller; use App\Form\UserNameFormType; +use DateTimeImmutable; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -33,7 +34,13 @@ final class HomeController extends AbstractController $response->headers->clearCookie('username'); return $response; } - $response->headers->setCookie(new Cookie('username', $username)); + $response->headers->setCookie( + new Cookie( + name: 'username', + value: $username, + expire: new DateTimeImmutable('+1 year'), + ) + ); return $response; } $username = $request->cookies->get('username', self::DEFAULT_USERNAME); diff --git a/src/Entity/OrderItem.php b/src/Entity/OrderItem.php index e91c1c0..d3741da 100644 --- a/src/Entity/OrderItem.php +++ b/src/Entity/OrderItem.php @@ -130,6 +130,9 @@ class OrderItem public function setMenuItem(MenuItem|null $menuItem): static { + if (! $menuItem instanceof MenuItem) { + return $this; + } $this->menuItem = $menuItem; $this->name = $menuItem->getName(); diff --git a/src/Repository/FoodOrderRepository.php b/src/Repository/FoodOrderRepository.php index a781506..31bc176 100644 --- a/src/Repository/FoodOrderRepository.php +++ b/src/Repository/FoodOrderRepository.php @@ -25,7 +25,7 @@ final class FoodOrderRepository extends ServiceEntityRepository public function findLatestEntries(int $page = 1, int $pagesize = 10, int $days = 4): array { - $result = $this->createQueryBuilder('alias') + $result = $this->createQueryBuilder('alias') ->orderBy('alias.id', 'DESC') ->setFirstResult(($page - 1) * $pagesize) ->setMaxResults($pagesize) diff --git a/templates/base.html.twig b/templates/base.html.twig index 6e78f0a..75fae8c 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -12,7 +12,7 @@