EN · DE · RU · FR · ES

#2657: FormattedDateTime.jsx

projectforge-webapp/src/components/design/input/calendar/FormattedDateTime.jsx Tipo: JavaScript/React · Rol: Calendario · Fuente: projectforge-webapp/src/components/design/input/calendar/FormattedDateTime.jsx 36 líneas · 31 código · 0 comentarios · 5 en blanco
Componente de entrada de fecha/hora en React que proporciona selector de calendario, rango de fechas y visualización formateada para la aplicación web ProjectForge.

Estructura del código

Hooks utilizados: Selector, Selector

Importaciones de: moment, prop-types, react, react-redux

Tiene PropTypes para: FormattedDateTime

Código fuente (resumido)

import moment from 'moment';
import PropTypes from 'prop-types';
import React from 'react';
import { useSelector } from 'react-redux';

function FormattedDateTime(
    {
        date,
        slot = 'FROM',
        ...props
    },
) {
    const jsDateFormat = useSelector((state) => state.authentication.user.jsDateFormat);
    const jsTimestampFormatMinutes = useSelector((state) => state.authentication.user.jsTimestampFormatMinutes);
    let format = jsTimestampFormatMinutes;

    if (
        (slot === 'FROM' && date.getHours() === 0 && date.getMinutes() === 0)
        || (slot === 'TO' && date.getHours() === 23 && date.getMinutes() === 59)) {
        format = jsDateFormat;
    }

    return (
        <span {...props}>
            {moment(date)
                .format(format)}
        </span>
    );
}

FormattedDateTime.propTypes = {
    date: PropTypes.instanceOf(Date).isRequired,
    slot: PropTypes.oneOf(['FROM', 'TO']),
};

export default FormattedDateTime;

Historial de Git

bf988bc6d Eliminar 43 vulnerabilidades npm: react-scripts→Vite, ESLint 9, limpieza de dependencias, corrección de errores
3685edd6c migrar a react 18 wip
033629f77 corregir errores de typescript eslint
ee7116516 wip: entrada de tiempo
862b06bbf formatear intervalo de tiempo