Initial commit - cleaned for CV

This commit is contained in:
Renato97
2026-03-31 01:23:33 -03:00
commit 9c11f23af0
142 changed files with 13690 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
import { StateCreator } from 'zustand'
import { v4 as uuidv4 } from 'uuid'
import { ServiceBill } from '@/lib/types'
export interface ServicesSlice {
serviceBills: ServiceBill[]
addServiceBill: (bill: Omit<ServiceBill, 'id' | 'isPaid'>) => void
deleteServiceBill: (id: string) => void
toggleServiceBillPaid: (id: string) => void
}
export const createServicesSlice: StateCreator<ServicesSlice> = (set) => ({
serviceBills: [],
addServiceBill: (bill) =>
set((state) => ({
serviceBills: [
...state.serviceBills,
{ ...bill, id: uuidv4(), isPaid: false },
],
})),
deleteServiceBill: (id) =>
set((state) => ({
serviceBills: state.serviceBills.filter((b) => b.id !== id),
})),
toggleServiceBillPaid: (id) =>
set((state) => ({
serviceBills: state.serviceBills.map((b) =>
b.id === id ? { ...b, isPaid: !b.isPaid } : b
),
})),
})