feat: themed avatars and branding updates (#67)
Node.js CI / CI (push) Successful in 1m44s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 2m16s

## Summary

Added comprehensive avatar and branding updates across the library application:

### ๐ŸŒธ Updated Main Branding
- New library-themed avatar (with playful "shh" gesture) for navigation icon
- Updated favicon and all PWA icons (10 sizes from 72x72 to 512x512)
- Added hero avatar to home page between title and subtitle
- All branding uses consistent circular styling with elegant hover effects

### ๐ŸŽจ Media-Specific Avatars
Added unique themed avatars to each media list page:

- **๐ŸŽฎ Games**: Gaming setup with controller and LED lights (red #ff6b6b border)
- **๐Ÿ“š Books**: Reading in cozy library setting (brown #8b6f47 border)
- **๐ŸŽต Music**: Joyful with headphones and urban nightscape (blue #74b9ff border)
- **๐Ÿ“บ Shows**: Relaxing with remote and theater curtains (pink #e84393 border)
- **๐Ÿ“– Manga**: Reading manga with shelves background (teal #00b894 border)
- **๐ŸŽจ Art**: Art studio with paintbrush (yellow #fdcb6e border)

### โœจ Features
- 120x120px circular avatars with themed colour borders
- Smooth hover animations (scale + shadow effects)
- Centered hero sections at top of each list view
- Consistent styling across all media types
- Perfect integration with existing colour themes

### ๐Ÿ“Š Technical Details
- All icons generated from source images at multiple resolutions
- Static assets served with correct MIME types
- Optimised image formats for performance
- Responsive design with proper accessibility attributes

## Test Plan

- [x] Verify navigation icon displays correctly in header
- [x] Check favicon appears in browser tabs
- [x] Test PWA icons on mobile devices
- [x] Confirm home page hero avatar renders properly
- [x] Verify all 6 media list avatars display with correct borders
- [x] Test hover animations on all avatars
- [x] Verify build succeeds
- [x] Check static assets serve with correct MIME types

๐ŸŒธ Created with love by Hikari ๐Ÿ’–

Reviewed-on: #67
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>
This commit was merged in pull request #67.
This commit is contained in:
2026-02-20 21:11:05 -08:00
committed by Naomi Carrigan
parent fbfc24ba0d
commit ff0ae73fa7
26 changed files with 165 additions and 2 deletions
@@ -23,6 +23,10 @@ import { Book, BookStatus, CreateBookDto, UpdateBookDto, Comment, SuggestionEnti
imports: [CommonModule, FormsModule, RouterLink, PaginationComponent, LikeButtonComponent],
template: `
<div class="container">
<div class="page-hero">
<img src="/assets/avatars/books-avatar.jpg" alt="Books avatar" class="page-avatar" />
</div>
<div class="header-section">
<h2>My Book Collection</h2>
@if (authService.isAdmin()) {
@@ -701,6 +705,26 @@ import { Book, BookStatus, CreateBookDto, UpdateBookDto, Comment, SuggestionEnti
padding: 2rem;
}
.page-hero {
text-align: center;
margin-bottom: 2rem;
}
.page-avatar {
width: 120px;
height: 120px;
border-radius: 50%;
object-fit: cover;
border: 3px solid #8b6f47;
box-shadow: 0 4px 12px rgba(139, 111, 71, 0.3);
transition: all 0.3s;
}
.page-avatar:hover {
transform: scale(1.05);
box-shadow: 0 8px 16px rgba(139, 111, 71, 0.5);
}
.header-section {
display: flex;
justify-content: space-between;