pacatui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +153 -0
  3. package/generated/prisma/browser.ts +59 -0
  4. package/generated/prisma/client.ts +81 -0
  5. package/generated/prisma/commonInputTypes.ts +402 -0
  6. package/generated/prisma/enums.ts +15 -0
  7. package/generated/prisma/internal/class.ts +260 -0
  8. package/generated/prisma/internal/prismaNamespace.ts +1362 -0
  9. package/generated/prisma/internal/prismaNamespaceBrowser.ts +190 -0
  10. package/generated/prisma/models/Customer.ts +1489 -0
  11. package/generated/prisma/models/Invoice.ts +1837 -0
  12. package/generated/prisma/models/Project.ts +1981 -0
  13. package/generated/prisma/models/Setting.ts +1086 -0
  14. package/generated/prisma/models/Tag.ts +1288 -0
  15. package/generated/prisma/models/Task.ts +1669 -0
  16. package/generated/prisma/models/TaskTag.ts +1340 -0
  17. package/generated/prisma/models/TimeEntry.ts +1602 -0
  18. package/generated/prisma/models.ts +19 -0
  19. package/package.json +71 -0
  20. package/prisma/migrations/20260115051911_init/migration.sql +71 -0
  21. package/prisma/migrations/20260115062427_add_time_tracking/migration.sql +20 -0
  22. package/prisma/migrations/20260117233250_add_customers_invoices/migration.sql +81 -0
  23. package/prisma/migrations/migration_lock.toml +3 -0
  24. package/prisma/schema.prisma +162 -0
  25. package/src/App.tsx +1492 -0
  26. package/src/components/CreateInvoiceModal.tsx +222 -0
  27. package/src/components/CustomerModal.tsx +158 -0
  28. package/src/components/CustomerSelectModal.tsx +142 -0
  29. package/src/components/Dashboard.tsx +242 -0
  30. package/src/components/DateTimePicker.tsx +335 -0
  31. package/src/components/EditTimeEntryModal.tsx +293 -0
  32. package/src/components/Header.tsx +65 -0
  33. package/src/components/HelpView.tsx +109 -0
  34. package/src/components/InputModal.tsx +79 -0
  35. package/src/components/InvoicesView.tsx +297 -0
  36. package/src/components/Modal.tsx +38 -0
  37. package/src/components/ProjectList.tsx +114 -0
  38. package/src/components/ProjectModal.tsx +116 -0
  39. package/src/components/SettingsView.tsx +145 -0
  40. package/src/components/SplashScreen.tsx +25 -0
  41. package/src/components/StatusBar.tsx +93 -0
  42. package/src/components/TaskList.tsx +143 -0
  43. package/src/components/Timer.tsx +95 -0
  44. package/src/components/TimerModals.tsx +120 -0
  45. package/src/components/TimesheetView.tsx +218 -0
  46. package/src/components/index.ts +17 -0
  47. package/src/db.ts +629 -0
  48. package/src/hooks/usePaste.ts +69 -0
  49. package/src/index.tsx +75 -0
  50. package/src/stripe.ts +163 -0
  51. package/src/types.ts +361 -0
