feat: frontend draft

This commit is contained in:
2026-09-15 17:55:48 +08:00
parent a13e4d2d99
commit 5329bb2ed9
28 changed files with 4865 additions and 67 deletions
+31
View File
@@ -0,0 +1,31 @@
import type { ContactDTO, MessageIdDTO, SerializedId } from "@shared/dto";
export { cn } from "cn";
export function getId(id?: string | SerializedId | MessageIdDTO | null) {
if (!id) return "";
return typeof id === "string" ? id : (id._serialized ?? "");
}
export function getInitial(name?: string | null) {
return (
name
?.split(" ")
.map((i) => i[0])
.slice(0, 2)
.join("") || ""
);
}
export function getFormattedName(
name: string | SerializedId | ContactDTO | null | undefined,
): string {
if (!name) return "";
return typeof name === "string"
? name
: typeof name.formattedName === "string"
? name.formattedName
: "user" in name
? name.user || ""
: "";
}