diff --git a/openapi.json.client.ts b/openapi.json.client.ts index 1d049e02..8037703d 100644 --- a/openapi.json.client.ts +++ b/openapi.json.client.ts @@ -1487,6 +1487,21 @@ const endpoints = makeApi([ }, ], }, + { + method: 'get', + path: '/v1/users/me/time-entries/active', + alias: 'getMyActiveTimeEntry', + description: `This endpoint is independent of organization.`, + requestFormat: 'json', + response: z.object({ data: TimeEntryResource }).passthrough(), + errors: [ + { + status: 404, + description: `Not found`, + schema: z.object({ message: z.string() }).passthrough(), + }, + ], + }, ]); export const api = new Zodios('/api', endpoints); diff --git a/resources/js/Components/Common/BillableRateInput.vue b/resources/js/Components/Common/BillableRateInput.vue new file mode 100644 index 00000000..8a53f4be --- /dev/null +++ b/resources/js/Components/Common/BillableRateInput.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/resources/js/Components/Common/Card.vue b/resources/js/Components/Common/Card.vue new file mode 100644 index 00000000..203b4548 --- /dev/null +++ b/resources/js/Components/Common/Card.vue @@ -0,0 +1,7 @@ + + + diff --git a/resources/js/Components/Common/CardTitle.vue b/resources/js/Components/Common/CardTitle.vue index 1696d69c..fff8f32f 100644 --- a/resources/js/Components/Common/CardTitle.vue +++ b/resources/js/Components/Common/CardTitle.vue @@ -8,16 +8,21 @@ defineProps<{ diff --git a/resources/js/Components/Common/Member/MemberCombobox.vue b/resources/js/Components/Common/Member/MemberCombobox.vue new file mode 100644 index 00000000..4d92c460 --- /dev/null +++ b/resources/js/Components/Common/Member/MemberCombobox.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/resources/js/Components/Common/Member/MemberTableRow.vue b/resources/js/Components/Common/Member/MemberTableRow.vue index b936542f..21903883 100644 --- a/resources/js/Components/Common/Member/MemberTableRow.vue +++ b/resources/js/Components/Common/Member/MemberTableRow.vue @@ -4,6 +4,7 @@ import { CheckCircleIcon, UserCircleIcon } from '@heroicons/vue/20/solid'; import { useClientsStore } from '@/utils/useClients'; import MemberMoreOptionsDropdown from '@/Components/Common/Member/MemberMoreOptionsDropdown.vue'; import TableRow from '@/Components/TableRow.vue'; +import { capitalizeFirstLetter } from '../../../utils/format'; const props = defineProps<{ member: Member; @@ -12,10 +13,6 @@ const props = defineProps<{ function removeMember() { useClientsStore().deleteClient(props.member.id); } - -function capitalizeFirstLetter(string: string) { - return string.charAt(0).toUpperCase() + string.slice(1); -}