nagasurendra commited on
Commit
affd5ab
·
verified ·
1 Parent(s): 7968db6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -5
app.py CHANGED
@@ -128,32 +128,47 @@ modal_and_cart_js = """
128
  "Veg Manchurian": 12
129
  };
130
  let finalized = false;
131
- function openModal(name, image, description, price) {
132
  if (finalized) {
133
  alert("You cannot add more items after finalizing your order.");
134
  return;
135
  }
 
136
  const modal = document.getElementById('modal');
137
- modal.style.display = 'block';
138
  modal.style.position = 'fixed';
 
 
 
 
 
139
  if (window.innerWidth <= 768) {
 
140
  modal.style.width = '90%';
141
- modal.style.top = `${event.touches ? event.touches[0].screenY : event.clientY}px`;
142
  } else {
 
143
  modal.style.width = '30%';
144
- modal.style.top = `${event.clientY}px`;// Use mouse Y position for laptop
 
145
  }
 
146
  modal.style.left = '50%';
147
- modal.style.transform = 'translate(-50%, 0)';
 
 
148
  document.getElementById('modal-image').src = image;
149
  document.getElementById('modal-name').innerText = name;
150
  document.getElementById('modal-description').innerText = description;
151
  document.getElementById('modal-price').innerText = price;
 
 
152
  const extrasInputs = document.querySelectorAll('input[name="biryani-extra"]');
153
  extrasInputs.forEach(input => input.checked = false);
154
  document.getElementById('quantity').value = 1;
155
  document.getElementById('special-instructions').value = '';
156
  }
 
157
  function closeModal() {
158
  document.getElementById('modal').style.display = 'none';
159
  }
 
128
  "Veg Manchurian": 12
129
  };
130
  let finalized = false;
131
+ function openModal(name, image, description, price, event) {
132
  if (finalized) {
133
  alert("You cannot add more items after finalizing your order.");
134
  return;
135
  }
136
+
137
  const modal = document.getElementById('modal');
138
+ modal.style.display = 'block'; // Display the modal
139
  modal.style.position = 'fixed';
140
+
141
+ // Reduce modal height for better display
142
+ modal.style.height = '50%'; // Adjust height to 50% of the viewport
143
+ modal.style.overflowY = 'auto'; // Add scrolling if content overflows
144
+
145
  if (window.innerWidth <= 768) {
146
+ // Mobile: Use touch Y position
147
  modal.style.width = '90%';
148
+ modal.style.top = `${event.touches ? event.touches[0].screenY : event.clientY - modal.offsetHeight / 2}px`;
149
  } else {
150
+ // Laptop: Use mouse Y position without 7%
151
  modal.style.width = '30%';
152
+ const adjustedY = event.clientY - modal.offsetHeight / 2; // Center based on modal height
153
+ modal.style.top = `${adjustedY}px`;
154
  }
155
+
156
  modal.style.left = '50%';
157
+ modal.style.transform = 'translate(-50%, 0)'; // Adjust transform to exclude vertical centering
158
+
159
+ // Set modal content
160
  document.getElementById('modal-image').src = image;
161
  document.getElementById('modal-name').innerText = name;
162
  document.getElementById('modal-description').innerText = description;
163
  document.getElementById('modal-price').innerText = price;
164
+
165
+ // Reset inputs
166
  const extrasInputs = document.querySelectorAll('input[name="biryani-extra"]');
167
  extrasInputs.forEach(input => input.checked = false);
168
  document.getElementById('quantity').value = 1;
169
  document.getElementById('special-instructions').value = '';
170
  }
171
+
172
  function closeModal() {
173
  document.getElementById('modal').style.display = 'none';
174
  }