- Add new `XLVask` module including models for `customer`, `washItem`, and `usageLog`.
- Create `XLVaskPage` with views for customers and usage logs in SuperUser dashboard.
- Implement `XLVaskCustomersTable` for listing customers with toggleable row visibility.
- Add routes and menu items for XLVask pages in SuperUser navigation.
- Update translations to include "Konfiguration" and XLVask-specific terms.
- Introduced `showOnlyWithIds` prop to filter orders by IDs in `OrdersTable`.
- Refactored transaction-related logic in customer views to support fixed pricing and comprehensive net amount calculations.
- Enhanced customer transaction display with expanded details and conditionally rendered summary values.
- Updated Danish translations to include "none" for empty transaction states.
- Made Stripe payment status handling more robust with null checks and additional conditional logic.
- Add `InvoicingBillingPeriodCustomerAttributes` component for displaying customer-specific attributes within invoicing period views.
- Enhance `availableViewNames` functionality with computed properties and onMounted initialization.
- Adjust progress loading indicator to differentiate between loading and availability states.
- Update translations to include "Hjem" in user navigation.
- Refactor layout and clean up unused code across invoicing period components.
- Add `is-down` dropdown class to `ColorIndicator` for improved directional handling.
- Introduce slots for flexible content injection in `ColorIndicator` and `DatePeriodSelector`.
- Update Danish translations for user navigation menu with dynamic label rendering.
- Extend `InvoicingBillingPeriodDatePeriodSelector` with department filtering, dropdown UI, and reload button animation.
- Remove unnecessary console logs from `InvoicingBillingPeriodViewAll`.
- Extract filters logic into a new `InvoicingBillingPeriodFilters` component with `filter-changed` event handling.
- Move income statistics display to a dedicated `InvoicingBillingPeriodStatistics` component for improved layout management.
- Refactor `InvoicingBillingPeriodViewAll` to use new components and simplify code by reducing duplication.
- Enhance customer filtering logic with dynamic state management via emitted filter properties.
- Add computed properties for validating date range (e.g., isEntireMonth, isMultiMonthSelection) across billing period components.
- Introduce `isAvailable` and `isViewAvailable` checks for conditional rendering of views based on selection validity.
- Update `DatePeriodSelector` with dynamic validation messages and reload button with animation support.
- Extend `InvoicingBillingPeriodViewAll` to toggle and render statistics displays and additional customer transaction information.
- Improve Danish translations and translations usage across the updated views.
- Add `transactions` and `dates` props to `SmallCustomerActivityChart` with validation and default values.
- Replace Bar chart with Line chart for better data representation in `SmallCustomerActivityChart`.
- Implement `parseTransactions` utility to handle transaction data parsing and sorting.
- Update `InvoicingBillingPeriodViewAll` to conditionally render `SmallCustomerActivityChart` only for customers with transactions on different days.
- Refactor and remove unused code elements across related views.
Integrated @vueuse/head to manage the document head dynamically. Configured a favicon by including it in the head setup. Updated dependencies to include @vueuse/head and related packages.
Implemented functionality for creating orders from usage logs, managing related orders, and handling unrecognized items or departments. Improved date handling, enhanced UI components, and added support for forced price overrides in order items.
Implemented fetching and handling of vehicle types and product options. Enhanced usage log processing with functions to map entries to orders, resolve primary service product IDs, and recognize specific items. Updated templates to display the processed data dynamically.
Introduced the `isCustomerView` prop to conditionally customize the orders table display. Adjusted columns and UI elements to hide cashier and customer information when in customer view. Updated related pagination logic to integrate the modified orders table.
Replaced static table cells with `ColorIndicator` components for better interactivity and added dropdown menus across several fields. Improved handling of product names, introduced superuser-specific actions, and updated session behaviors for greater clarity and customization.
Introduced Microsoft authentication integration using MSAL for token handling and calendar operations. Added Entra ID configuration module to manage tenant, client ID, and secret settings, along with enabling integration control.
Removed unnecessary wrapper divs in buttons for cleaner structure. Updated table row to be explicitly clickable for better UX. Replaced `v-show` with `v-if` to optimize rendering of print receipt elements.
Introduced tax percentage handling in Stripe payment logic and UI, including displaying tax details dynamically. Refined payment status logic to ensure accurate indication of payment state and updated styling and actions for better user interaction.
Introduced new props, conditional components, and methods to improve flexibility and functionality across multiple Vue components, including dynamic payment status and tax calculations. Added print receipt capabilities and refined handling of order details, enhancing user experience.
Introduced dropdown content loading and hover-based updates for `ColorIndicator`. Refactored templates and logic to replace static plate displays with dynamic, customizable dropdowns. This enhances user interactivity and presentation of associated scan metadata.
Introduced a new "My Invoices" section in the user dashboard, including an InvoiceCollectionsTable for managing invoices and a pagination component. Updated navigation menus, routing, and associated utilities to support this feature.
Introduce ICS calendar support with parsing and fetching utilities. Improve mobile menu functionality with toggle expansion. Add vehicle management enhancements, including XLVask vehicle types and usage logs. Minor adjustments made to product and booking types, visual refinements, and new routes added.
Introduced a new `CalendarController` for managing calendar functionality, including event creation, updates, and custom function execution. Integrated `timeGrid` and `list` views from FullCalendar, allowing more flexible calendar displays. Updated `Calendar.vue` to utilize the new controller and enhanced calendar interaction.