Commit Graph
100 Commits
Author SHA1 Message Date
Jeppe Bundgaard d721dfc4c2 Integrate WebdriverIO setup for End-to-End testing
- Added `wdio.conf.js` for configuring WebdriverIO.
- Introduced `test/specs/sample.spec.js` for initial test case setup to validate home page loading.
- Updated `vite.config.js` to include SCSS preprocessor configuration for improving CSS handling.
- Added required dependencies for WebdriverIO and related services in `package-lock.json`.
2025-10-07 09:38:27 +02:00
Jeppe Bundgaard 79b721e79c "Reset daily report counts to 0 when no departments are selected"
- Added logic to set all daily report count values (transactions, products sold, earnings, washes, water usage) to 0 when no department is selected.
2025-10-06 16:29:56 +02:00
Jeppe Bundgaard 75d27137a8 "Add PosDepartmentStepMobile2Customer component and enhance customer ID change handling"
- Added new `PosDepartmentStepMobile2Customer.vue` component for managing customer selection.
- Introduced `watch` logic and metadata updates to track customer ID changes in `PosDepartmentStepMobile2.vue`.
- Updated UI to include customer selection in mobile step flow.
2025-10-06 12:20:29 +02:00
Jeppe Bundgaard 9cc22c9e43 "Improve loading states, UI responsiveness, and attachment handling across POS Mobile components" 2025-10-06 11:52:03 +02:00
Jeppe Bundgaard e92f85d576 Add support for selecting multiple departments in daily reports 2025-10-02 17:15:50 +02:00
Jeppe Bundgaard c124301c61 Add reactive camera zoom control to attachment selector
- Introduced `watch` logic to toggle camera zoom when the attachment selector is shown or hidden.
- Ensured the previous zoom level is restored after closing the selector.
2025-10-02 11:14:33 +02:00
Jeppe Bundgaard e9a5a7100e Emit customer selection changes from customerSearchFieldPos.vue
- Added `emitChange()` calls after `selectCustomer()` to broadcast selection updates.
- Updated dropdown and Stripe payment button actions to include change emission.
2025-10-02 11:13:16 +02:00
Jeppe Bundgaard c71abbfd7b Enable and standardize button disable state in transaction history actions
- Added `:customDisabled="false"` property to buttons in `PosDepartmentStep1MobileTransactionHistory.vue` for consistent disable state management.
2025-10-01 10:04:32 +02:00
Jeppe Bundgaard 94db1468bb Add dynamic camera zoom functionality across components
- Replaced static zoom level with dynamic `camera.getZoom()` in `ScannerCamera.vue`.
- Added reactive zoom level management and utility functions (`getZoom`, `setZoom`, `clearZoom`) in `PosDepartmentStepMobileFlow.vue`.
- Incorporated toggleable zoom control with UI updates in `PosDepartmentStepMobileAttachments.vue`.
2025-09-30 16:25:23 +02:00
Jeppe Bundgaard 4b48a93e8f Improve department navigation and accessibility handling
- Added redirects for default and inaccessible departments in `SessionUser.vue`.
- Introduced department-specific route checks in `NavigationMenuItems.vue` and `NavigationMenuItemsAdmin.vue`.
- Enhanced department filtering logic and UI updates for admin menus.
- Implemented percentage display in `DepartmentDashboardDailyReportCount.vue` for improved report usability.
2025-09-30 14:11:04 +02:00
Jeppe Bundgaard 6fba0ce3b6 Clear vehicle registration on re-selection in PosDepartmentStepMobileFlow.vue
- Added logic to clear existing vehicle registration data before updating the active vehicle index.
- Enhanced `setActive` function to prevent overlapping or duplicate vehicle assignments in `PosDepartmentStepMobile1RegistrationNumbers.vue`.
2025-09-25 14:20:29 +02:00
Jeppe Bundgaard 6985b902ae Update Danish translations and improve mobile responsiveness
- Localized text updates and improved Danish translations across POS components.
- Enhanced mobile view handling with `is-hidden-touch` and `is-hidden-desktop` classes for better responsiveness.
- Added mobile-specific navigation and UI elements in `PosOrderItemsCurrent.vue` and related views.
2025-09-25 14:15:02 +02:00
Jeppe Bundgaard ba66c1eabe Enhance error handling, loading states, and transaction management in POS Mobile components
- Added error messaging for failed transactions and unknown errors in `SessionUser.ObjectsGlobal.vue`.
- Enhanced transaction handling with error validation and recovery logic in `PosDepartmentStep1MobileTransactionHistory.vue`.
- Introduced `awaitBookingCompletion` utility for booking wait states in `PosDepartmentStepMobileButtonNextStep.vue`.
- Updated transaction history visuals to display error states and warnings, including refined badge styling in `PosDepartmentStepMobileAttachments.vue`.
- Improved metadata management by adding `loadingState` and associated logic in `PosDepartmentStepMobileFlow.vue`.
- Adjusted popup visuals and actions with updated styles and button configurations.
2025-09-25 13:05:44 +02:00
Jeppe Bundgaard d52e3d0af4 Add pending_handheld field to PosOrder for handheld device order status tracking 2025-09-25 10:14:54 +02:00
Jeppe Bundgaard 9e4d238d4c Add handheld order handling and enhance transaction management with updated translations
- Introduced `handheld_pending_order` and `confirmation_needed` translations in `SessionUser.ObjectsGlobal.vue`.
- Added handheld status indicator and confirmation logic in `PosDepartmentStepMobileTransactionHistory.vue` and `PosDepartmentStepMobileButtonNextStep.vue`.
- Enhanced `nextStep` and `createOrder` functions across components to handle mobile-specific order creation.
- Updated order table visuals and logic in `ordersTable.vue` to display handheld status with warnings and confirmation prompts.
2025-09-25 10:14:39 +02:00
Jeppe Bundgaard c8e9fd820c Remove camera toggle functionality and update inactive camera message in ScannerCamera.vue 2025-09-24 14:36:33 +02:00
Jeppe Bundgaard 0622a74e02 Enhance transaction history functionality and update Danish translations
- Added `toWordsWithTime` utility for date formatting in `SessionUser.vue`.
- Improved transaction history view in `PosDepartmentStep1MobileTransactionHistory.vue` with customer data retrieval, periodic refresh, and localized messages.
- Updated header transparency logic using `isAnyActive` view state in `PosDepartmentStepMobileFlow.vue`.
- Refined Danish translations across multiple components.
- Adjusted `reference` handling in `PosDepartmentStepMobileButtonNextStep.vue` for vehicle-based defaults.
2025-09-24 13:30:48 +02:00
Jeppe Bundgaard ffe687ceaa Add transaction history handling and update Danish translations in POS Mobile components
- Implemented transaction history management, including storage, retrieval, clearing, and auto-cleanup mechanisms in `PosDepartmentStepMobileFlow.vue`.
- Added `PosDepartmentStep1MobileTransactionHistory.vue` for viewing past transactions.
- Updated `PosDepartmentStepMobileAttachments.vue` to display transaction count and provide quick access to history.
- Enhanced flow reset functionality to optionally clear transaction history with `resetPos` changes.
- Updated Danish translations for prompts, titles, and labels in `LoginQR.vue`, `ScannerInstructions`, and other UI elements.
2025-09-24 11:05:25 +02:00
Jeppe Bundgaard ef43052156 Update popup titles and messages with localized Danish translations in POS Mobile flow 2025-09-23 16:41:05 +02:00
Jeppe Bundgaard e0e6b30c69 Add wash certificate handling and booking integration in POS Mobile components
- Implemented logic to handle wash certificates as addons or separate attachments in `PosDepartmentStepMobileFlow.vue`.
- Added booking creation for wash certificates using `SessionUser.objects.forms.functions.submit`.
- Updated `PosDepartmentStepMobileAttachments.vue` for toggling wash certificate selection and visual indicators.
- Extended `attachments` object to include wash certificate management, including related functions like `addWashCertificate` and `clearWashCertificate`.
- Refined `setPrimaryItem` to validate and apply wash certificate addons where needed.
2025-09-23 16:06:32 +02:00
Jeppe Bundgaard 61050d7ec2 Add product note handling and enhance additional item management in POS Mobile components
- Added `PosDepartmentStepMobilePopupAddProductNote.vue` for managing product notes via popups.
- Updated `PosProduct` to include optional `notes` field in product definition.
- Modified additional item logic in `PosDepartmentStepMobileFlow.vue` to handle product notes and quantities.
- Enhanced `PosDepartmentStepMobile2AdditionalItems.vue` with dynamic toggles, improved layout, and localized labels.
- Updated translations and button labels for additional item actions.
- Adjusted `WhiteBoxCard.vue` to support `forceState` prop for toggle control.
2025-09-23 13:23:15 +02:00
Jeppe Bundgaard 88472dd37c Update styles and spacing for PosDepartmentStepMobileButtonClearAll
- Changed button style from `is-outlined is-danger` to `is-white`.
- Added `mt-2` class for improved vertical spacing.
2025-09-23 11:10:57 +02:00
Jeppe Bundgaard 0acb4ed865 Refactor POS Mobile components:
- Comment out unused `PosDepartmentStepMobile2AdditionalItems` in `PosDepartmentStepMobile2.vue`.
- Wrap `PosDepartmentStepMobileButtonClearAll` in a `div` for improved layout structure.
- Add styles and click handlers to `PosDepartmentStepMobileButtonClearAll` for resetting flow and values.
2025-09-23 11:01:24 +02:00
Jeppe Bundgaard 4ef4f927bc Add additional items handling and customizable product display in POS Mobile flow
- Introduced `PosDepartmentStepMobile2AdditionalItems.vue` for managing additional items in transactions.
- Added `additionalItemSelection` view to `PosDepartmentStepMobileFlow.vue` for enhanced item selection.
- Enhanced `PosDepartmentStepMobile2Products.vue` with support for displaying products as addons.
- Implemented reusable addon conversion logic for managing products as additional items.
- Updated `WhiteBoxCard.vue` to emit toggle events for improved interaction.
- Refactored button logic in `PosDepartmentStepMobileButtonNextStep.vue` to handle custom actions and disable states.
- Adjusted prop handling and event logic in multiple components for seamless addon integration.
2025-09-23 10:50:59 +02:00
Jeppe Bundgaard d4ba7937af Update translations in PosDepartmentStepMobile2LastOrder.vue for localized order summaries and labels 2025-09-23 07:51:16 +02:00
Jeppe Bundgaard c931dc2f47 Add Office document preview handling in POS Mobile attachments
- Added logic to display a message and download option for unsupported Office document previews in `PosDepartmentStepMobileAttachment.vue`.
- Introduced `filterOutQuery` function to remove query parameters from URLs for preview handling.
- Updated style in `PosDepartmentStepMobileAttachmentsDisplay.vue` to comment out unused border styling.
2025-09-22 17:48:46 +02:00
Jeppe Bundgaard 1e4bcddfa1 Integrate attachment management and translate prompts in POS Mobile components
- Added `PosDepartmentStepMobileAttachments.vue` and `PosDepartmentStepMobileAttachmentsDisplay.vue` for attachment handling in the mobile flow.
- Implemented attachment management logic, including adding, removing, and uploading attachments in `PosDepartmentStepMobileFlow.vue`.
- Updated button and popup labels with localized translations.
- Enhanced camera integration to include attachment support and added visual indicators for attachments in the UI.
2025-09-22 17:29:28 +02:00
Jeppe Bundgaard 99d432f10d Add product recommendation functionality and update translations in POS Mobile components
- Introduced `PosDepartmentStepMobile2ProductRecommendations.vue` for displaying suggested products based on department and vehicle data.
- Updated button labels and prompts in `PosDepartmentStepMobileButtonNextStep.vue` with localized translations.
- Enhanced category handling in `PosDepartmentStepMobile2Categories.vue` to auto-select category `6` (if available).
- Removed debug values and unused imports across various components for cleaner implementation.
2025-09-22 13:26:41 +02:00
Jeppe Bundgaard d6e638053f Add attachment management functionality to POS Mobile components
- Implemented attachment-related functions: `fetchAttachments`, `uploadAttachment`, `deleteAttachment`, and `downloadAttachment`.
- Added `PosDepartmentStepMobileAttachment.vue` component for managing and previewing attachments.
- Integrated attachment handling into POS Mobile workflow, including the ability to upload, delete, and download attachments.
- Updated tabs in `PosOrderItemsCurrent.vue` to include an "Attachments" section.
2025-09-22 13:03:33 +02:00
Jeppe Bundgaard 27381bed67 Remove unused imports and redundant code across POS Mobile components
- Eliminated unused imports such as `GenericButton`, `SuccessCheck`, and `Swal` from multiple files.
- Removed redundant variable `status` in `RegistrationNumberSearchResult.vue`.
- Simplified component scripts by cleaning up unnecessary code and imports.
2025-09-18 13:44:11 +02:00
Jeppe Bundgaard 6e851f5e48 Refactor primary item and pricing logic in POS Mobile components
- Removed redundant primary item fetch restrictions in `PosDepartmentStepMobile2.vue`.
- Updated primary item assignment to support addon price synchronization.
- Enhanced pricing calculations in `PosDepartmentStepMobileFlow.vue` to account for addon quantities.
- Improved null-safety in `PosDepartmentStepMobile2Product.vue` to handle missing product properties gracefully.
2025-09-18 13:39:54 +02:00
Jeppe Bundgaard c8b0d591e6 Refactor reference validation in PosDepartmentStepMobileButtonNextStep.vue
- Simplified reference resolution logic with a new `resolveReferenceFromSources` helper.
- Replaced error popups with `Swal`-based prompts for better user interaction.
- Enhanced `validateReferenceRequirements` to handle missing references more gracefully.
- Improved step flow by integrating `finalizeStep1` for streamlined completion.
2025-09-18 13:04:03 +02:00
Jeppe Bundgaard 319e3ee9b3 Refactor POS Mobile error popup and action button logic
- Removed unused icon container in `PosDepartmentStepMobilePopupError.vue`.
- Added reusable `actionButtons` object in `PosDepartmentStepMobileFlow.vue` for consistency.
- Imported `Swal` for future popup enhancements.
2025-09-18 12:36:45 +02:00
Jeppe Bundgaard 4ca1090b8e Add error popup and action button handling to POS Mobile components
- Introduced `PosDepartmentStepMobilePopupError.vue` for displaying error messages in popups.
- Added `PosActionButton` type and integrated reusable action buttons with popups.
- Enhanced popup system to support footer action buttons and improved context-based popup customization.
- Implemented reference validation logic in `PosDepartmentStepMobileButtonNextStep.vue` to ensure mandatory fields are completed before proceeding.
2025-09-18 11:37:25 +02:00
Jeppe Bundgaard f9c30af063 Update vehicle status logic in RegistrationNumberSearchResult.vue
- Replaced `vehicle.customer_id` check with `vehicle.status === 'verified'` for improved clarity and accuracy.
2025-09-18 10:03:02 +02:00
Jeppe Bundgaard aebb176ff8 Update vehicle handling logic in RegistrationNumberSearchResult.vue
- Added `determineCustomerStatus` to identify and handle customer status for matching vehicles.
- Refactored condition to check `vehicle.status` instead of `vehicle.is_known` for clarity and consistency.
2025-09-18 09:55:24 +02:00
Jeppe Bundgaard 781ff47356 Refactor add-on handling in PosDepartmentStepMobile2Addons.vue and enhance reusability
- Replaced inline add-on logic with `PosDepartmentStepMobile2CategoryProduct` for streamlined handling.
- Updated `PosDepartmentStepMobile2CategoryProduct.vue` to support `customButton` prop for conditional button rendering.
- Simplified component template structure and improved slot-based customization.
2025-09-17 15:00:05 +02:00
Jeppe Bundgaard 30544d2845 Add new piktogram images and update image handling in Piktogrammer.vue
- Added new piktogram images: `3.png`, `16.png`, `18.png`, `43.png`, `44.png`, `45.png`, `46.png`, `47.png`, `48.png`, and `56.png`.
- Updated `getPicture` logic to handle new image cases, ensuring correct mappings.
2025-09-17 14:24:29 +02:00
Jeppe Bundgaard 562b3f2a7a Refactor product card layout in PosDepartmentStepMobile2CategoryProduct.vue
- Simplified template structure by reducing redundant DOM elements.
- Enhanced styling for better readability and consistency across components.
- Adjusted `custom-button` and `product-image` styling with improved responsiveness and user interaction.
2025-09-17 13:34:10 +02:00
Jeppe Bundgaard 0d03fa39c3 Enhance primary item and order item handling in POS Mobile components
- Added checks to prevent redundant primary item fetches in `PosDepartmentStepMobile2.vue`.
- Introduced `updateLastOrderItemPrices` to dynamically update item prices based on product changes.
- Updated `primaryItem` logic in `PosDepartmentStepMobileFlow.vue` to ensure reactivity and vehicle type synchronization.
- Improved last vehicle order handling by validating items and updating their prices efficiently.
- Extended `SessionUser.objects.products.get.all` to support additional metadata options.
2025-09-17 12:13:35 +02:00
Jeppe Bundgaard 73de955d12 Refactor primary item handling and update product price logic in POS Mobile components
- Replaced direct primary item assignment with `transactionItems.setPrimaryItem` in `PosDepartmentStepMobile2.vue`.
- Updated `PosDepartmentStepMobile2Product.vue` to use `product` prop instead of separate `label`, `piktogram`, and `price` props.
- Added `updateTransactionPrices` and `updateTransactionProduct` methods to dynamically handle product price updates in `PosDepartmentStepMobileFlow.vue`.
- Enhanced product metadata handling and ensured consistency across related components.
2025-09-17 10:44:41 +02:00
Jeppe Bundgaard b208f3dea0 Update fetchProducts to include metadata flag for category fetching
- Added `true` flag to `fetchProducts` in `PosDepartmentStepMobile2Products.vue` to ensure metadata handling during product retrieval.
2025-09-17 10:03:12 +02:00
Jeppe Bundgaard 6a9908d964 Add department_id and customer_id handling in POS Mobile components
- Updated `SessionUser.objects.products` methods (`single` and `category`) to include `department_id`, `customer_id`, and `final_price` options.
- Enhanced product fetching logic in `PosDepartmentStepMobile2.vue` and `PosDepartmentStepMobile2Products.vue` to accommodate new metadata fields.
2025-09-17 09:58:49 +02:00
Jeppe Bundgaard f05fca704f Add PosLane type definition in PosLane.vue
- Introduced `PosLane` type with `id` field in a new TypeScript-based component.
2025-09-16 15:36:13 +02:00
Jeppe Bundgaard 9107705a27 Add lane management and debug mode updates in POS Mobile components
- Introduced `laneId` metadata with `setLaneId`, `getLaneId`, and `clearLaneId` functions in `PosDepartmentStepMobileFlow.vue`.
- Modified metadata handling across components to accommodate `laneId` updates.
- Added new `PosDepartmentStepMobileLane.vue` with button integration to display lane reference information using SweetAlert.
- Updated `PosDepartmentStepMobile1.vue` to disable debug mode by default.
- Documented scrollable mobile menu behavior in `MobileNavigation.vue`.
2025-09-16 15:28:05 +02:00
Jeppe Bundgaard b5ac25f4c3 Add reference management in PosDepartmentStepMobileReference.vue
- Introduced `PosDepartmentStepMobileReference.vue` to handle reference updates via a user-friendly SweetAlert prompt.
- Added new button with logic to dynamically update `reference` value and metadata.
- Removed unused imports from `PosDepartmentStepMobile1RegistrationNumbers.vue` to streamline dependencies.
2025-09-16 14:54:45 +02:00
Jeppe Bundgaard 9449f50403 Add duplicate check handling and reset logic in PosDepartmentStep1.vue
- Introduced `duplicateCheckId` to manage stale responses during duplicate order checks.
- Updated `checkDuplicateOrders` to reset potential duplicates before performing a new check.
- Improved watcher on `reg_1` by removing redundant return statements and enhancing logging.
- Ensured duplicate prevention by adding validation for repeated orders in `potentialDuplicateOrderObjects`.
2025-09-16 14:34:58 +02:00
Jeppe Bundgaard e3bb6243e2 Replace v-show with v-if and refactor viewport component logic
- Updated `DefaultPageWrapper.vue` to use `v-if` instead of `v-show` for conditional rendering.
- Simplified `ViewportResponsiveWrapper.vue` by introducing `getMatch` function for better media query matching.
- Removed redundant `onMounted` hooks and logging from viewport components (`ViewportResponsiveWrapper.vue` and `ViewportContent.vue`).
- Adjusted slot formatting for consistency across viewport components.
2025-09-16 14:16:10 +02:00
Jeppe Bundgaard 88dfb14a2d Remove unused template for department version 1 in PosDepartmentStep1.vue
- Cleaned up unused template, reducing clutter and simplifying the DOM structure.
- Updated watchers for `reg_1` to include logging changes for better debugging.
- Replaced `v-if` with `v-show` in `PosDepartmentMVP.vue` components for improved rendering efficiency.
- Added `onMounted` hooks with console warnings in `ViewportResponsiveWrapper.vue` and `ViewportContent.vue` to track component mounting.
- Removed unused `tabindex` from `LicensePlateReg1Input` in `SelectVehicleFormPOS.vue`.
2025-09-16 13:52:38 +02:00
Jeppe Bundgaard 9c49b25e36 Comment out verbose logging across POS components
- Replaced active `console.log` and `console.warn` calls with comments in various POS components for cleaner logs.
- Adjusted logging in `PosDepartmentStepMobile1.vue` and `RegistrationNumberSearchResult.vue` to improve readability and maintain focus on crucial log entries.
- Maintained visibility for critical warnings and errors while removing redundant noise.
2025-09-16 13:11:30 +02:00
Jeppe Bundgaard db802f0958 Add showResetButton prop to FormDisplay.vue
- Introduced `showResetButton` prop to toggle visibility of reset button in `FormDisplay.vue`.
- Updated `PosDepartmentStepMobilePopupCompleteBooking.vue` to set `showResetButton` to `false` as part of form customization.
2025-09-16 13:01:39 +02:00
Jeppe Bundgaard ff4e5f3a82 Add booking completion functionality in POS Mobile components
- Introduced `complete_booking` popup for handling booking completion, including form submission via `PosDepartmentStepMobilePopupCompleteBooking.vue`.
- Enhanced `PosPopup.vue` to support new `PopupComponentKey` for `complete_booking`.
- Updated `Orders.vue` with `booking_id` field and associated operations for enhanced booking management.
- Modified `PosDepartmentStepMobileButtonNextStep.vue` with logic to handle booking completion before order processing.
- Consolidated booking status checks using `isBookingCompleted` in `Bookings.vue`.
- Improved success alert behavior in `FormDisplay.vue` with a configurable visibility option.
2025-09-16 12:58:03 +02:00
Jeppe Bundgaard 8c6c077ccc Enhance reference and notes handling in POS Mobile components
- Added logic to dynamically update `reference` and `notes` fields in `PosDepartmentStepMobile2.vue` using metadata and order details.
- Introduced `updateReference` and `updateNotes` functions to streamline field updates.
- Enhanced button enablement handling in `PosDepartmentStepMobileButtonNextStep.vue` based on customer selection and registration number validation.
- Improved `ControlFieldInput` bindings for `reference` and `notes` fields to leverage metadata updates.
2025-09-16 10:04:48 +02:00
Jeppe Bundgaard aa79c3f8a1 Add null-check for vehicle registration in PosDepartmentStepMobilePopupSelectCustomer.vue
- Ensures `VehicleCustomerSuggestionsPos` renders only when `vehicle_1` registration exists.
- Improves component reliability by preventing potential runtime errors.
2025-09-16 08:16:39 +02:00
Jeppe Bundgaard 57c632dc7b Remove unused imports from RegistrationNumberSearchResult.vue and POSDepartmentProcess.vue
- Cleaned up redundant imports including `SessionUser` and `resolve`.
- Streamlined dependencies to improve maintainability and readability.
2025-09-15 15:12:45 +02:00
Jeppe Bundgaard d9a269dde4 Add automatic booking application in RegistrationNumberSearchResult.vue
- Introduced `applyBookingAutomatically` to handle inquiries for existing bookings and prompt user confirmation.
- Enhanced vehicle booking logic to pre-fill details and navigate to the next step upon user confirmation.
- Updated logging from `console.log` to `console.warn` for better visibility.
- Integrated SweetAlert2 for user interaction during booking application.
- Improved manual input visibility management based on booking status.
2025-09-15 15:04:01 +02:00
Jeppe Bundgaard fd64462bd0 Update references, vehicle handling, and ControlFieldInput binding in POS components
- Added `metadata` and `order_notes` to relevant imports in `PosDepartmentStepMobile2.vue`.
- Enhanced reference field logic to dynamically update from vehicle 1's reference.
- Introduced watchers for vehicle reference changes to update bindings in real time.
- Reworked `ControlFieldInput` to support `vmodel` prop.
- Adjusted vehicle search endpoint for more precise queries.
- Commented out redundant `customer_id` fetching in `RegistrationNumberSearchResult.vue`.
- Added `bookingId` to `PosSearchResult` and `PosVehicle` objects for improved booking management.
2025-09-15 14:21:44 +02:00
Jeppe Bundgaard 82c363b59b Enhance vehicle search and status handling in POS components
- Added a `search` utility to manage vehicle searches in `PosDepartmentStepMobileFlow.vue`.
- Introduced functions to fetch and parse vehicle status in `SessionUser/Objects/Vehicles.vue`.
- Enhanced click behavior for registration number components to handle vehicle updates dynamically.
- Incorporated `reference` input field into `PosDepartmentStepMobile2.vue` for additional order details.
- Improved `loadOrderDetails` function to support success callbacks for better flexibility in `POSDepartmentProcess.vue`.
2025-09-15 11:56:16 +02:00
Jeppe Bundgaard 765f9c7d4f Add password change functionality to UserProfile.vue
- Introduced `onClickChangePassword` to handle password changes with validation and feedback.
- Added a corresponding button in the UI for users to change their passwords.
- Enhanced error handling for password change requests with descriptive messages.
2025-09-15 08:26:56 +02:00
Jeppe Bundgaard f94e138096 Improve logging and vehicle selection logic in POS components
- Updated `console.log` statements to `console.warn` for better visibility.
- Enhanced automatic vehicle selection logic in `PosDepartmentStepMobile1.vue` and `RegistrationNumberSearchResult.vue`.
- Refactored `getUnregisteredVehicleObjects` to return values instead of directly mutating state.
- Improved error handling and added fallback for unregistered vehicles during search.
- Adjusted search logic to prevent redundant processing and ensure consistency in `vehicles_matching`.
2025-09-14 16:11:59 +02:00
Jeppe Bundgaard f69cde5ae9 Add new daily report item for "Højglans - Voksforsegling pr. enhed" in DepartmentDailyReport.vue 2025-09-10 10:56:14 +02:00
Jeppe Bundgaard ce606116e7 Add Intranet module and enhance POS mobile functionality
- Introduced `Intranet` module with layout components (`Top`, `Bottom`, `Left`, and `Right`) and a new route `/modules/intranet`.
- Added `DepartmentIntranetImportEvents.vue` and `DepartmentIntranetEvents.vue` for event management, including fake event population for testing.
- Created `EventType` and `ShortcutType` types for event and shortcut handling.
- Integrated `PosDepartmentStepMobileButtonClearAll` for clearing POS mobile values and updated its usage in various components.
- Refactored buttons in `PosDepartmentStepMobile2.vue` by adding fixed bottom control for better UI consistency.
- Made `debug_mode` enabled by default in `PosDepartmentStepMobile1.vue`.
- Added additional logging for debugging in `RegistrationNumberSearchResult.vue`.
2025-09-09 16:01:21 +02:00
Jeppe Bundgaard 39e4866964 Enhance mobile experience with adjusted viewport meta tag and added Apple touch capability 2025-09-07 14:48:56 +02:00
Jeppe Bundgaard e9b01dbed0 Update viewport meta tag to include maximum-scale property for improved mobile accessibility 2025-09-07 14:30:21 +02:00
Jeppe Bundgaard fee592a420 Add superuser impersonation check and comment cleanup in UI components
- Introduced `canImpersonateAdmin` function placeholder in `superUserObject.vue` for future implementation.
- Updated `usersTable.vue` to include conditional button disabling based on the impersonation check.
- Cleaned up commented HTML in `SuperUserDashboardNavigation.vue` for better readability.
2025-09-07 14:09:23 +02:00
Jeppe Bundgaard 36c03425c0 Add debug mode toggle to PosDepartmentStepMobile1.vue
- Introduced `debug_mode` flag for conditional debugging.
- Updated API call handling to log requests and errors only when debug mode is enabled.
- Adjusted `PosDepartmentStepMobile1Debug.vue` visibility based on `debug_mode` value.
2025-09-06 12:18:50 +02:00
Jeppe Bundgaard e248d99d6c Add debug functionality and camera enhancements for POS mobile steps
- Introduced `PosDepartmentStepMobile1Debug.vue` to display debug information in POS mobile workflow.
- Integrated debug button and logic into `PosDepartmentStepMobile1.vue` for temporary state inspection.
- Enhanced `ScannerCamera.vue` by adding zoom and continuous focus capabilities in camera constraints.
2025-09-06 12:09:51 +02:00
Jeppe Bundgaard 3253dda8d3 Add CalendarSmall and DepartmentTimeBookingsTable components, refactor pagination and input handling
- Introduced `CalendarSmall.vue` and `departmentTimeBookingsTable.vue` with new time selection and booking display functionality.
- Updated `TimeBookingsPagination.vue` to utilize the new `departmentTimeBookingsTable` component.
- Refactored `ControlFieldInput.vue` to support `select` element handling alongside inputs.
- Enhanced placeholder text in input search field with dynamic content.
- Adjusted `DepartmentTimeBookings.vue` to activate `TimeBookingsPagination` and deactivate old `Calendar` component.
- Included translation key `search_in` in `ObjectsGlobal.vue`.
2025-09-06 10:34:46 +02:00
Jeppe Bundgaard 886abf002e Update contact information in User Dashboard Home
- Updated primary support email to `cph@truckwash.dk` and phone number to `43 71 78 86`.
- Clarified roles for general inquiries and technical support contact details.
2025-09-05 09:19:09 +02:00
Jeppe Bundgaard 430fef9e28 Refactor navigation menu structure and enhance UI components
- Updated `NavigationMenuItemsSuperUser.vue` to adjust `XLVask` route path.
- Added `is-right is-boxed` classes to dropdowns in `NavigationMenuItem.vue` for improved alignment and styling.
- Organized `NavigationMenuItemsGlobal.vue` by grouping items under a "Hjem" category.
- Imported `Colors` in `collectedOrderInvoiceManageEconomic.vue` for enhanced theming options.
2025-09-04 14:50:56 +02:00
Jeppe Bundgaard e2687f49f4 Remove unused NavigationMenuUpdates component from MobileNavigation.vue 2025-09-04 11:45:30 +02:00
Jeppe Bundgaard 249c25cc11 Update department navigation menu to use getDepartmentLabel
- Replaced `getDepartmentLabelWithDistance` with the new `getDepartmentLabel` function in `NavigationMenuDepartment.vue` for cleaner label handling.
- Added `getDepartmentLabel` function to retrieve department labels by ID.
2025-09-04 11:43:50 +02:00
Jeppe Bundgaard 71fcf2db7b Adjust mobile POS behavior and visibility settings
- Added `reset_all_values()` call to `GenericButton` click event in `PosDepartmentStepMobile1RegistrationNumbers.vue` for enhanced reset functionality.
- Changed `v-show` to `false` in `PosDepartmentStepMobile1Location.vue` to hide location details by default.
2025-09-04 11:40:56 +02:00
Jeppe Bundgaard ed09399ac1 Add water usage metrics, enhanced date shortcuts, and new product flag
- Introduced `count_washes` and `count_water_usage` metrics in department daily reports.
- Enhanced `DatePeriodSelector.vue` with additional shortcuts for various date ranges.
- Added `is_wash` column and functionality in product management views for wash-specific handling.
2025-09-03 14:52:07 +02:00
Jeppe Bundgaard 1f1c26d2b5 Add range date support for daily reports and enhance date selection logic
- Introduced `selected_date_to` for configuring date ranges in daily reports.
- Updated `selectDate` function to handle optional end dates and validate formats.
- Enhanced `DepartmentDailyReportObject.vue` to utilize date ranges for transaction count retrieval.
- Added daily and weekly shortcuts for quick date range selections in `DatePeriodSelector.vue`.
- Updated API calls to support optional `date_to` parameters in `SessionUser` functions.
- Integrated `DatePeriodSelector` into daily report navigation for streamlined date range management.
- Adjusted UI components to reflect date range selection updates and warnings.
2025-09-03 12:51:36 +02:00
Jeppe Bundgaard 8876f4034f Set z-index for DesktopHeader navbar to ensure proper layering 2025-09-03 11:34:50 +02:00
Jeppe Bundgaard a12d9932ac Refactor navigation menu item types:
- Changed `type` from `department` to `category` for "Kassesystem" and "Tidsbookinger" menu items.
- Simplified structure by removing unnecessary `to` properties in `NavigationMenuItemsAdmin.vue`.
2025-09-03 11:31:59 +02:00
Jeppe Bundgaard 2fd510c682 Refactor invoice management components and PWA configuration:
- Updated `vite.config.js` to use an absolute base path for PWA manifest alignment.
- Removed unused imports and components for cleaner `collectedOrderInvoice` views.
- Fixed invoice data mapping by updating `raw_data.objects` to `raw_data.orders`.
- Enhanced user feedback with error handling modal in `collectedOrderInvoiceManageEconomic.vue`.
2025-09-02 15:53:24 +02:00
Jeppe Bundgaard 71ec2eeaac Revert "Deprecate createVehicleSubscriptionInvoice and integrate SessionUser.objects.collectedOrderInvoices.functions.createVehicleSubscriptionInvoice for invoicing logic simplification."
This reverts commit 45fa6dd085.
2025-09-02 13:19:08 +02:00
Jeppe Bundgaard 45fa6dd085 Deprecate createVehicleSubscriptionInvoice and integrate SessionUser.objects.collectedOrderInvoices.functions.createVehicleSubscriptionInvoice for invoicing logic simplification. 2025-09-02 13:03:25 +02:00
Jeppe Bundgaard 15e60409f2 Refactor invoicing logic, query parameter handling, and order table behavior:
- Added support for additional query parameters across pagination and views.
- Introduced system user order highlighting in `ordersTable.vue` with background styling and "System" label.
- Improved transaction handling for fixed pricing and vehicle subscriptions in invoicing workflows.
- Added reusable helper methods for managing query parameters and customer transactions.
- Deprecated `createVehicleSubscriptionInvoice` in favor of new `SessionUser` function.
2025-09-02 12:59:45 +02:00
Jeppe Bundgaard d37492091c Refactor invoicing and navigation components:
- Added warning for empty transaction invoicing in `InvoicingBillingPeriodViewAll.vue`.
- Updated invoicing button logic to simplify transaction handling and condition checks.
- Improved early exit validation in `fetchDepartmentBookingCount` to handle invalid `department_id` values.
2025-09-02 10:40:37 +02:00
Jeppe Bundgaard 58d79ff849 Adjust camera image capture delays:
- Reduced initial delay to 500ms for faster first capture.
- Set subsequent and post-success delays to 1005ms for consistent timing.
2025-09-01 16:54:18 +02:00
Jeppe Bundgaard 90557c9bb2 Refactor navigation components to simplify route checks and reuse logic:
- Replaced `window.location.pathname` with `vue-router`'s `useRoute`.
- Extracted route-based navigation logic into `useNavigationItems`.
- Simplified `NavigationMenuItems.vue` using computed props for permissions and routing.
- Consolidated global and local navigation items for better maintainability.
2025-09-01 16:33:28 +02:00
Jeppe Bundgaard 3d02c77edd Update caniuse-lite to version 1.0.30001739 and add license information 2025-09-01 15:49:02 +02:00
Jeppe Bundgaard fb19f12ffe Refactor vite.config.js:
- Introduced `mode` parameter to enable environment-specific logic.
- Enhanced service worker caching rules with updated expiration settings, API handling, and improved static asset matching.
- Improved PWA configuration for relative base paths and manifest alignment.
- Added conditional plugin usage for `viteSingleFile` and `vueDevTools`.
- Streamlined build environment variables and import.meta.env setup.
2025-09-01 15:48:52 +02:00
Jeppe Bundgaard 8a95be20a4 Refactor navigation components and enhance department logic:
- Added `url` prop to `NavigationMenuItems.vue` for dynamic bindings and improved compatibility with routing logic.
- Introduced early exit validation in `fetchDepartmentBookingCount` to handle default department conditions.
- Incorporated `ref` bindings for state management across `NavigationMenuItems` and `DesktopNavigation` components.
- Enhanced import structure with `NavigationItemProps`.
2025-09-01 12:44:06 +02:00
Jeppe Bundgaard 9c29467b52 Add small badge styling to NavigationMenuItem.vue for consistency 2025-09-01 11:03:45 +02:00
Jeppe Bundgaard 57b5beab78 Refactor navigation items to use computed properties:
- Replaced `ref` with `computed` for `items` in `NavigationMenuItems` components.
- Improved hierarchical structure and added categories for admin navigation.
- Introduced dynamic badge for booking counts using API integration.
- Updated global Vue instance to provide `API_URL`.
2025-09-01 10:58:54 +02:00
Jeppe Bundgaard 2ab7f97815 Add LicensePlateRecognizer module and desktop navigation enhancements:
- Introduced the `LicensePlateRecognizer` module with API connection settings and configuration components.
- Added `DesktopNavigation.vue` to replace `MobileNavigation.vue` for desktop headers.
- Updated navigation structure to support categorized and hierarchical menu items.
- Enhanced `NavigationMenuItems.vue` and `NavigationMenuItem.vue` with desktop-specific styling and dropdown support.
- Included routing and configuration views for `LicensePlateRecognizer`.
2025-09-01 10:13:20 +02:00
Jeppe Bundgaard 9037980e86 Add user materials dashboard and type definitions:
- Introduced `MyMaterials.vue` and related components (`MyMaterialBox.vue`, `MyMaterialCard.vue`) for displaying user materials.
- Added type definitions for `MaterialType` and `MaterialDepartmentStorageType`.
- Updated navigation with `NavigationMenuItemsUser.vue` and routing for `/user/materials`.
- Implemented utility functions for material storage and product management in `Materials.vue`.
2025-08-29 13:36:19 +02:00
Jeppe Bundgaard e036782f01 Refactor NavigationMenuDepartment.vue to use PosDepartment type and extract shared type definition. 2025-08-29 08:03:31 +02:00
Jeppe Bundgaard df2614fe76 Add QR code error alert and POS reset functionality:
- Integrated SweetAlert error notifications in `LoginQR.vue` for camera issues.
- Switched `PageLoader` in `LoginQR.vue` to `v-show` for better conditional rendering.
- Added "Clear All" button with reset logic to `PosDepartmentStepMobile1RegistrationNumbers.vue`.
2025-08-28 17:09:07 +02:00
Jeppe Bundgaard f2bfef3c88 Improve print invoice flow and caching strategy:
- Simplified print dialog logic in `PrintInvoiceFromOrderItems.vue` using dynamic URL-based receipts and onload handling.
- Enhanced service worker caching configuration in `vite.config.js` with specific caching rules for assets, API responses, images, and HTML files.
- Updated `ViewportHeader.vue` with visibility toggle and responsiveness improvements.
- Adjusted camera capture delays in `PosDepartmentStepMobileFlow.vue` for better user experience.
- Refactored department order views to manage display states for print receipt mode.
2025-08-28 14:07:32 +02:00
Jeppe Bundgaard 8b27a02e3a Add update checking and download functionality:
- Introduced `NavigationMenuUpdates.vue` for update management.
- Added "Check for Updates" button to `MobileNavigation.vue`.
- Integrated version checking, changelog display, and cache-clearing utilities.
2025-08-28 08:52:41 +02:00
Jeppe Bundgaard 246ddc89a3 Remove unused <SessionUser /> component and provide IS_DEV globally via Vue instance. 2025-08-28 08:31:55 +02:00
Jeppe Bundgaard 8accdc51f1 Add build metadata and version display:
- Integrated build date, version, and commit hash generation in `vite.config.js`.
- Enhanced `MobileNavigation.vue` to display build metadata and development mode info.
- Added type definitions in `env.d.ts` for environment variables.
2025-08-28 08:29:22 +02:00
Jeppe Bundgaard cf0e5e8a01 Add QR code error handling, mobile control enhancements, and POS flow updates:
- Added SweetAlert error notifications for untrusted QR codes in `LoginQR.vue`.
- Updated `LoginForm.vue` to hide the QR code login button on desktop.
- Enhanced POS mobile flow in `PosDepartmentStepMobileFlow.vue` with sound feedback for successful scans.
- Implemented camera delay logic for improved capture management in `PosDepartmentStepMobile1.vue`.
- Removed unused element in `PWADownload.vue` and adjusted geolocation visibility in `PosDepartmentStepMobile1Location.vue`.
2025-08-27 16:09:56 +02:00
Jeppe Bundgaard 36b97b67d5 Add QR code-based login functionality and enhancements:
- Implemented QR code scanning and detection using `vue-qrcode-reader` in `LoginQR.vue`.
- Added token extraction and application logic for seamless login flow.
- Enhanced error handling for scanning issues and invalid QR codes.
- Updated `LoginForm.vue` to include a QR code login button.
- Added session handling updates with SweetAlert integration and improved error notifications.
- Bumped dependencies with `@vueuse/integrations` and `vue-qrcode-reader` support.
2025-08-27 13:05:59 +02:00
Jeppe Bundgaard f04dd122f6 Introduce automatic department selection based on user location:
- Added geolocation integration to detect user's proximity to departments.
- Implemented `attemptAutoSelectDepartment` logic in `DefaultPage.vue` for mobile flow.
- Enhanced `locations` object in `PosDepartmentStepMobileFlow.vue` with timeout and distance calculation utilities.
- Updated mobile POS views to handle department redirection dynamically.
2025-08-27 10:11:27 +02:00