diff --git a/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx b/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx
index 3f6407029..e36415813 100644
--- a/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx
+++ b/apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx
@@ -1,5 +1,5 @@
-import { recipientAvatarFallback } from '@documenso/lib/client-only/recipient-avatar-fallback';
import { getRecipientType } from '@documenso/lib/client-only/recipient-type';
+import { recipientAbbreviation } from '@documenso/lib/utils/recipient-formatter';
import { Recipient } from '@documenso/prisma/client';
import {
Tooltip,
@@ -56,7 +56,7 @@ export const StackAvatarsWithTooltip = ({
first={true}
key={recipient.id}
type={getRecipientType(recipient)}
- fallbackText={recipientAvatarFallback(recipient)}
+ fallbackText={recipientAbbreviation(recipient)}
/>
{recipient.email}
@@ -73,7 +73,7 @@ export const StackAvatarsWithTooltip = ({
first={true}
key={recipient.id}
type={getRecipientType(recipient)}
- fallbackText={recipientAvatarFallback(recipient)}
+ fallbackText={recipientAbbreviation(recipient)}
/>
{recipient.email}
@@ -90,7 +90,7 @@ export const StackAvatarsWithTooltip = ({
first={true}
key={recipient.id}
type={getRecipientType(recipient)}
- fallbackText={recipientAvatarFallback(recipient)}
+ fallbackText={recipientAbbreviation(recipient)}
/>
{recipient.email}
@@ -107,7 +107,7 @@ export const StackAvatarsWithTooltip = ({
first={true}
key={recipient.id}
type={getRecipientType(recipient)}
- fallbackText={recipientAvatarFallback(recipient)}
+ fallbackText={recipientAbbreviation(recipient)}
/>
{recipient.email}
diff --git a/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx b/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx
index 678836ffd..91f470f74 100644
--- a/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx
+++ b/apps/web/src/components/(dashboard)/avatar/stack-avatars.tsx
@@ -1,7 +1,7 @@
import React from 'react';
-import { recipientAvatarFallback } from '@documenso/lib/client-only/recipient-avatar-fallback';
import { getRecipientType } from '@documenso/lib/client-only/recipient-type';
+import { recipientAbbreviation } from '@documenso/lib/utils/recipient-formatter';
import { Recipient } from '@documenso/prisma/client';
import { StackAvatar } from './stack-avatar';
@@ -26,7 +26,7 @@ export function StackAvatars({ recipients }: { recipients: Recipient[] }) {
first={first}
zIndex={String(zIndex - index * 10)}
type={lastItemText && index === 4 ? 'unsigned' : getRecipientType(recipient)}
- fallbackText={lastItemText ? lastItemText : recipientAvatarFallback(recipient)}
+ fallbackText={lastItemText ? lastItemText : recipientAbbreviation(recipient)}
/>
);
});
diff --git a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx
index e52d9b42f..3b361e885 100644
--- a/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx
+++ b/apps/web/src/components/(dashboard)/layout/profile-dropdown.tsx
@@ -15,7 +15,7 @@ import {
import { signOut } from 'next-auth/react';
import { useTheme } from 'next-themes';
-import { initials } from '@documenso/lib/client-only/recipient-initials';
+import { recipientInitials } from '@documenso/lib/utils/recipient-formatter';
import { User } from '@documenso/prisma/client';
import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar';
import { Button } from '@documenso/ui/primitives/button';
@@ -41,7 +41,9 @@ export const ProfileDropdown = ({ user }: ProfileDropdownProps) => {
const isBillingEnabled = getFlag('app_billing');
- const avatarFallback = user.name ? initials(user.name) : user.email.slice(0, 1).toUpperCase();
+ const avatarFallback = user.name
+ ? recipientInitials(user.name)
+ : user.email.slice(0, 1).toUpperCase();
return (
diff --git a/packages/lib/client-only/recipient-avatar-fallback.ts b/packages/lib/client-only/recipient-avatar-fallback.ts
deleted file mode 100644
index 7a296a5fa..000000000
--- a/packages/lib/client-only/recipient-avatar-fallback.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Recipient } from '@documenso/prisma/client';
-
-import { initials } from './recipient-initials';
-
-export const recipientAvatarFallback = (recipient: Recipient) => {
- return initials(recipient.name) || recipient.email.slice(0, 1).toUpperCase();
-};
diff --git a/packages/lib/client-only/recipient-initials.ts b/packages/lib/client-only/recipient-initials.ts
deleted file mode 100644
index 403ed26e4..000000000
--- a/packages/lib/client-only/recipient-initials.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export const initials = (text: string) =>
- text
- ?.split(' ')
- .map((name: string) => name.slice(0, 1).toUpperCase())
- .slice(0, 2)
- .join('');
diff --git a/packages/lib/utils/recipient-formatter.ts b/packages/lib/utils/recipient-formatter.ts
new file mode 100644
index 000000000..da404830b
--- /dev/null
+++ b/packages/lib/utils/recipient-formatter.ts
@@ -0,0 +1,12 @@
+import { Recipient } from '@documenso/prisma/client';
+
+export const recipientInitials = (text: string) =>
+ text
+ .split(' ')
+ .map((name: string) => name.slice(0, 1).toUpperCase())
+ .slice(0, 2)
+ .join('');
+
+export const recipientAbbreviation = (recipient: Recipient) => {
+ return recipientInitials(recipient.name) || recipient.email.slice(0, 1).toUpperCase();
+};