use new price system in counters

This commit is contained in:
imperosol
2026-03-02 17:51:15 +01:00
parent a019707d4a
commit c2dfbc8bec
7 changed files with 84 additions and 107 deletions

View File

@@ -1,9 +1,8 @@
import type { Product } from "#counter:counter/types.ts";
import type { Product } from "#counter:counter/types";
export class BasketItem {
quantity: number;
product: Product;
quantityForTrayPrice: number;
errors: string[];
constructor(product: Product, quantity: number) {
@@ -20,6 +19,6 @@ export class BasketItem {
}
sum(): number {
return (this.quantity - this.getBonusQuantity()) * this.product.price;
return (this.quantity - this.getBonusQuantity()) * this.product.price.amount;
}
}

View File

@@ -1,11 +1,11 @@
import { AlertMessage } from "#core:utils/alert-message.ts";
import { BasketItem } from "#counter:counter/basket.ts";
import { AlertMessage } from "#core:utils/alert-message";
import { BasketItem } from "#counter:counter/basket";
import type {
CounterConfig,
ErrorMessage,
ProductFormula,
} from "#counter:counter/types.ts";
import type { CounterProductSelect } from "./components/counter-product-select-index.ts";
} from "#counter:counter/types";
import type { CounterProductSelect } from "./components/counter-product-select-index";
document.addEventListener("alpine:init", () => {
Alpine.data("counter", (config: CounterConfig) => ({

View File

@@ -21,11 +21,15 @@ export interface CounterConfig {
cancelUrl: string;
}
interface Price {
id: number;
amount: number;
}
export interface Product {
id: string;
code: string;
name: string;
price: number;
price: Price;
hasTrayPrice: boolean;
quantityForTrayPrice: number;
}