fixed linting errors
This commit is contained in:
parent
85a55111cc
commit
e20ab64793
4 changed files with 58 additions and 23 deletions
|
@ -41,7 +41,8 @@
|
|||
</button>
|
||||
<input
|
||||
:id="`quantity-${index}`"
|
||||
v-model.number="drink.quantity"
|
||||
:value="drink.quantity"
|
||||
@input="updateQuantity"
|
||||
type="number"
|
||||
min="1"
|
||||
max="99"
|
||||
|
@ -72,7 +73,8 @@
|
|||
<div class="notes-input">
|
||||
<input
|
||||
:id="`notes-${index}`"
|
||||
v-model="drink.notes"
|
||||
:value="drink.notes"
|
||||
@input="updateNotes"
|
||||
type="text"
|
||||
placeholder="Notiz (optional)"
|
||||
class="notes-field"
|
||||
|
@ -141,6 +143,20 @@ const setQuantity = (n: number) => {
|
|||
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)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,13 +75,11 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, onMounted, onUnmounted } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useOrderStore } from '@/stores/orderStore'
|
||||
import { DrinkType, MateType, type Drink } from '@/types/order'
|
||||
import DrinkCard from '@/components/NewDrinkCard.vue'
|
||||
import { type Order } from '@/types/order'
|
||||
|
||||
const router = useRouter()
|
||||
const orderStore = useOrderStore()
|
||||
|
||||
// State
|
||||
|
|
|
@ -79,10 +79,6 @@ const lastUpdate = computed(() => {
|
|||
})
|
||||
|
||||
// Methods
|
||||
const refreshOrders = () => {
|
||||
orderStore.requestAllOrders()
|
||||
}
|
||||
|
||||
const retryConnection = () => {
|
||||
orderStore.connectWebSocket()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue