-
Zubereitung
+
+
Zubereitung
+ {amountAdjustment != 100 && (
+
+ {'Menge '}
+ {amountAdjustment.toLocaleString(undefined, {
+ minimumFractionDigits: 0,
+ maximumFractionDigits: 0,
+ })}{' '}
+ %
+
+ )}
+
{loadedCocktail.steps
.sort((a, b) => a.stepNumber - b.stepNumber)
.map((step) => (
@@ -175,7 +207,7 @@ export function CocktailDetailModal(props: CocktailDetailModalProps) {
className={`flex flex-row gap-2 pl-3 ${stepIngredient.optional ? 'italic' : ''}`}
>
- {stepIngredient.amount?.toLocaleString(undefined, {
+ {((stepIngredient.amount ?? 0) * (amountAdjustment / 100))?.toLocaleString(undefined, {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
})}
@@ -233,6 +265,44 @@ export function CocktailDetailModal(props: CocktailDetailModalProps) {
a.stepNumber - b.stepNumber)
+ .map((step) => {
+ return `${step.ingredients
+ .sort((a, b) => a.ingredientNumber - b.ingredientNumber)
+ .map((stepIngredient) => {
+ return `- ${((stepIngredient.amount ?? 0) * (amountAdjustment / 100))?.toLocaleString(undefined, {
+ minimumFractionDigits: 0,
+ maximumFractionDigits: 2,
+ })} ${userContext.getTranslation(stepIngredient.unit?.name ?? '', 'de')} ${stepIngredient.ingredient?.shortName ?? stepIngredient.ingredient?.name}${stepIngredient.optional ? '(optional)' : ''}`;
+ })
+ .join('\n')}`;
+ })
+ .join('\n')}\nBasispreis ± angepasste Menge = Verkaufspreis (${amountAdjustment}%):\n${
+ loadedCocktail.price?.toLocaleString(undefined, {
+ minimumFractionDigits: 0,
+ maximumFractionDigits: 2,
+ }) + ' €'
+ } ${((loadedCocktail.price ?? 0) * (amountAdjustment / 100) - (loadedCocktail.price ?? 0))
+ .toLocaleString(undefined, {
+ signDisplay: 'exceptZero',
+ minimumFractionDigits: 0,
+ maximumFractionDigits: 2,
+ })
+ .replace('-', '- ')
+ .replace('+', '+ ')} € = ${(
+ (loadedCocktail.price ?? 0) +
+ ((loadedCocktail.price ?? 0) * (amountAdjustment / 100) - (loadedCocktail!.price ?? 0))
+ ).toLocaleString(undefined, {
+ minimumFractionDigits: 0,
+ maximumFractionDigits: 2,
+ })} €`
+ : undefined,
+ }}
cocktailId={loadedCocktail.id}
cocktailName={loadedCocktail.name}
actionSource={'DETAIL_MODAL'}
@@ -250,6 +320,34 @@ export function CocktailDetailModal(props: CocktailDetailModalProps) {
}
/>
+
+
+ Menge anpassen
+
+
+
+
+
+
+ setAmountAdjustment(toInteger(e.target.value))}
+ />
+ %
+
+
+
+
+ {amountAdjustment != 100 &&
Die geänderte Menge fließt nicht in die Statistik mit ein
}
+
+
+
{/*Right side*/}
@@ -442,6 +540,25 @@ export function CocktailDetailModal(props: CocktailDetailModalProps) {
minimumFractionDigits: 0,
maximumFractionDigits: 2,
}) + ' €'}
+ {amountAdjustment != 100
+ ? ` ${(
+ calcCocktailTotalPrice(loadedCocktail, ingredients) * (amountAdjustment / 100) -
+ calcCocktailTotalPrice(loadedCocktail, ingredients)
+ )
+ .toLocaleString(undefined, {
+ signDisplay: 'exceptZero',
+ minimumFractionDigits: 0,
+ maximumFractionDigits: 2,
+ })
+ .replace('-', '- ')
+ .replace('+', '+ ')} € = ${(
+ calcCocktailTotalPrice(loadedCocktail, ingredients) +
+ (calcCocktailTotalPrice(loadedCocktail, ingredients) * (amountAdjustment / 100) - calcCocktailTotalPrice(loadedCocktail, ingredients))
+ ).toLocaleString(undefined, {
+ minimumFractionDigits: 0,
+ maximumFractionDigits: 2,
+ })} € (${amountAdjustment}%)`
+ : ''}
>
)}
diff --git a/pages/workspaces/[workspaceId]/index.tsx b/pages/workspaces/[workspaceId]/index.tsx
index ff1060e..e33b07b 100644
--- a/pages/workspaces/[workspaceId]/index.tsx
+++ b/pages/workspaces/[workspaceId]/index.tsx
@@ -369,7 +369,7 @@ export default function OverviewPage() {
(seit {new Date(cocktailQueueItem.oldestTimestamp).toFormatTimeString()} Uhr)