♻️ Front: extract getFullName from UserService to its own utils file

This commit is contained in:
Eric Doughty-Papassideris
2024-04-21 22:10:33 +02:00
committed by ericlinagora
parent 764ff7aee2
commit de0dd72f17
2 changed files with 24 additions and 18 deletions
@@ -3,12 +3,12 @@
import Login from '@features/auth/login-service';
import Collections, { Collection } from '@deprecated/CollectionsV1/Collections/Collections';
import Api from '@features/global/framework/api-service';
import Languages from '@features/global/services/languages-service';
import { UserType } from '@features/users/types/user';
import { TdriveService } from '@features/global/framework/registry-decorator-service';
import { addApiUrlIfNeeded } from '@features/global/utils/URLUtils';
import { getUser } from '../hooks/use-user-list';
import { getUser } from '@features/users/hooks/use-user-list';
import { getGradient } from '@atoms/avatar';
import { getFullName } from '../utils/get-full-name';
type SearchQueryType = {
searching: boolean;
@@ -41,22 +41,7 @@ class User {
}
getFullName(user: Pick<UserType, 'username' | 'first_name' | 'last_name' | 'deleted'>): string {
let name: string = user?.username;
if (!name) {
return 'Anonymous';
}
// @author https://stackoverflow.com/a/17200679
const toNameCase = (str?: string) => (str || '').toLowerCase().replace(/(?<!\p{L})\p{L}(?=\p{L}{2})/gu, (m: string) => m.toUpperCase());
if (user.deleted) {
name = Languages.t('general.user.deleted');
} else {
name = [user.first_name, user.last_name].filter(a => a).map(toNameCase).join(' ');
name = name || user.username;
}
return name;
return getFullName(user);
}
getThumbnail(user: UserType) {
@@ -0,0 +1,21 @@
import Languages from '@features/global/services/languages-service';
import { UserType } from '@features/users/types/user';
export function getFullName(user: Pick<UserType, 'username' | 'first_name' | 'last_name' | 'deleted'>): string {
let name: string = user?.username;
if (!name) {
return 'Anonymous';
}
// @author https://stackoverflow.com/a/17200679
const toNameCase = (str?: string) => (str || '').toLowerCase().replace(/(?<!\p{L})\p{L}(?=\p{L}{2})/gu, (m: string) => m.toUpperCase());
if (user.deleted) {
name = Languages.t('general.user.deleted');
} else {
name = [user.first_name, user.last_name].filter(a => a).map(toNameCase).join(' ');
name = name || user.username;
}
return name;
}