cafe-plaetschwiesle/web/src/utils.ts

78 lines
2.1 KiB
TypeScript

import { controller_Bill, controller_Order, controller_ItemType } from "@/services/openapi";
export function convertToEur(value: number | undefined) {
const temp: number = value ? value : 0;
return temp.toLocaleString("de-DE", { style: "currency", currency: "EUR" });
}
export function detailedItemTypeString(type: controller_ItemType | undefined) {
switch (type) {
case controller_ItemType.Food:
return "Speisen";
case controller_ItemType.ColdDrink:
return "Kaltgetränke";
default:
return "Heiß/Eiskaffee";
}
}
export function generalItemTypeString(type: controller_ItemType[]) {
if (type.includes(controller_ItemType.Food)) {
return "Speisen";
} else {
return "Getränke";
}
}
export function detailedItemTypeIcon(type: controller_ItemType | undefined) {
switch (type) {
case controller_ItemType.Food:
return "fa-cheese";
case controller_ItemType.ColdDrink:
return "fa-champagne-glasses";
case controller_ItemType.HotDrink:
return "fa-mug-hot";
default:
return "";
}
}
export function generalItemTypeIcon(type: controller_ItemType[]) {
if (type.includes(controller_ItemType.Food)) {
return "fa-cheese";
} else {
return "fa-champagne-glasses";
}
}
export interface WebSocketMsg {
type: NotifierType;
payload: controller_Order[];
}
export enum NotifierType {
Create,
Delete,
DeleteAll,
}
import { ToastServiceMethods } from "primevue/toastservice";
import moment from "moment";
const timeToLife = 3600;
export function errorToast(toast: ToastServiceMethods, message: string) {
toast.removeAllGroups();
toast.add({ severity: "error", summary: "Fehler", detail: message, group: "br", life: timeToLife });
}
export function getCurrentTimeSince(updated_at: number | undefined) {
return updated_at ? moment.unix(updated_at).fromNow() : "";
}
export function lessThan15SecondsAgo(updated_at: number | undefined) {
const updated = updated_at ? moment.unix(updated_at) : moment();
return moment().diff(updated, "seconds") < 15;
}
export const emptyBill: controller_Bill = { table_id: 0, total: 0 };