mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-26 11:06:23 +00:00
Refactor console layout and sidebar components; implement user authentication and loading states
All checks were successful
Push to Helm Chart Repository / build (push) Successful in 31s
All checks were successful
Push to Helm Chart Repository / build (push) Successful in 31s
- Updated `RootLayout` to include user authentication logic and loading states. - Removed redundant user authentication logic from `Page` component. - Enhanced `AppSidebar` to fetch and display logged-in user information. - Replaced `GravatarAvatar` with new `Avatar` component for user profile images. - Added new pages for comment, file, post, and user management. - Introduced utility functions for generating Gravatar URLs and fallback avatars based on usernames. - Cleaned up unused imports and components across various files.
This commit is contained in:
22
web/src/utils/common/username.ts
Normal file
22
web/src/utils/common/username.ts
Normal file
@ -0,0 +1,22 @@
|
||||
import { User } from "@/models/user";
|
||||
|
||||
export function getFallbackAvatarFromUsername(username: string): string {
|
||||
if (!username) {
|
||||
return "N";
|
||||
}
|
||||
const firstChar = username.charAt(0);
|
||||
if (/[a-zA-Z]/.test(firstChar)) {
|
||||
return firstChar.toUpperCase();
|
||||
}
|
||||
return firstChar;
|
||||
}
|
||||
|
||||
export function getFirstCharFromUser(user: User): string {
|
||||
if (user.nickname) {
|
||||
return getFallbackAvatarFromUsername(user.nickname);
|
||||
}
|
||||
if (user.username) {
|
||||
return getFallbackAvatarFromUsername(user.username);
|
||||
}
|
||||
return "N";
|
||||
}
|
Reference in New Issue
Block a user