-
-
:
-
+
diff --git a/resources/js/Components/Common/TimeTracker/TimeTrackerProjectTaskDropdown.vue b/resources/js/Components/Common/TimeTracker/TimeTrackerProjectTaskDropdown.vue
index a9f72b7f..5f5b03c2 100644
--- a/resources/js/Components/Common/TimeTracker/TimeTrackerProjectTaskDropdown.vue
+++ b/resources/js/Components/Common/TimeTracker/TimeTrackerProjectTaskDropdown.vue
@@ -45,9 +45,11 @@ type ProjectWithTasks = {
withDefaults(
defineProps<{
showBadgeBorder: boolean;
+ size: 'base' | 'large' | 'xlarge';
}>(),
{
showBadgeBorder: true,
+ size: 'large',
}
);
@@ -298,7 +300,7 @@ function selectProject(projectId: string) {
+ class="text-center flex flex-1 justify-center items-center text-sm">
diff --git a/resources/js/Components/NotificationContainer.vue b/resources/js/Components/NotificationContainer.vue
index ddead6a2..fea4bbfb 100644
--- a/resources/js/Components/NotificationContainer.vue
+++ b/resources/js/Components/NotificationContainer.vue
@@ -1,7 +1,7 @@
+ class="pointer-events-none fixed inset-0 flex items-end px-4 py-6 sm:items-end sm:p-6 sm:pb-24 z-[70]">
{
}
return groupedEntries;
});
+const showManualTimeEntryModal = ref(false);
+
-
+
+
+
+
+
+ Manual time entry
+
+
+
+
+
diff --git a/resources/js/utils/api.ts b/resources/js/utils/api.ts
index 024bc341..f79a150b 100644
--- a/resources/js/utils/api.ts
+++ b/resources/js/utils/api.ts
@@ -22,6 +22,11 @@ export type TimeEntryResponse = ZodiosResponseByAlias<
>;
export type TimeEntry = TimeEntryResponse['data'][0];
+export type CreateTimeEntryBody = ZodiosBodyByAlias<
+ SolidTimeApi,
+ 'createTimeEntry'
+>;
+
export type ProjectResponse = ZodiosResponseByAlias<
SolidTimeApi,
'getProjects'
diff --git a/resources/js/utils/notification.ts b/resources/js/utils/notification.ts
index abd06000..c3bc3910 100644
--- a/resources/js/utils/notification.ts
+++ b/resources/js/utils/notification.ts
@@ -71,7 +71,7 @@ export const useNotificationsStore = defineStore('notifications', () => {
}
}
}
- return null;
+ throw new Error('Failed to handle API request');
}
return { addNotification, notifications, handleApiRequestNotifications };
diff --git a/resources/js/utils/useTimeEntries.ts b/resources/js/utils/useTimeEntries.ts
index a7fd7dae..08d41325 100644
--- a/resources/js/utils/useTimeEntries.ts
+++ b/resources/js/utils/useTimeEntries.ts
@@ -2,7 +2,7 @@ import { defineStore } from 'pinia';
import { getCurrentOrganizationId, getCurrentUserId } from '@/utils/useUser';
import { api } from '../../../openapi.json.client';
import { reactive, ref } from 'vue';
-import type { TimeEntry } from '@/utils/api';
+import type { CreateTimeEntryBody, TimeEntry } from '@/utils/api';
import dayjs from 'dayjs';
import { useNotificationsStore } from '@/utils/notification';
@@ -83,7 +83,7 @@ export const useTimeEntriesStore = defineStore('timeEntries', () => {
}
}
- async function createTimeEntry(timeEntry: TimeEntry) {
+ async function createTimeEntry(timeEntry: CreateTimeEntryBody) {
const organizationId = getCurrentOrganizationId();
if (organizationId) {
await handleApiRequestNotifications(