summaryrefslogtreecommitdiffstats
path: root/apps/web-shared/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web-shared/src/lib')
-rw-r--r--apps/web-shared/src/lib/api/time-entry.ts2
-rw-r--r--apps/web-shared/src/lib/configuration.ts6
-rw-r--r--apps/web-shared/src/lib/helpers.ts11
3 files changed, 17 insertions, 2 deletions
diff --git a/apps/web-shared/src/lib/api/time-entry.ts b/apps/web-shared/src/lib/api/time-entry.ts
index e81329d..064964a 100644
--- a/apps/web-shared/src/lib/api/time-entry.ts
+++ b/apps/web-shared/src/lib/api/time-entry.ts
@@ -39,8 +39,6 @@ export async function update_time_entry(entryDto: TimeEntryDto): Promise<IIntern
}
// LABELS
-
-
export async function create_time_label(labelDto: TimeLabelDto): Promise<IInternalFetchResponse> {
return http_post(api_base("v1/labels/create"), labelDto);
}
diff --git a/apps/web-shared/src/lib/configuration.ts b/apps/web-shared/src/lib/configuration.ts
index f597bb4..e4cd1ef 100644
--- a/apps/web-shared/src/lib/configuration.ts
+++ b/apps/web-shared/src/lib/configuration.ts
@@ -33,6 +33,12 @@ export function is_debug(): boolean {
return localStorage.getItem(StorageKeys.debug) !== "true";
}
+export const QueryKeys = {
+ labels: "labels",
+ categories: "categories",
+ entries: "entries",
+};
+
export const IconNames = {
github: "github",
verticalDots: "verticalDots",
diff --git a/apps/web-shared/src/lib/helpers.ts b/apps/web-shared/src/lib/helpers.ts
index ed526af..acf74d7 100644
--- a/apps/web-shared/src/lib/helpers.ts
+++ b/apps/web-shared/src/lib/helpers.ts
@@ -8,6 +8,17 @@ export const URL_REGEX = new RegExp(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|
export const GUID_REGEX = new RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
export const NORWEGIAN_PHONE_NUMBER_REGEX = new RegExp(/(0047|\+47|47)?\d{8,12}/);
+export function get_default_sorted(unsorted: Array<TimeEntryDto>): Array<TimeEntryDto> {
+ if (unsorted.length < 1) return unsorted;
+ const byStart = unsorted.sort((a, b) => {
+ return Temporal.Instant.compare(Temporal.Instant.from(b.start), Temporal.Instant.from(a.start));
+ });
+
+ return byStart.sort((a, b) => {
+ return Temporal.Instant.compare(Temporal.Instant.from(b.stop), Temporal.Instant.from(a.stop));
+ });
+}
+
export function is_email(value: string): boolean {
return EMAIL_REGEX.test(String(value).toLowerCase());
}