Skip to content

## ISSUE #09 — [MEDIA] Logica de ordenacao de eventos duplicada #169

Description

@darioreisjr

Arquivos afetados:

  • src/App.jsx (linhas 66-87) — dentro de loadEvents
  • src/admin/Dashboard.jsx (linhas 208-229) — sortedEvents useMemo

Problema

A mesma logica de ordenacao (futuros primeiro por proximidade, passados por mais recente) esta implementada em dois lugares.

Refatoracao Proposta

Extrair para utility:

// src/utils/eventSort.js
import { parseEventDate } from './dateUtils'

export function sortEventsByDate(events) {
  const today = new Date()
  today.setHours(0, 0, 0, 0)

  return [...events].sort((a, b) => {
    const dateA = parseEventDate(a.data_evento)
    const dateB = parseEventDate(b.data_evento)
    const isAFuture = dateA >= today
    const isBFuture = dateB >= today
    if (isAFuture && !isBFuture) return -1
    if (!isAFuture && isBFuture) return 1
    if (isAFuture) return dateA - dateB
    return dateB - dateA
  })
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions