From e872b83ea3b32989498e235181b23693b19855a1ea44bb5525cc4871e4437bce Mon Sep 17 00:00:00 2001 From: Abhishek Mali Date: Tue, 23 Dec 2025 14:15:03 +0530 Subject: [PATCH 1/5] auto calculate --- .../Admin/AdminOrderController.php | 140 +++++++++++------ public/invoices/invoice-INV-2025-000048.pdf | Bin 0 -> 59986 bytes resources/views/admin/dashboard.blade.php | 144 +++++++++++++----- 3 files changed, 202 insertions(+), 82 deletions(-) create mode 100644 public/invoices/invoice-INV-2025-000048.pdf diff --git a/app/Http/Controllers/Admin/AdminOrderController.php b/app/Http/Controllers/Admin/AdminOrderController.php index f116b96..8d887ff 100644 --- a/app/Http/Controllers/Admin/AdminOrderController.php +++ b/app/Http/Controllers/Admin/AdminOrderController.php @@ -68,33 +68,42 @@ class AdminOrderController extends Controller * ORDER ITEM MANAGEMENT (existing orders) * ---------------------------*/ public function addItem(Request $request, $orderId) - { - $order = Order::findOrFail($orderId); +{ + $order = Order::findOrFail($orderId); - $data = $request->validate([ - 'description' => 'required|string', - 'ctn' => 'nullable|numeric', - 'qty' => 'nullable|numeric', - 'ttl_qty' => 'nullable|numeric', - 'unit' => 'nullable|string', - 'price' => 'nullable|numeric', - 'ttl_amount' => 'nullable|numeric', - 'cbm' => 'nullable|numeric', - 'ttl_cbm' => 'nullable|numeric', - 'kg' => 'nullable|numeric', - 'ttl_kg' => 'nullable|numeric', - 'shop_no' => 'nullable|string', - ]); + $data = $request->validate([ + 'description' => 'required|string', + 'ctn' => 'nullable|numeric', + 'qty' => 'nullable|numeric', + 'unit' => 'nullable|string', + 'price' => 'nullable|numeric', + 'cbm' => 'nullable|numeric', + 'kg' => 'nullable|numeric', + 'shop_no' => 'nullable|string', + ]); - $data['order_id'] = $order->id; + // ✅ BACKEND CALCULATION + $ctn = (float) ($data['ctn'] ?? 0); + $qty = (float) ($data['qty'] ?? 0); + $price = (float) ($data['price'] ?? 0); + $cbm = (float) ($data['cbm'] ?? 0); + $kg = (float) ($data['kg'] ?? 0); - OrderItem::create($data); + $data['ttl_qty'] = $ctn * $qty; + $data['ttl_amount'] = $data['ttl_qty'] * $price; + $data['ttl_cbm'] = $cbm * $ctn; + $data['ttl_kg'] = $ctn * $kg; - $this->recalcTotals($order); - $this->updateInvoiceFromOrder($order); + $data['order_id'] = $order->id; + + OrderItem::create($data); + + $this->recalcTotals($order); + $this->updateInvoiceFromOrder($order); + + return redirect()->back()->with('success', 'Item added and totals updated.'); +} - return redirect()->back()->with('success', 'Item added and totals updated.'); - } public function deleteItem($id) { @@ -500,14 +509,14 @@ class AdminOrderController extends Controller 'items.*.description' => 'required|string', 'items.*.ctn' => 'nullable|numeric', 'items.*.qty' => 'nullable|numeric', - 'items.*.ttl_qty' => 'nullable|numeric', + 'items.*.unit' => 'nullable|string', 'items.*.price' => 'nullable|numeric', - 'items.*.ttl_amount' => 'nullable|numeric', + 'items.*.cbm' => 'nullable|numeric', - 'items.*.ttl_cbm' => 'nullable|numeric', + 'items.*.kg' => 'nullable|numeric', - 'items.*.ttl_kg' => 'nullable|numeric', + 'items.*.shop_no' => 'nullable|string', ])['items']; @@ -520,6 +529,24 @@ class AdminOrderController extends Controller return back()->with('error', 'Add at least one item.'); } + // ✅ BACKEND CALCULATION (DO NOT TRUST FRONTEND) + foreach ($items as &$item) { + + $ctn = (float) ($item['ctn'] ?? 0); + $qty = (float) ($item['qty'] ?? 0); + $price = (float) ($item['price'] ?? 0); + $cbm = (float) ($item['cbm'] ?? 0); + $kg = (float) ($item['kg'] ?? 0); + + // Calculated fields + $item['ttl_qty'] = $ctn * $qty; + $item['ttl_amount'] = $item['ttl_qty'] * $price; + $item['ttl_cbm'] = $cbm * $ctn; + $item['ttl_kg'] = $ctn * $kg; + } + unset($item); // VERY IMPORTANT + + // 3) totals $total_ctn = array_sum(array_column($items, 'ctn')); $total_qty = array_sum(array_column($items, 'qty')); @@ -631,30 +658,49 @@ class AdminOrderController extends Controller * UPDATE ORDER ITEM (existing orders) * ---------------------------*/ public function updateItem(Request $request, $id) - { - $item = OrderItem::findOrFail($id); - $order = $item->order; +{ + $item = OrderItem::findOrFail($id); + $order = $item->order; - $item->update([ - 'description' => $request->description, - 'ctn' => $request->ctn, - 'qty' => $request->qty, - 'ttl_qty' => $request->ttl_qty, - 'unit' => $request->unit, - 'price' => $request->price, - 'ttl_amount' => $request->ttl_amount, - 'cbm' => $request->cbm, - 'ttl_cbm' => $request->ttl_cbm, - 'kg' => $request->kg, - 'ttl_kg' => $request->ttl_kg, - 'shop_no' => $request->shop_no, - ]); + $request->validate([ + 'description' => 'required|string', + 'ctn' => 'nullable|numeric', + 'qty' => 'nullable|numeric', + 'unit' => 'nullable|string', + 'price' => 'nullable|numeric', + 'cbm' => 'nullable|numeric', + 'kg' => 'nullable|numeric', + 'shop_no' => 'nullable|string', + ]); - $this->recalcTotals($order); - $this->updateInvoiceFromOrder($order); + // ✅ BACKEND CALCULATION + $ctn = (float) ($request->ctn ?? 0); + $qty = (float) ($request->qty ?? 0); + $price = (float) ($request->price ?? 0); + $cbm = (float) ($request->cbm ?? 0); + $kg = (float) ($request->kg ?? 0); + + $item->update([ + 'description' => $request->description, + 'ctn' => $ctn, + 'qty' => $qty, + 'ttl_qty' => $ctn * $qty, + 'unit' => $request->unit, + 'price' => $price, + 'ttl_amount' => ($ctn * $qty) * $price, + 'cbm' => $cbm, + 'ttl_cbm' => $cbm * $ctn, + 'kg' => $kg, + 'ttl_kg' => $ctn * $kg, + 'shop_no' => $request->shop_no, + ]); + + $this->recalcTotals($order); + $this->updateInvoiceFromOrder($order); + + return back()->with('success', 'Item updated successfully'); +} - return back()->with('success', 'Item updated successfully'); - } private function updateInvoiceFromOrder(Order $order) { diff --git a/public/invoices/invoice-INV-2025-000048.pdf b/public/invoices/invoice-INV-2025-000048.pdf new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..6bce3a0122af1022074d4af309ed39c2cb87d030eeb60c5709f35b87b03a8576 GIT binary patch literal 59986 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 nFl7|Vi2%TkfOb>||J}rHqu}F6${index + 1} - - - - - - - - - - - - - - `; + ${index + 1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `; + itemsTableBody.appendChild(tr); } + function calculateRow(row) { + const ctn = parseFloat(row.querySelector('[data-field="ctn"]')?.value) || 0; + const qty = parseFloat(row.querySelector('[data-field="qty"]')?.value) || 0; + const price = parseFloat(row.querySelector('[data-field="price"]')?.value) || 0; + const cbm = parseFloat(row.querySelector('[data-field="cbm"]')?.value) || 0; + const kg = parseFloat(row.querySelector('[data-field="kg"]')?.value) || 0; + + const ttlQty = ctn * qty; + const ttlAmount = ttlQty * price; + const ttlCbm = cbm * ctn; + const ttlKg = ctn * kg; + + row.querySelector('[data-field="ttl_qty"]').value = ttlQty.toFixed(2); + row.querySelector('[data-field="ttl_amount"]').value = ttlAmount.toFixed(2); + row.querySelector('[data-field="ttl_cbm"]').value = ttlCbm.toFixed(3); + row.querySelector('[data-field="ttl_kg"]').value = ttlKg.toFixed(3); + } + + itemsTableBody.addEventListener('input', function (e) { + const row = e.target.closest('tr'); + if (!row) return; + + const calcFields = ['ctn', 'qty', 'price', 'cbm', 'kg']; + if (calcFields.includes(e.target.dataset.field)) { + calculateRow(row); + } + }); + + + function generateDefaultRows() { itemsTableBody.innerHTML = ''; addRow(0); @@ -1971,29 +2045,29 @@ if (uploadExcelBtn && excelInput) { } -function populateItemsTable(items) { - itemsTableBody.innerHTML = ''; + function populateItemsTable(items) { + itemsTableBody.innerHTML = ''; - items.forEach((item, index) => { - addRow(index); - const row = itemsTableBody.children[index]; + items.forEach((item, index) => { + addRow(index); + const row = itemsTableBody.children[index]; - row.querySelector('[data-field="description"]').value = item.description ?? ''; - row.querySelector('[data-field="ctn"]').value = item.ctn ?? ''; - row.querySelector('[data-field="qty"]').value = item.qty ?? ''; - row.querySelector('[data-field="ttl_qty"]').value = item.ttl_qty ?? ''; - row.querySelector('[data-field="unit"]').value = item.unit ?? ''; - row.querySelector('[data-field="price"]').value = item.price ?? ''; - row.querySelector('[data-field="ttl_amount"]').value = item.ttl_amount ?? ''; - row.querySelector('[data-field="cbm"]').value = item.cbm ?? ''; - row.querySelector('[data-field="ttl_cbm"]').value = item.ttl_cbm ?? ''; - row.querySelector('[data-field="kg"]').value = item.kg ?? ''; - row.querySelector('[data-field="ttl_kg"]').value = item.ttl_kg ?? ''; - row.querySelector('[data-field="shop_no"]').value = item.shop_no ?? ''; - }); + row.querySelector('[data-field="description"]').value = item.description ?? ''; + row.querySelector('[data-field="ctn"]').value = item.ctn ?? 0; + row.querySelector('[data-field="qty"]').value = item.qty ?? 0; + row.querySelector('[data-field="unit"]').value = item.unit ?? ''; + row.querySelector('[data-field="price"]').value= item.price ?? 0; + row.querySelector('[data-field="cbm"]').value = item.cbm ?? 0; + row.querySelector('[data-field="kg"]').value = item.kg ?? 0; + row.querySelector('[data-field="shop_no"]').value = item.shop_no ?? ''; + + // 🔥 ALWAYS RECALCULATE + calculateRow(row); + }); + + reindexRows(); + } - reindexRows(); -} }); From 7362ef6bdc0a1c60adcc8e7eeb001a60c752176f4f8501decc87d246b6c0ef3f Mon Sep 17 00:00:00 2001 From: divya abdar Date: Tue, 23 Dec 2025 16:26:33 +0530 Subject: [PATCH 2/5] staff chnages and customer chnages --- resources/views/admin/customers_add.blade.php | 997 ++++++++++++++---- resources/views/admin/staff/create.blade.php | 96 +- resources/views/admin/staff/edit.blade.php | 174 ++- 3 files changed, 1015 insertions(+), 252 deletions(-) diff --git a/resources/views/admin/customers_add.blade.php b/resources/views/admin/customers_add.blade.php index 27c0169..5fad95e 100644 --- a/resources/views/admin/customers_add.blade.php +++ b/resources/views/admin/customers_add.blade.php @@ -5,7 +5,42 @@ @section('content') -
- -
-
- -
-

- - Add New Customer -

+
+ +
+ +
+

+ + Add New Customer +

+
+ + +
+ + - -
-
- @csrf - -
- -
- - -
Minimum 2 characters, letters only
-
- - -
- - -
- - -
- - -
- - -
- - -
Valid email format required
-
- - -
- - -
10 digits without spaces
-
- - -
- - -
6-digit pincode
-
- - -
- - -
- - -
- - -
Premium customers get special benefits
-
- - -
- - -
Active customers can place orders
-
-
- - -
- - - Cancel - - -
-
+ + + +
+ @csrf + +
+ +
+ + +
Minimum 2 characters, letters only
+ @error('customer_name') +
{{ $message }}
+ @enderror +
+ + +
+ + + @error('company_name') +
{{ $message }}
+ @enderror +
+ + +
+ + + @error('designation') +
{{ $message }}
+ @enderror +
+ + +
+ + +
Valid email format required
+ @error('email') +
{{ $message }}
+ @enderror +
+ + +
+ + +
10 digits without spaces
+ @error('mobile_no') +
{{ $message }}
+ @enderror +
+ + +
+ + +
6-digit pincode
+ @error('pincode') +
{{ $message }}
+ @enderror +
+ + +
+ + + @error('address') +
{{ $message }}
+ @enderror +
+ + +
+ + +
Premium customers get special benefits
+ @error('customer_type') +
{{ $message }}
+ @enderror +
+ + +
+ + +
Active customers can place orders
+ @error('status') +
{{ $message }}
+ @enderror +
+
+ + +
+ + + Cancel + + +
+
@@ -492,7 +878,14 @@ textarea.form-control:focus { document.addEventListener('DOMContentLoaded', function() { const form = document.getElementById('customerForm'); const submitBtn = document.getElementById('submitBtn'); + const successMessage = document.getElementById('successMessage'); + const errorMessage = document.getElementById('errorMessage'); + const errorText = document.getElementById('errorText'); + + // Store original button content + const originalBtnContent = submitBtn.innerHTML; + // Form submission handler form.addEventListener('submit', function(e) { // Add loading state submitBtn.classList.add('loading'); @@ -510,33 +903,197 @@ document.addEventListener('DOMContentLoaded', function() { }, 1500); }, 1000); }); + // Traditional form submission fallback (if JavaScript fails) + form.setAttribute('onsubmit', 'return validateFormOnSubmit()'); - // Real-time validation - const inputs = form.querySelectorAll('input[required]'); + function validateForm() { + let isValid = true; + const requiredFields = form.querySelectorAll('[required]'); + + // Clear previous error highlights + form.querySelectorAll('.is-invalid').forEach(el => { + el.classList.remove('is-invalid'); + }); + + // Validate each required field + requiredFields.forEach(field => { + if (!field.value.trim()) { + field.classList.add('is-invalid'); + isValid = false; + } else if (field.type === 'email' && !validateEmail(field.value)) { + field.classList.add('is-invalid'); + isValid = false; + } else if (field.pattern && !new RegExp(field.pattern).test(field.value)) { + field.classList.add('is-invalid'); + isValid = false; + } + }); + + return isValid; + } + + function validateEmail(email) { + const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return re.test(email); + } + + function resetSubmitButton() { + submitBtn.classList.remove('loading'); + submitBtn.innerHTML = originalBtnContent; + submitBtn.disabled = false; + } + + // Real-time validation with improved UX + const inputs = form.querySelectorAll('input[required], select[required]'); inputs.forEach(input => { input.addEventListener('blur', function() { - if (this.value && this.checkValidity()) { - this.style.borderLeft = '2px solid #10b981'; - } else if (this.value && !this.checkValidity()) { - this.style.borderLeft = '2px solid #ef4444'; - } else { + validateField(this); + }); + + input.addEventListener('input', function() { + // Remove validation styling while user is typing + if (this.value) { + this.classList.remove('is-invalid'); this.style.borderLeft = ''; } }); }); + function validateField(field) { + const hint = field.nextElementSibling?.nextElementSibling; + + if (field.value.trim() === '') { + field.classList.add('is-invalid'); + field.style.borderLeft = '2px solid #ef4444'; + if (hint && hint.classList.contains('input-hint')) { + hint.innerHTML = `❌ This field is required`; + } + } else if (field.checkValidity()) { + field.classList.remove('is-invalid'); + field.style.borderLeft = '2px solid #10b981'; + if (hint && hint.classList.contains('input-hint')) { + hint.innerHTML = hint.getAttribute('data-original-hint') || hint.innerHTML; + } + } else { + field.classList.add('is-invalid'); + field.style.borderLeft = '2px solid #ef4444'; + if (hint && hint.classList.contains('input-hint')) { + const errorMsg = getErrorMessage(field); + hint.innerHTML = `❌ ${errorMsg}`; + } + } + } + + function getErrorMessage(field) { + if (field.type === 'email') { + return 'Please enter a valid email address'; + } + if (field.pattern === '[0-9]{10}') { + return 'Please enter 10 digits only'; + } + if (field.pattern === '[A-Za-z\\s]{2,}') { + return 'Minimum 2 letters, no numbers or special characters'; + } + return 'Please check this field'; + } + + // Store original hint text + document.querySelectorAll('.input-hint').forEach(hint => { + hint.setAttribute('data-original-hint', hint.innerHTML); + }); + // Enhanced input interactions const formControls = form.querySelectorAll('.form-control, .form-select'); formControls.forEach(control => { control.addEventListener('focus', function() { this.style.transform = 'translateY(-2px)'; + this.parentElement.style.zIndex = '1'; }); control.addEventListener('blur', function() { this.style.transform = 'translateY(0)'; + this.parentElement.style.zIndex = '0'; }); }); + + // Auto-format mobile number + const mobileInput = document.getElementById('mobile_no'); + if (mobileInput) { + mobileInput.addEventListener('input', function(e) { + let value = e.target.value.replace(/\D/g, ''); + if (value.length > 10) { + value = value.substring(0, 10); + } + e.target.value = value; + }); + } + + // Auto-format pincode + const pincodeInput = document.getElementById('pincode'); + if (pincodeInput) { + pincodeInput.addEventListener('input', function(e) { + let value = e.target.value.replace(/\D/g, ''); + if (value.length > 6) { + value = value.substring(0, 6); + } + e.target.value = value; + }); + } + + // Handle zoom level detection and adjustment + function checkZoomLevel() { + const visualViewport = window.visualViewport || window; + const layoutViewport = window; + + // Calculate zoom level (approximate) + const zoom = Math.round((visualViewport.width / layoutViewport.innerWidth) * 100); + + // Adjust spacing for different zoom levels + const root = document.documentElement; + + if (zoom > 110) { + // High zoom - reduce spacing + root.style.setProperty('--space-sm', '0.5rem'); + root.style.setProperty('--input-padding', '0.5rem'); + root.style.setProperty('--card-padding', '1rem'); + } else if (zoom < 80) { + // Low zoom - increase spacing + root.style.setProperty('--space-sm', '1rem'); + root.style.setProperty('--input-padding', '1rem'); + root.style.setProperty('--card-padding', '1.5rem'); + } else { + // Normal zoom - reset to defaults + root.style.setProperty('--space-sm', '0.75rem'); + root.style.setProperty('--input-padding', 'clamp(0.75rem, 1vw, 1rem)'); + root.style.setProperty('--card-padding', 'clamp(1rem, 2vw, 1.875rem)'); + } + } + + // Initial check + checkZoomLevel(); + + // Check on resize and zoom + window.addEventListener('resize', checkZoomLevel); + if (window.visualViewport) { + window.visualViewport.addEventListener('resize', checkZoomLevel); + } }); + +// Global validation function for traditional form submission +function validateFormOnSubmit() { + const form = document.getElementById('customerForm'); + const requiredFields = form.querySelectorAll('[required]'); + let isValid = true; + + requiredFields.forEach(field => { + if (!field.value.trim()) { + field.classList.add('is-invalid'); + isValid = false; + } + }); + + return isValid; +} @endsection \ No newline at end of file diff --git a/resources/views/admin/staff/create.blade.php b/resources/views/admin/staff/create.blade.php index 7fe1dfe..b5d81bb 100644 --- a/resources/views/admin/staff/create.blade.php +++ b/resources/views/admin/staff/create.blade.php @@ -4,7 +4,47 @@ @section('content')
@@ -960,13 +1013,18 @@
-
-
👨‍💼
+
+
👨‍💼
+

Add New Staff Member

-

Complete all the steps below to add a new staff member to your team

+

+ Complete all the steps below to add a new staff member to your team +

+
+
diff --git a/resources/views/admin/staff/edit.blade.php b/resources/views/admin/staff/edit.blade.php index aeb0f7a..99ce405 100644 --- a/resources/views/admin/staff/edit.blade.php +++ b/resources/views/admin/staff/edit.blade.php @@ -11,6 +11,79 @@ --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.15); } + /* Hide scrollbar but allow scroll */ + .hide-scrollbar { + overflow-y: auto; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE & Edge */ + } + + .hide-scrollbar::-webkit-scrollbar { + display: none; /* Chrome, Safari */ + } + + /* =========================================== */ + /* HORIZONTAL SCROLL FIXES */ + /* =========================================== */ + html, body { + overflow-x: hidden !important; + scrollbar-width: none; + } + + .staff-edit-container, + .staff-edit-card, + .form-section, + .form-grid, + .permissions-container { + max-width: 100%; + overflow-x: hidden; + } + + * { + box-sizing: border-box; + } + + /* Fix grid overflow issues */ + .form-grid, + .permissions-container { + min-width: 0; + } + + /* Fix transform hover effects */ + .permission-group:hover, + .status-option:hover { + transform: translateY(-2px) !important; + } + + .permission-item:hover { + transform: translateX(3px) !important; + } + + /* Ensure containers don't exceed viewport */ + @media (min-width: 1200px) { + .staff-edit-card { + max-width: 95vw; + } + } + + @media (min-width: 1440px) { + .staff-edit-card { + max-width: 97vw; + } + } + + @media (min-width: 1600px) { + .staff-edit-card { + max-width: 98vw; + } + } + + @media (min-width: 1920px) { + .staff-edit-card { + max-width: 99vw; + } + } + body { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; @@ -46,21 +119,26 @@ z-index: 10; } - /* Fluid Header */ + /* =========================================== */ + /* UPDATED HEADER LAYOUT */ + /* =========================================== */ .staff-header { + display: flex; + align-items: center; + gap: 14px; + text-align: left; background: var(--primary-gradient); - padding: 30px 25px; + /* padding: 16px 20px; */ color: white; - text-align: center; position: relative; + flex-wrap: wrap; } .staff-avatar { - width: 80px; - height: 80px; + width: 70px; + height: 70px; border-radius: 50%; background: white; - margin: 0 auto 15px; display: flex; align-items: center; justify-content: center; @@ -68,6 +146,7 @@ color: #667eea; border: 3px solid white; box-shadow: 0 5px 15px rgba(0,0,0,0.2); + flex-shrink: 0; } .staff-avatar-initials { @@ -78,6 +157,11 @@ -webkit-text-fill-color: transparent; } + .staff-header-content { + flex: 1; + min-width: 0; + } + .staff-title { font-size: 1.8rem; font-weight: 700; @@ -102,6 +186,68 @@ border: 1px solid rgba(255,255,255,0.2); } + /* Mobile responsive for header */ + @media (max-width: 768px) { + .staff-header { + flex-direction: column; + text-align: center; + gap: 15px; + padding: 20px 15px; + } + + .staff-avatar { + margin: 0 auto; + } + + .staff-header-content { + text-align: center; + } + } + + /* Adjust avatar sizes for larger screens */ + @media (min-width: 1200px) { + .staff-header { + gap: 30px; + padding: 40px 35px; + } + + .staff-avatar { + width: 90px; + height: 90px; + } + } + + @media (min-width: 1440px) { + .staff-header { + gap: 35px; + padding: 45px 40px; + } + + .staff-avatar { + width: 100px; + height: 100px; + } + } + + @media (min-width: 1600px) { + .staff-header { + gap: 40px; + padding: 50px 45px; + } + + .staff-avatar { + width: 110px; + height: 110px; + } + } + + @media (min-width: 1920px) { + .staff-header { + gap: 45px; + padding: 60px 50px; + } + } + /* Fluid Form Sections */ .form-section { padding: 25px; @@ -479,7 +625,7 @@ @media (min-width: 1200px) { .staff-edit-card { margin: 0 auto; - max-width: 95%; + max-width: 95vw; } .form-grid { @@ -532,7 +678,7 @@ /* Extra large desktop - 1440px+ */ @media (min-width: 1440px) { .staff-edit-card { - max-width: 97%; + max-width: 97vw; } .form-grid { @@ -604,7 +750,7 @@ /* Ultra wide desktop - 1600px+ */ @media (min-width: 1600px) { .staff-edit-card { - max-width: 98%; + max-width: 98vw; } .form-grid { @@ -676,7 +822,7 @@ } .staff-edit-card { - max-width: 99%; + max-width: 99vw; } .form-grid { @@ -788,9 +934,11 @@ {{ strtoupper(substr($staff->name, 0, 2)) }}
-

Edit Staff Profile

-
{{ $staff->name }}
-
{{ $staff->employee_id }}
+
+

Edit Staff Profile

+
{{ $staff->name }}
+
{{ $staff->employee_id }}
+
From f7856a6755f8c04d88eca786b1fa2553589488db5c64ddf485286174a3049a8c Mon Sep 17 00:00:00 2001 From: Abhishek Mali Date: Tue, 23 Dec 2025 21:11:53 +0530 Subject: [PATCH 3/5] account --- public/invoices/invoice-INV-2025-000051.pdf | Bin 0 -> 62668 bytes resources/views/admin/account.blade.php | 36 +++++++++++++------- 2 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 public/invoices/invoice-INV-2025-000051.pdf diff --git a/public/invoices/invoice-INV-2025-000051.pdf b/public/invoices/invoice-INV-2025-000051.pdf new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..82b3fa74e506d465427f818dbb6ecd1085f11de606e1a21cecbc3d57dc57d6c4 GIT binary patch literal 62668 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�c6#*eIR- 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