DataTable.constants.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { addDays, addHours, endOfDay, startOfDay } from 'date-fns'
  2. import { DatePreset } from './DataTable.types'
  3. export const ARRAY_DELIMITER = ','
  4. export const SLIDER_DELIMITER = '-'
  5. export const SPACE_DELIMITER = '_'
  6. export const RANGE_DELIMITER = '-'
  7. export const SORT_DELIMITER = '.'
  8. export const LEVELS = ['success', 'warning', 'error'] as const
  9. export const presets = [
  10. {
  11. label: 'Today',
  12. from: startOfDay(new Date()),
  13. to: endOfDay(new Date()),
  14. shortcut: 'd', // day
  15. },
  16. {
  17. label: 'Yesterday',
  18. from: startOfDay(addDays(new Date(), -1)),
  19. to: endOfDay(addDays(new Date(), -1)),
  20. shortcut: 'y',
  21. },
  22. {
  23. label: 'Last hour',
  24. from: addHours(new Date(), -1),
  25. to: new Date(),
  26. shortcut: 'h',
  27. },
  28. {
  29. label: 'Last 7 days',
  30. from: startOfDay(addDays(new Date(), -7)),
  31. to: endOfDay(new Date()),
  32. shortcut: 'w',
  33. },
  34. {
  35. label: 'Last 14 days',
  36. from: startOfDay(addDays(new Date(), -14)),
  37. to: endOfDay(new Date()),
  38. shortcut: 'b', // bi-weekly
  39. },
  40. {
  41. label: 'Last 30 days',
  42. from: startOfDay(addDays(new Date(), -30)),
  43. to: endOfDay(new Date()),
  44. shortcut: 'm',
  45. },
  46. ] satisfies DatePreset[]