finish
This commit is contained in:
parent
d7a61f6d0e
commit
bb42015d74
7 changed files with 59 additions and 27 deletions
|
@ -2,15 +2,15 @@
|
|||
function initBonkersMode() {
|
||||
// Check if we're in bonkers mode
|
||||
const currentMode = document.documentElement.getAttribute('data-website-mode');
|
||||
|
||||
|
||||
if (currentMode === 'bonkers') {
|
||||
// Apply bonkers mode immediately
|
||||
document.body.classList.add('bonkers-mode');
|
||||
|
||||
|
||||
// Start the fabulous effects
|
||||
createExtraSparkles();
|
||||
createSlayEffects();
|
||||
|
||||
|
||||
console.log('🌈✨ Bonkers mode activated! ✨🌈');
|
||||
} else {
|
||||
// Remove bonkers mode if it was active
|
||||
|
@ -22,16 +22,15 @@ function initBonkersMode() {
|
|||
function createExtraSparkles() {
|
||||
const currentMode = document.documentElement.getAttribute('data-website-mode');
|
||||
if (currentMode !== 'bonkers') return;
|
||||
|
||||
|
||||
const extraEmojis = [
|
||||
'💫', '⭐', '🎊', '🎈', '🎪', '🎭', '🎨', '👑', '💎', '🔥', '⚡', '💃', '🕺', '🎵', '🎶', '🎤',
|
||||
'🍑', '💦', '😏', '😈', '👅', '💋', '🥵', '😳', '🤤', '😍', '🥴', '🤯', '💕', '💖', '💗', '💘',
|
||||
'💝', '💞', '💟', '💌', '💍', '💎', '💏', '💑', '💒', '💓', '💔', '💕', '🌶️', '🍆', '🥒', '🍌',
|
||||
'🍎', '🍓', '🍇', '🍊', '🍋', '🍌', '🍍', '🥭', '🍎', '🍏', '🍐', '💧', '💦', '💨', '👀', '😉',
|
||||
'😌', '😍', '🥰', '😘', '😚', '😋', '🥳', '😏', '😫', '😩', '🥺', '😢', '😡', '🤬', '🤯', '😳',
|
||||
'🥵', '🥴', '🤒', '💖', '💗', '💙', '💚', '❤️', '🧡', '💛', '💜', '🖤', '💔', '❣️', '💕', '💞',
|
||||
'💓', '💗', '💖', '💘', '💝', '💟', '💌', '💋', '💍', '💎', '💏', '💑', '💒', '💓', '💔', '💕',
|
||||
'💖', '💗', '💘'
|
||||
'💃', '🕺',
|
||||
'🍑', '💦', '😏', '😈', '👅', '💋', '🥵', '😳', '🤤', '😍', '🥴',
|
||||
'💕', '💖', '💗', '💘', '💝', '💞', '💟', '💌', '💏', '💑',
|
||||
'🍆', '🥒', '🍌', '💦', '👀', '😉', '😌', '😍', '🥰', '😘',
|
||||
'😚', '😋', '😏', '😫', '😩', '🥺', '🥵', '🥴',
|
||||
'💖', '💗', '💕', '💞', '💓', '💗', '💖', '💘', '💝',
|
||||
'💋', '💏', '💑'
|
||||
];
|
||||
const sparkle = document.createElement('div');
|
||||
sparkle.className = 'emoji-footprint';
|
||||
|
@ -45,7 +44,7 @@ function createExtraSparkles() {
|
|||
sparkle.remove();
|
||||
}
|
||||
}, 3000);
|
||||
|
||||
|
||||
// Continue creating extra sparkles while in bonkers mode
|
||||
const newMode = document.documentElement.getAttribute('data-website-mode');
|
||||
if (newMode === 'bonkers') {
|
||||
|
@ -57,7 +56,7 @@ function createExtraSparkles() {
|
|||
function createSlayEffects() {
|
||||
const currentMode = document.documentElement.getAttribute('data-website-mode');
|
||||
if (currentMode !== 'bonkers') return;
|
||||
|
||||
|
||||
// Create floating "SLAY" text effects
|
||||
const slayWords = [
|
||||
'SLAY', 'QUEEN', 'FABULOUS', 'ICONIC', 'LEGENDARY', 'STUNNING', 'GORGEOUS', 'FLAWLESS',
|
||||
|
@ -75,7 +74,7 @@ function createSlayEffects() {
|
|||
slayElement.remove();
|
||||
}
|
||||
}, 3000);
|
||||
|
||||
|
||||
// Continue creating slay effects while in bonkers mode
|
||||
const newMode = document.documentElement.getAttribute('data-website-mode');
|
||||
if (newMode === 'bonkers') {
|
||||
|
@ -90,14 +89,14 @@ function watchModeChanges() {
|
|||
mutations.forEach(function(mutation) {
|
||||
if (mutation.type === 'attributes' && mutation.attributeName === 'data-website-mode') {
|
||||
const newMode = document.documentElement.getAttribute('data-website-mode');
|
||||
|
||||
|
||||
if (newMode === 'bonkers') {
|
||||
document.body.classList.add('bonkers-mode');
|
||||
|
||||
|
||||
// Start the fabulous effects
|
||||
createExtraSparkles();
|
||||
createSlayEffects();
|
||||
|
||||
|
||||
console.log('🌈✨ Switched to bonkers mode! ✨🌈');
|
||||
} else {
|
||||
document.body.classList.remove('bonkers-mode');
|
||||
|
@ -106,7 +105,7 @@ function watchModeChanges() {
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Start observing
|
||||
observer.observe(document.documentElement, {
|
||||
attributes: true,
|
||||
|
|
|
@ -57,6 +57,7 @@ final class DrinkTypeBulkController extends AbstractController
|
|||
EntityManagerInterface $entityManager
|
||||
): Response {
|
||||
$drinkTypes = $drinkTypeRepository->findAll();
|
||||
$fromOrder = $request->query->get('from_order') === 'true';
|
||||
|
||||
$form = $this->createForm(BulkEditDrinkTypeWantedStockForm::class, [
|
||||
'drinkTypes' => $drinkTypes,
|
||||
|
@ -75,12 +76,22 @@ final class DrinkTypeBulkController extends AbstractController
|
|||
|
||||
$this->addFlash('success', 'Wanted stock levels updated successfully!');
|
||||
|
||||
if ($fromOrder) {
|
||||
return $this->redirectToRoute('app_order_new');
|
||||
}
|
||||
|
||||
return $this->redirectToRoute('app_drink_type_bulk_edit_wanted_stock');
|
||||
}
|
||||
|
||||
// Handle skip button
|
||||
if ($request->query->has('skip') && $fromOrder) {
|
||||
return $this->redirectToRoute('app_order_new');
|
||||
}
|
||||
|
||||
return $this->render('drink_type/bulk_edit_wanted_stock.html.twig', [
|
||||
'form' => $form->createView(),
|
||||
'drinkTypes' => $drinkTypes,
|
||||
'from_order' => $fromOrder,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ final class Index extends AbstractController
|
|||
$lowStock = $filterLowStockDrinks($wanted);
|
||||
$orders = $orderService->getActiveOrders();
|
||||
return $this->render('index.html.twig', [
|
||||
'drinkTypes' => $lowStock,
|
||||
'drinkTypes' => $wanted,
|
||||
'lowStock' => $lowStock,
|
||||
'orders' => $orders,
|
||||
]);
|
||||
|
|
|
@ -44,7 +44,6 @@ class Order
|
|||
$this->createdAt = new DateTimeImmutable();
|
||||
$this->updatedAt = new DateTimeImmutable();
|
||||
$this->orderItems = new ArrayCollection();
|
||||
$this->status = OrderStatus::NEW;
|
||||
}
|
||||
|
||||
public function getId(): null|int
|
||||
|
|
|
@ -17,10 +17,14 @@ class OrderForm extends AbstractType
|
|||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||
{
|
||||
$builder
|
||||
->add('status', EnumType::class, ['class' => OrderStatus::class])
|
||||
->add('status', EnumType::class, [
|
||||
'class' => OrderStatus::class,
|
||||
])
|
||||
->add('orderItems', CollectionType::class, [
|
||||
'entry_type' => OrderItemType::class,
|
||||
'entry_options' => ['label' => false],
|
||||
'entry_options' => [
|
||||
'label' => false,
|
||||
],
|
||||
'allow_add' => true,
|
||||
'allow_delete' => true,
|
||||
'by_reference' => false,
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Bulk Edit Drink Type Wanted Stock{% endblock %}
|
||||
{% block title %}{% if from_order is defined and from_order %}Update Wanted Stock Before Order{% else %}Bulk Edit Drink Type Wanted Stock{% endif %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="container mt-4">
|
||||
<h1>Bulk Edit Drink Type Wanted Stock</h1>
|
||||
{% if from_order is defined and from_order %}
|
||||
<h1>Update Wanted Stock Levels Before Creating Order</h1>
|
||||
<p class="lead">You can update the wanted stock levels before creating a new order, or skip this step.</p>
|
||||
{% else %}
|
||||
<h1>Bulk Edit Drink Type Wanted Stock</h1>
|
||||
{% endif %}
|
||||
|
||||
{% for message in app.flashes('success') %}
|
||||
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
||||
|
@ -42,6 +47,9 @@
|
|||
|
||||
<div class="mt-3">
|
||||
{{ form_widget(form.save) }}
|
||||
{% if from_order is defined and from_order %}
|
||||
<a href="{{ path('app_drink_type_bulk_edit_wanted_stock', {'from_order': 'true', 'skip': 'true'}) }}" class="btn btn-secondary">Skip and Create Order</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{{ form_end(form) }}
|
||||
|
|
|
@ -16,8 +16,19 @@
|
|||
<li>{{ drinkType.name }} ({{ drinkType.currentStock }} / {{ drinkType.wantedStock }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% if orders != [] %}
|
||||
<a href="{{ path('app_order_new') }}" class="btn btn-primary">Create New Order</a>
|
||||
{% if orders == [] %}
|
||||
<a href="{{ path('app_drink_type_bulk_edit_wanted_stock', {'from_order': 'true'}) }}" class="btn btn-primary">Create New Order</a>
|
||||
{% else %}
|
||||
<p>There are already orders planned:</p>
|
||||
<ul>
|
||||
{% for order in orders %}
|
||||
<li>
|
||||
<a href="{{ path("app_order_show", {'id': order.id}) }}">
|
||||
{{ order.id }} - {{ order.status.value }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue