diff --git a/src/components/primitives/Table.tsx b/src/components/primitives/Table.tsx
index f7eedccf4..a98e74021 100644
--- a/src/components/primitives/Table.tsx
+++ b/src/components/primitives/Table.tsx
@@ -6,7 +6,7 @@ import type { Component, Styled } from "../../utils/types";
import Box from "./Box";
import EventBlocker from "./EventBlocker";
import Icon from "./Icon";
-import List from "./List";
+import List, { type ListProps } from "./List";
import Text from "./Text";
export const tableStyles = tv({
@@ -144,6 +144,7 @@ export type TableProps = Component<
header?: ReactNode;
footer?: ReactNode;
order?: Order;
+ hideLabels?: boolean;
sort?: keyof T;
loading?: boolean;
sortable?: (keyof T)[];
@@ -197,12 +198,13 @@ export function Table({
header,
footer,
order,
+ hideLabels,
sort,
onSort,
className,
children,
...props
-}: TableProps) {
+}: TableProps & { dividerClassName: ListProps["dividerClassName"] }) {
const [_order, setOrder] = useState<"asc" | "desc">("desc");
const [sortBy, setSortBy] = useState(sortable?.[0]);
@@ -221,7 +223,7 @@ export function Table({
{!!header ? {header} : undefined}
{/* biome-ignore lint/suspicious/noExplicitAny: please forgive this one as well */}
-
+ {!hideLabels ? : undefined}
{children}
{!!footer ? {footer} : undefined}
@@ -229,8 +231,10 @@ export function Table({
}
export function createTable(columns: T) {
- // biome-ignore lint/suspicious/noExplicitAny: no reasons for it to have type errors
- const TemplateTable = (props: Omit, "columns">) =>
;
+ const TemplateTable = (props: Omit, "columns"> & ListProps) => (
+ // biome-ignore lint/suspicious/noExplicitAny: no reasons for it to have type errors
+
+ );
// biome-ignore lint/suspicious/noExplicitAny: no reasons for it to have type errors
const TemplateRow = (props: Omit, "columns">) => ;
diff --git a/src/components/primitives/Time.tsx b/src/components/primitives/Time.tsx
index 6e9db387c..09042898f 100644
--- a/src/components/primitives/Time.tsx
+++ b/src/components/primitives/Time.tsx
@@ -3,21 +3,23 @@ import { useMemo } from "react";
export type TimeProps = {
timestamp: number | bigint;
+ prefix?: string;
relative?: "hours" | "day" | "auto";
};
-export default function Time({ timestamp }: TimeProps) {
+export default function Time({ timestamp, prefix }: TimeProps) {
const time = useMemo(() => {
const then = moment(Number(timestamp)).fromNow();
return then
+ .replace("in ", (prefix && `${prefix} `) ?? "in ")
.replace("/ minute| minutes/g", "m")
.replace(/\ba\b/, "1")
.replace(/ seconds| second/g, "s")
- .replace(/ hours| hour/g, "h")
- .replace(/ days| day/g, "d")
- .replace(/ months| month/g, "d");
- }, [timestamp]);
+ .replace(/ hours| hour/g, "hours")
+ .replace(/ days| day/g, " days")
+ .replace(/ months| month/g, " months");
+ }, [timestamp, prefix]);
return time;
}