diff --git a/frontend/src/components/NewDrinkCard.vue b/frontend/src/components/NewDrinkCard.vue
index 3a1c964..d311e11 100644
--- a/frontend/src/components/NewDrinkCard.vue
+++ b/frontend/src/components/NewDrinkCard.vue
@@ -41,7 +41,8 @@
{
emit('update', updatedDrink)
}
+const updateQuantity = (event: Event) => {
+ const target = event.target as HTMLInputElement
+ const quantity = parseInt(target.value) || 1
+ const updatedDrink = { ...props.drink, quantity }
+ emit('update', updatedDrink)
+}
+
+const updateNotes = (event: Event) => {
+ const target = event.target as HTMLInputElement
+ const notes = target.value
+ const updatedDrink = { ...props.drink, notes }
+ emit('update', updatedDrink)
+}
+
// Watch for changes and emit updates
watch(() => props.drink, (newDrink) => {
emit('update', newDrink)
diff --git a/frontend/src/stores/orderStore.ts b/frontend/src/stores/orderStore.ts
index 43aadfe..1f2a9eb 100644
--- a/frontend/src/stores/orderStore.ts
+++ b/frontend/src/stores/orderStore.ts
@@ -1,6 +1,31 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
-import type { Order, CreateOrderRequest } from '@/types/order'
+import { type Order, type CreateOrderRequest } from '@/types/order'
+
+// WebSocket message types
+interface WebSocketMessage {
+ type: string
+ [key: string]: unknown
+}
+
+interface AllOrdersResponse {
+ type: 'all_orders'
+ orders: Order[]
+}
+
+interface OrderCreatedResponse {
+ type: 'order_created_response'
+ success: boolean
+ order?: Order
+ error?: string
+}
+
+interface OrderDeletedResponse {
+ type: 'order_deleted_response'
+ success: boolean
+ message?: string
+ error?: string
+}
export const useOrderStore = defineStore('orders', () => {
// State
@@ -12,7 +37,7 @@ export const useOrderStore = defineStore('orders', () => {
// Getters
const openOrders = computed(() => {
- return orders.value.filter(order => {
+ return orders.value.filter(() => {
// Hier können wir später Logik für "offene" Bestellungen hinzufügen
// Momentan zeigen wir alle Bestellungen an
return true
@@ -42,8 +67,8 @@ export const useOrderStore = defineStore('orders', () => {
try {
const data = JSON.parse(event.data)
handleWebSocketMessage(data)
- } catch (e) {
- console.error('Fehler beim Parsen der WebSocket-Nachricht:', e)
+ } catch {
+ // Ignoriere andere Nachrichten
}
}
@@ -77,33 +102,33 @@ export const useOrderStore = defineStore('orders', () => {
}
}
- const handleWebSocketMessage = (data: any) => {
+ const handleWebSocketMessage = (data: WebSocketMessage) => {
switch (data.type) {
case 'all_orders':
- setOrders(data.orders)
+ setOrders((data as unknown as AllOrdersResponse).orders)
isLoading.value = false
break
case 'order_created':
- addOrder(data.order)
+ addOrder(data.order as Order)
break
case 'order_updated':
- updateOrder(data.order)
+ updateOrder(data.order as Order)
break
case 'order_deleted':
- removeOrder(data.order_id)
+ removeOrder(data.order_id as string)
break
case 'order_created_response':
- handleOrderCreatedResponse(data)
+ handleOrderCreatedResponse(data as unknown as OrderCreatedResponse)
break
case 'order_deleted_response':
- handleOrderDeletedResponse(data)
+ handleOrderDeletedResponse(data as unknown as OrderDeletedResponse)
break
default:
console.log('Unbekannte WebSocket-Nachricht:', data)
}
}
- const handleOrderCreatedResponse = (data: any) => {
+ const handleOrderCreatedResponse = (data: OrderCreatedResponse) => {
if (data.success) {
// Bestellung wurde erfolgreich erstellt
console.log('Bestellung erfolgreich erstellt:', data.order)
@@ -115,7 +140,7 @@ export const useOrderStore = defineStore('orders', () => {
}
}
- const handleOrderDeletedResponse = (data: any) => {
+ const handleOrderDeletedResponse = (data: OrderDeletedResponse) => {
if (data.success) {
// Bestellung wurde erfolgreich gelöscht
console.log('Bestellung erfolgreich gelöscht:', data.message)
@@ -155,7 +180,7 @@ export const useOrderStore = defineStore('orders', () => {
reject(new Error(data.error || 'Unbekannter Fehler'))
}
}
- } catch (e) {
+ } catch {
// Ignoriere andere Nachrichten
}
}
@@ -220,7 +245,7 @@ export const useOrderStore = defineStore('orders', () => {
reject(new Error(data.error || 'Unbekannter Fehler'))
}
}
- } catch (e) {
+ } catch {
// Ignoriere andere Nachrichten
}
}
diff --git a/frontend/src/views/CreateOrderView.vue b/frontend/src/views/CreateOrderView.vue
index db8e2b6..0a192ef 100644
--- a/frontend/src/views/CreateOrderView.vue
+++ b/frontend/src/views/CreateOrderView.vue
@@ -75,13 +75,11 @@