- Added `doesUserVehicleExist` check to validate ownership before saving conditions to the server.
- Skipped server-side condition save for unowned vehicles with an appropriate log message.
- Introduced `instanceId` for better logging differentiation during multiple component instances.
- Enhanced restoration logic with stricter protections against unintended state changes.
- Updated `saveProgress` to handle triggers, destruction states, and invalid step resets more robustly.
- Improved logging visibility for debugging restoration, saving, and flow issues.
- Streamlined event handling for `beforeunload` and `onUnmounted` scenarios.
- Added a timeout-based restoration process (`isRestoring`) to handle incomplete or timed-out washes.
- Prevented unintended state changes during restoration by refining watchers and condition checks.
- Introduced a 2-hour expiration for saved progress to avoid restoring outdated data.
- Introduced a dedicated `TASKS` step and adjusted `currentStep` logic accordingly.
- Updated `onStartWash` calls, validation, and clickable step logic to align with the new step structure.
- Refined UI by separating "Questions" and "Tasks" into distinct step components and improving visibility conditions.
- Simplified step logic with updated `onStartWash` calls and condition checks.
- Added watcher for `allVisibleQuestionsAnswered` to trigger wash start dynamically.
- Enhanced `Confirm and Start Wash` button visibility logic to account for ongoing washes.
- Refined answer and task reset logic to prevent unintended state changes during washes.
- Introduced `onConfirmAndStartWash` method to handle wash start without leaving the questions step.
- Added a conditional button to allow users to confirm and start the wash when all visible questions are answered.
- Introduced `editAnswers` state to track and toggle edit mode for answers.
- Added watcher to reset `editAnswers` when navigating away from the `QUESTIONS` step.
- Enhanced UI with "Edit Answers" and "Finish" buttons for improved user control.
- Updated visibility and validation logic to account for `editAnswers` state.
- Merged `QUESTIONS` and `TASKS` steps into a single step for improved user flow and consistency.
- Adjusted logic to dynamically display "Questions & Tasks" based on visibility and progress.
- Refactored navigation and validation to simplify step transitions and state handling.
- Consolidated UI for tasks and questions, including conditional visibility and improved answer tracking.
- Removed unnecessary checks for empty sub-rules, allowing rule evaluations to fail gracefully.
- Standardized `parseInt` usage to improve consistency across condition and task filtering.
- Enhanced filtering logic to handle default values for departments, products, and lanes more flexibly.
- Added a debug section in `MyWashStart.vue` and `SelfServeTryModal.vue` to display task visibility, conditions, and rule evaluations for enhanced testing and visibility.
- Updated lane filtering logic in `useSelfServeLogic` to handle `null` and missing lane values more consistently.
- Extracted reusable Self-Serve logic into `useSelfServeLogic` composable.
- Replaced redundant data fetching, rule evaluation, and attachment handling logic in `MyWashStart.vue` and `SelfServeTryModal.vue` with `useSelfServeLogic`.
- Improved maintainability and consistency by consolidating shared functionality.
- Added debug UI with conditions and rule evaluations to `MyWashStart.vue` for enhanced visibility and testing.
- Standardized `filters` usage in `get.all` methods for `MyWashStart.vue`, `SelfServeTryModal.vue`, and `ObjectsGlobal.vue`.
- Updated rule evaluation logic to return `false` for empty condition rules and simplified sub-rule handling.
- Improved filter transformation to handle arrays in the `ObjectsGlobal.vue` API for more flexible requests.
- Consolidated duplicate logic for conditions and tasks across modules.
- Added task completion tracking with `completedTasks` state and checkbox UI.
- Refactored step navigation flow in `MyWashStart.vue` to include `QUESTIONS` and `TASKS` steps.
- Updated validation and data persistence logic for additional steps.
- Enhanced task UI in `SelfServeTryModal.vue` with completion checkboxes and dynamic styling for completed tasks.
- Updated `MyWashStart.vue` and `SelfServeTryModal.vue` to fetch and display download links for image attachments.
- Enhanced UI to show inline image previews for attachments with valid download links.
- Introduced `isImage` utility function to identify image formats.
- Introduced attachment fetching and downloading logic in `MyWashStart.vue` and `SelfServeTryModal.vue`.
- Enhanced task-related UI to display and handle attachments.
- Added password reset API endpoints (`request`, `validate`, `set`) in `openapi.yaml`.
- Added `SelfServeLaneStatus` and `SelfServeConfig` schemas to improve data handling and API responses.
- Enhanced `/modules/self-serve/lane/command` to support `RESERVE`, `RELEASE`, and `license_plate`.
- Updated `/modules/self-serve/config` endpoints to include request/response schemas for configuration management.
- Introduced `fetchPreviousAnswers` function to retrieve and populate previous answers based on license plate and customer number.
- Added logic to clear answers state when license plate or customer number changes.
- Updated watchers to trigger data fetching and ensure answers reflect the latest state.
- Replaced pre-fetching of all condition rules with conditional fetching based on relevant condition IDs.
- Updated question rendering in `MyWashStart.vue` to use `WhiteBoxCard` for improved UI structure.
- Introduced new "Vehicle Configuration" step with dynamic question and task visibility.
- Enhanced `onStartWash` to persist user answers before starting the wash.
- Added `answers` state and related handling for vehicle condition questions.
- Updated navigation logic and UI to incorporate vehicle confirmation.
- Introduced `executeSelfServeCommand` for shared command execution logic across wash actions.
- Replaced custom command handling in `onStartWash`, `onStopWash`, `onReserveWashLane`, and `onReleaseWashLane` with `executeSelfServeCommand`.
- Added new vehicle confirmation step and related UI updates.
- Adjusted default `forceNearestDepartmentEvaluationId` to `6`.
- Updated default behavior and validation logic in `VehicleDataStructure.vue`.
- Removed unnecessary visibility check for `DesktopNavigationBuefy`.
- Introduced `watch` in `Viewport` to dynamically update header height on state changes.
- Adjusted grid column spans to handle hidden states and ultra-wide screen devices.
- Introduced `SelfServeVehicleConditions` object and related CRUD operations for managing vehicle-specific conditions.
- Added pagination, table, and detail views for managing vehicle conditions within the Department dashboard.
- Updated routing and navigation to include `selfservevehicleconditions` path and entry points.
- Extended `openapi.yaml` to document new endpoints for vehicle condition management.
- Added `BTooltip` from Buefy for displaying detailed information about conditions and rules.
- Implemented `getRuleTypeLabel` and `getConditionById` methods for improved condition and rule handling.
- Updated UI to include tooltips with rule descriptions, evaluation states, and fallback text for missing rules.
- Extended `SelfServeConditionRules` and its UI to support new rule types.
- Updated `openapi.yaml` to document the newly added options.
- Refactored `evaluateCondition` logic to handle nested evaluation with added rule types.
- Updated `DepartmentWashLane` to include a "Prøv" button for opening `SelfServeTryModal`.
- Enhanced modal logic to support filtering by department, vehicle type, and lane.
- Improved UI with lane-specific context in the modal's title and dynamic data handling.
- Introduced `SelfServeTryModal` component for handling department and vehicle-type-specific test flows.
- Added a "Prøv" button in `DepartmentSelfServeQuestions` for opening the modal.
- Implemented logic for fetching and filtering questions, conditions, rules, and tasks based on department and vehicle type.
- Enhanced UI to support answering questions, evaluating conditions, and managing tasks within the modal.
- Extended condition rules with `IS_SET` and `IS_NOT_SET` options.
- Added "Tilføj betingelsesregel" button in `SelfServeConditionRulesModal` for enhanced rule management.
- Renamed `question_condition` to `condition_id` for consistency across `SelfServeConditions`, `SelfServeTasks`, and `SelfServeQuestions`.
- Introduced CRUD operations for `SelfServeConditionRules` with logic for managing condition rules.
- Enhanced existing components to support `condition_id`, including dynamic filtering and table parsing.
- Updated UI elements to reflect changes, including new rule creation options and improved field handling for `condition_id`.