Replace emoji icons with Lucide icons and soften link colors

Replaced emoji icons throughout the Angular app with modern Lucide icon library for a more professional and consistent look matching the original static site design.

**Icon Updates:**
- Navigation tabs: Database, Upload, Search icons
- Toolbar buttons: RefreshCw, Sparkles, Search, X icons
- Action buttons: Download, Trash2 icons
- Form buttons: Upload, Search, X icons

**Style Improvements:**
- Added softer blue color for artifact links (#93c5fd)
- Added hover effect with lighter blue (#bfdbfe)
- Added proper cursor pointer for clickable rows
- Improved icon color consistency throughout

**Dependencies:**
- Added lucide-angular (v0.545.0) for icon support
- Bundle size: 356.54 kB (raw) → 93.91 kB (gzipped)
- Minimal impact: only +7.79 kB for full icon library

All components updated with Lucide imports and icon references.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-15 12:19:36 -05:00
parent 20a4ea1655
commit 972bb50c64
9 changed files with 63 additions and 19 deletions

View File

@@ -3,11 +3,12 @@ import { CommonModule } from '@angular/common';
import { RouterOutlet, RouterLink, RouterLinkActive } from '@angular/router';
import { provideHttpClient } from '@angular/common/http';
import { ArtifactService } from './services/artifact';
import { LucideAngularModule, Database, Upload, Search } from 'lucide-angular';
@Component({
selector: 'app-root',
standalone: true,
imports: [CommonModule, RouterOutlet, RouterLink, RouterLinkActive],
imports: [CommonModule, RouterOutlet, RouterLink, RouterLinkActive, LucideAngularModule],
template: `
<div class="container">
<header>
@@ -20,13 +21,13 @@ import { ArtifactService } from './services/artifact';
<nav class="tabs">
<a routerLink="/artifacts" routerLinkActive="active" class="tab-button">
📦 Artifacts
<lucide-icon [img]="Database" [size]="16"></lucide-icon> Artifacts
</a>
<a routerLink="/upload" routerLinkActive="active" class="tab-button">
📤 Upload
<lucide-icon [img]="Upload" [size]="16"></lucide-icon> Upload
</a>
<a routerLink="/query" routerLinkActive="active" class="tab-button">
🔍 Query
<lucide-icon [img]="Search" [size]="16"></lucide-icon> Query
</a>
</nav>
@@ -38,6 +39,9 @@ import { ArtifactService } from './services/artifact';
export class AppComponent implements OnInit {
deploymentMode: string = '';
storageBackend: string = '';
readonly Database = Database;
readonly Upload = Upload;
readonly Search = Search;
constructor(private artifactService: ArtifactService) {}