32 lines
848 B
TypeScript
32 lines
848 B
TypeScript
"use client";
|
|
|
|
import type { EntriesFilters } from "@/features/entries/components/entries-filter-modal";
|
|
|
|
export function getTodayIsoDate() {
|
|
return new Date().toISOString().slice(0, 10);
|
|
}
|
|
|
|
export function normalizeTagList(tags: string[]) {
|
|
return tags.map(tag => tag.toLowerCase()).sort().join("|");
|
|
}
|
|
|
|
export function isEditableTarget(target: EventTarget | null) {
|
|
if (!(target instanceof HTMLElement)) return false;
|
|
if (target.isContentEditable) return true;
|
|
const tag = target.tagName;
|
|
return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT";
|
|
}
|
|
|
|
export function createEmptyEntriesFilters(): EntriesFilters {
|
|
return {
|
|
amountMin: "",
|
|
amountMax: "",
|
|
dateFrom: "",
|
|
dateTo: "",
|
|
necessity: "ANY",
|
|
notesQuery: "",
|
|
tags: [],
|
|
tagsMode: "ANY"
|
|
};
|
|
}
|