FRE-606: Add icon generation and tests for Tauri desktop

- Add generate-icons.sh script for cross-platform icon generation
- Generate all required icon sizes (32x32, 128x128, 256x256, 512x512)
- Create Windows .ico and macOS .icns icons
- Add Rust unit tests for core functionality
- Add tauri:test and tauri:icons npm scripts

New files:
- src-tauri/generate-icons.sh
- src-tauri/icons/32x32.png
- src-tauri/icons/128x128.png
- src-tauri/icons/128x128@2x.png
- src-tauri/icons/512x512.png
- src-tauri/icons/icon.ico
- src-tauri/icons/icon.icns
- src-tauri/icons/src/app-icon.svg
- src-tauri/icons/tray-icon.png
- src-tauri/src/tests.rs

Modified:
- src-tauri/src/lib.rs (added tests module)
This commit is contained in:
2026-04-24 16:08:07 -04:00
parent 36f9b420f5
commit da0b3a4997
11 changed files with 162 additions and 0 deletions

BIN
src-tauri/icons/128x128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
src-tauri/icons/32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

BIN
src-tauri/icons/512x512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

BIN
src-tauri/icons/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@@ -0,0 +1,21 @@
<!-- FrenoCorp App Icon -->
<!-- Base icon for generating all required sizes -->
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bgGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#4A90D9;stop-opacity:1" />
<stop offset="100%" style="stop-color:#2E5C8A;stop-opacity:1" />
</linearGradient>
</defs>
<!-- Background with rounded corners -->
<rect width="1024" height="1024" rx="180" ry="180" fill="url(#bgGradient)"/>
<!-- Main F letter -->
<text x="512" y="720" font-family="Arial, sans-serif" font-size="600" font-weight="bold" fill="white" text-anchor="middle">
F
</text>
<!-- Subtle highlight -->
<rect x="180" y="180" width="664" height="664" rx="120" ry="120" fill="none" stroke="rgba(255,255,255,0.2)" stroke-width="8"/>
</svg>

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B