@@ -0,0 +1,190 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * WARNING: This is an internal file that is subject to change!
8
+ *
9
+ * 🛑 Under no circumstances should you import this file directly! 🛑
10
+ *
11
+ * All exports from this file are wrapped under a `Prisma` namespace object in the browser.ts file.
12
+ * While this enables partial backward compatibility, it is not part of the stable public API.
13
+ *
14
+ * If you are looking for your Models, Enums, and Input Types, please import them from the respective
15
+ * model files in the `model` directory!
16
+ */
17
+
18
+ import * as runtime from "@prisma/client/runtime/index-browser"
19
+
20
+ export type * from '../models.ts'
21
+ export type * from './prismaNamespace.ts'
22
+
23
+ export const Decimal = runtime.Decimal
24
+
25
+
26
+ export const NullTypes = {
27
+ DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
28
+ JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
29
+ AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
30
+ }
31
+ /**
32
+ * Helper for filtering JSON entries that have `null` on the database (empty on the db)
33
+ *
34
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
35
+ */
36
+ export const DbNull = runtime.DbNull
37
+
38
+ /**
39
+ * Helper for filtering JSON entries that have JSON `null` values (not empty on the db)
40
+ *
41
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
42
+ */
43
+ export const JsonNull = runtime.JsonNull
44
+
45
+ /**
46
+ * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull`
47
+ *
48
+ * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
49
+ */
50
+ export const AnyNull = runtime.AnyNull
51
+
52
+
53
+ export const ModelName = {
54
+ Customer: 'Customer',
55
+ Project: 'Project',
56
+ TimeEntry: 'TimeEntry',
57
+ Invoice: 'Invoice',
58
+ Task: 'Task',
59
+ Tag: 'Tag',
60
+ TaskTag: 'TaskTag',
61
+ Setting: 'Setting'
62
+ } as const
63
+
64
+ export type ModelName = (typeof ModelName)[keyof typeof ModelName]
65
+
66
+ /*
67
+ * Enums
68
+ */
69
+
70
+ export const TransactionIsolationLevel = {
71
+ Serializable: 'Serializable'
72
+ } as const
73
+
74
+ export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]
75
+
76
+
77
+ export const CustomerScalarFieldEnum = {
78
+ id: 'id',
79
+ name: 'name',
80
+ email: 'email',
81
+ stripeCustomerId: 'stripeCustomerId',
82
+ createdAt: 'createdAt',
83
+ updatedAt: 'updatedAt'
84
+ } as const
85
+
86
+ export type CustomerScalarFieldEnum = (typeof CustomerScalarFieldEnum)[keyof typeof CustomerScalarFieldEnum]
87
+
88
+
89
+ export const ProjectScalarFieldEnum = {
90
+ id: 'id',
91
+ name: 'name',
92
+ description: 'description',
93
+ color: 'color',
94
+ hourlyRate: 'hourlyRate',
95
+ archived: 'archived',
96
+ createdAt: 'createdAt',
97
+ updatedAt: 'updatedAt',
98
+ customerId: 'customerId'
99
+ } as const
100
+
101
+ export type ProjectScalarFieldEnum = (typeof ProjectScalarFieldEnum)[keyof typeof ProjectScalarFieldEnum]
102
+
103
+
104
+ export const TimeEntryScalarFieldEnum = {
105
+ id: 'id',
106
+ startTime: 'startTime',
107
+ endTime: 'endTime',
108
+ description: 'description',
109
+ createdAt: 'createdAt',
110
+ updatedAt: 'updatedAt',
111
+ projectId: 'projectId',
112
+ invoiceId: 'invoiceId'
113
+ } as const
114
+
115
+ export type TimeEntryScalarFieldEnum = (typeof TimeEntryScalarFieldEnum)[keyof typeof TimeEntryScalarFieldEnum]
116
+
117
+
118
+ export const InvoiceScalarFieldEnum = {
119
+ id: 'id',
120
+ stripeInvoiceId: 'stripeInvoiceId',
121
+ status: 'status',
122
+ totalHours: 'totalHours',
123
+ totalAmount: 'totalAmount',
124
+ createdAt: 'createdAt',
125
+ updatedAt: 'updatedAt',
126
+ projectId: 'projectId',
127
+ customerId: 'customerId'
128
+ } as const
129
+
130
+ export type InvoiceScalarFieldEnum = (typeof InvoiceScalarFieldEnum)[keyof typeof InvoiceScalarFieldEnum]
131
+
132
+
133
+ export const TaskScalarFieldEnum = {
134
+ id: 'id',
135
+ title: 'title',
136
+ description: 'description',
137
+ status: 'status',
138
+ priority: 'priority',
139
+ dueDate: 'dueDate',
140
+ completedAt: 'completedAt',
141
+ createdAt: 'createdAt',
142
+ updatedAt: 'updatedAt',
143
+ projectId: 'projectId'
144
+ } as const
145
+
146
+ export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof TaskScalarFieldEnum]
147
+
148
+
149
+ export const TagScalarFieldEnum = {
150
+ id: 'id',
151
+ name: 'name',
152
+ color: 'color',
153
+ createdAt: 'createdAt'
154
+ } as const
155
+
156
+ export type TagScalarFieldEnum = (typeof TagScalarFieldEnum)[keyof typeof TagScalarFieldEnum]
157
+
158
+
159
+ export const TaskTagScalarFieldEnum = {
160
+ taskId: 'taskId',
161
+ tagId: 'tagId'
162
+ } as const
163
+
164
+ export type TaskTagScalarFieldEnum = (typeof TaskTagScalarFieldEnum)[keyof typeof TaskTagScalarFieldEnum]
165
+
166
+
167
+ export const SettingScalarFieldEnum = {
168
+ key: 'key',
169
+ value: 'value',
170
+ updatedAt: 'updatedAt'
171
+ } as const
172
+
173
+ export type SettingScalarFieldEnum = (typeof SettingScalarFieldEnum)[keyof typeof SettingScalarFieldEnum]
174
+
175
+
176
+ export const SortOrder = {
177
+ asc: 'asc',
178
+ desc: 'desc'
179
+ } as const
180
+
181
+ export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
182
+
183
+
184
+ export const NullsOrder = {
185
+ first: 'first',
186
+ last: 'last'
187
+ } as const
188
+
189
+ export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
190
+