fiddy/apps/web/features/entries/components/entries-panel.utils.ts

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"
};
}