feat: add cash in/out UI and hide drawer balance from cashier
- Cash In / Cash Out buttons in drawer dialog when open - Amount + reason form, adjustment history with IN/OUT badges - Drawer badge shows "Drawer Open" without balance (manager info only) - API helpers for addAdjustment and getAdjustments Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -90,9 +90,20 @@ export interface Product {
|
||||
|
||||
// --- Query Keys ---
|
||||
|
||||
export interface DrawerAdjustment {
|
||||
id: string
|
||||
drawerSessionId: string
|
||||
type: string
|
||||
amount: string
|
||||
reason: string
|
||||
createdBy: string
|
||||
createdAt: string
|
||||
}
|
||||
|
||||
export const posKeys = {
|
||||
transaction: (id: string) => ['pos', 'transaction', id] as const,
|
||||
drawer: (locationId: string) => ['pos', 'drawer', locationId] as const,
|
||||
drawerAdjustments: (id: string) => ['pos', 'drawer-adjustments', id] as const,
|
||||
products: (search: string) => ['pos', 'products', search] as const,
|
||||
discounts: ['pos', 'discounts'] as const,
|
||||
}
|
||||
@@ -160,4 +171,10 @@ export const posMutations = {
|
||||
|
||||
lookupUpc: (upc: string) =>
|
||||
api.get<Product>(`/v1/products/lookup/upc/${upc}`),
|
||||
|
||||
addAdjustment: (drawerId: string, data: { type: string; amount: number; reason: string }) =>
|
||||
api.post<DrawerAdjustment>(`/v1/drawer/${drawerId}/adjustments`, data),
|
||||
|
||||
getAdjustments: (drawerId: string) =>
|
||||
api.get<{ data: DrawerAdjustment[] }>(`/v1/drawer/${drawerId}/adjustments`),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user