- 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.
- 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.
- Added `emitChange()` calls after `selectCustomer()` to broadcast selection updates.
- Updated dropdown and Stripe payment button actions to include change emission.
- 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`.
- 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.
- 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`.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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`.
- 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.
- 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`.
- 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.
- 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`.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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`.
- 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.
- 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`.
- 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`.
- 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.
- 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.
- 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.
- 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`.
- 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.
- 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.
- Replaced `getDepartmentLabelWithDistance` with the new `getDepartmentLabel` function in `NavigationMenuDepartment.vue` for cleaner label handling.
- Added `getDepartmentLabel` function to retrieve department labels by ID.
- 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.
- 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.
- 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.
- Changed `type` from `department` to `category` for "Kassesystem" and "Tidsbookinger" menu items.
- Simplified structure by removing unnecessary `to` properties in `NavigationMenuItemsAdmin.vue`.
- 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`.
- 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.
- 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.
- 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.
- 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.
- 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`.
- 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`.
- 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`.
- 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`.
- 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`.
- 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.
- Introduced `NavigationMenuUpdates.vue` for update management.
- Added "Check for Updates" button to `MobileNavigation.vue`.
- Integrated version checking, changelog display, and cache-clearing utilities.
- 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.
- 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`.
- 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.
- 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.