Wire Newbook credentials to settings service
This commit is contained in:
commit
63a5a72fa3
32 changed files with 3386 additions and 0 deletions
119
frontend/src/types.ts
Normal file
119
frontend/src/types.ts
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
export interface User {
|
||||
email: string
|
||||
name: string
|
||||
is_admin: boolean
|
||||
}
|
||||
|
||||
export interface CashUp {
|
||||
id: number
|
||||
session_date: string
|
||||
created_by: string
|
||||
created_at: string
|
||||
updated_at: string
|
||||
status: 'draft' | 'final'
|
||||
total_float_counted: string
|
||||
total_cash_counted: string
|
||||
notes: string | null
|
||||
submitted_at: string | null
|
||||
submitted_by: string | null
|
||||
}
|
||||
|
||||
export interface Denomination {
|
||||
id?: number
|
||||
cash_up_id?: number
|
||||
count_type: 'takings' | 'float'
|
||||
denomination_type: 'note' | 'coin'
|
||||
denomination_value: number
|
||||
quantity: number | null
|
||||
value_entered: number | null
|
||||
total_amount: number
|
||||
}
|
||||
|
||||
export interface CardMachine {
|
||||
id?: number
|
||||
cash_up_id?: number
|
||||
machine_name: string
|
||||
total_amount: number
|
||||
amex_amount: number
|
||||
visa_mc_amount: number
|
||||
}
|
||||
|
||||
export interface ReconciliationRow {
|
||||
category: string
|
||||
banked_amount: number
|
||||
reported_amount: number
|
||||
variance?: number
|
||||
}
|
||||
|
||||
export interface PaymentTotals {
|
||||
cash: number
|
||||
manual_visa_mc: number
|
||||
manual_amex: number
|
||||
gateway_visa_mc: number
|
||||
gateway_amex: number
|
||||
bacs: number
|
||||
}
|
||||
|
||||
export interface TillPayment {
|
||||
payment_type: string
|
||||
quantity: number
|
||||
total_value: number
|
||||
}
|
||||
|
||||
export interface Attachment {
|
||||
id: number
|
||||
cash_up_id: number
|
||||
file_name: string
|
||||
file_path: string
|
||||
file_size: number
|
||||
mime_type: string
|
||||
uploaded_at: string
|
||||
}
|
||||
|
||||
export interface FloatCount {
|
||||
id: number
|
||||
count_type: 'petty_cash' | 'change_tin' | 'safe_cash'
|
||||
count_date: string
|
||||
created_by: string
|
||||
total_counted: string
|
||||
total_receipts: string
|
||||
target_amount: string
|
||||
variance: string
|
||||
notes: string | null
|
||||
}
|
||||
|
||||
export interface FloatDenomination {
|
||||
denomination_value: string
|
||||
quantity: number
|
||||
total_amount: string
|
||||
target?: number
|
||||
}
|
||||
|
||||
export interface FloatReceipt {
|
||||
id: number
|
||||
receipt_value: string
|
||||
receipt_description: string
|
||||
}
|
||||
|
||||
export const GBP_DENOMINATIONS: Array<{ value: number; label: string; type: 'note' | 'coin' }> = [
|
||||
{ value: 50, label: '£50', type: 'note' },
|
||||
{ value: 20, label: '£20', type: 'note' },
|
||||
{ value: 10, label: '£10', type: 'note' },
|
||||
{ value: 5, label: '£5', type: 'note' },
|
||||
{ value: 2, label: '£2', type: 'coin' },
|
||||
{ value: 1, label: '£1', type: 'coin' },
|
||||
{ value: 0.50, label: '50p', type: 'coin' },
|
||||
{ value: 0.20, label: '20p', type: 'coin' },
|
||||
{ value: 0.10, label: '10p', type: 'coin' },
|
||||
{ value: 0.05, label: '5p', type: 'coin' },
|
||||
{ value: 0.02, label: '2p', type: 'coin' },
|
||||
{ value: 0.01, label: '1p', type: 'coin' },
|
||||
]
|
||||
|
||||
export function fmtGBP(n: number | string) {
|
||||
return '£' + parseFloat(String(n || 0)).toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ',')
|
||||
}
|
||||
|
||||
export function today() {
|
||||
return new Date().toISOString().slice(0, 10)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue