fleet/frontend/components/LastUpdatedText/LastUpdatedText.tsx
Martavis Parker 33c5f0651c
New tooltips! (#4326)
* Allow sort by more than one key

* created custom tooltip component

* remove unused code

* fixed style for more layouts

* added tooltip to query side panel

* tooltips added to setting form

* finished settings form

* added tooltip for perf impact table headers

* tooltip for pack table and user form

* tooltip on manage policies page

* tooltip for manage schedules

* tooltip for automations; spacing for form input

* tooltip for automations modal

* user form; fixed input with icon component

* more user form tooltips

* tooltip for homepage; style fixes

* replaced many more tooltips with new version

* added story for tooltip

* added position prop

* fixed tests

* re-work how we click react-select dropdowns

* forcing the update button click

* trying a blur

* fixed typo

* trying blur on another element

* temp check-in

* replaced tooltip from host details software

* more consolidation of tooltip use for software

* fixed settings flow test

Co-authored-by: Tomas Touceda <chiiph@gmail.com>
2022-02-28 13:25:06 -08:00

31 lines
820 B
TypeScript

import React from "react";
import formatDistanceToNowStrict from "date-fns/formatDistanceToNowStrict";
import TooltipWrapper from "components/TooltipWrapper";
const baseClass = "component__last-updated-text";
const renderLastUpdatedText = (
lastUpdatedAt: string,
whatToRetrieve: string
): JSX.Element => {
if (!lastUpdatedAt || lastUpdatedAt === "0001-01-01T00:00:00Z") {
lastUpdatedAt = "never";
} else {
lastUpdatedAt = formatDistanceToNowStrict(new Date(lastUpdatedAt), {
addSuffix: true,
});
}
return (
<span className={baseClass}>
<TooltipWrapper
tipContent={`Fleet periodically queries all hosts to retrieve ${whatToRetrieve}`}
>
{`Last updated ${lastUpdatedAt}`}
</TooltipWrapper>
</span>
);
};
export default renderLastUpdatedText;