App icon: violet heart + ECG pulse on the dashboard's dark palette
All checks were successful
Build & Release APK / build (push) Successful in 3m28s

Replaces the Expo template icons; adaptive foreground/monochrome/splash
generated from assets/icon-src/*.svg (rsvg-convert).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-07 19:38:28 -07:00
parent 1a65736fb8
commit adb8905ebf
13 changed files with 79 additions and 44 deletions

View File

@@ -1,3 +0,0 @@
<svg width="652" height="606" viewBox="0 0 652 606" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M353.554 0H298.446C273.006 0 249.684 14.6347 237.962 37.9539L4.37994 502.646C-1.04325 513.435 -1.45067 526.178 3.2716 537.313L22.6123 582.918C34.6475 611.297 72.5404 614.156 88.4414 587.885L309.863 222.063C313.34 216.317 319.439 212.826 326 212.826C332.561 212.826 338.659 216.317 342.137 222.063L563.559 587.885C579.46 614.156 617.352 611.297 629.388 582.918L648.728 537.313C653.451 526.178 653.043 513.435 647.62 502.646L414.038 37.9539C402.316 14.6347 378.994 0 353.554 0Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -1,40 +0,0 @@
{
"fill" : {
"automatic-gradient" : "extended-srgb:0.00000,0.47843,1.00000,1.00000"
},
"groups" : [
{
"layers" : [
{
"image-name" : "expo-symbol 2.svg",
"name" : "expo-symbol 2",
"position" : {
"scale" : 1,
"translation-in-points" : [
1.1008400065293245e-05,
-16.046875
]
}
},
{
"image-name" : "grid.png",
"name" : "grid"
}
],
"shadow" : {
"kind" : "neutral",
"opacity" : 0.5
},
"translucency" : {
"enabled" : true,
"value" : 0.5
}
}
],
"supported-platforms" : {
"circles" : [
"watchOS"
],
"squares" : "shared"
}
}

25
assets/icon-src/glyph.svg Normal file
View File

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
<defs>
<linearGradient id="heart" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#8a86ff"/>
<stop offset="100%" stop-color="#5b57d6"/>
</linearGradient>
</defs>
<!-- glyph only, transparent bg, scaled into the adaptive-icon safe zone -->
<g transform="translate(512 512) scale(0.62) translate(-512 -512)">
<path d="M512 812
C 402 726, 232 616, 210 462
C 196 360, 268 268, 372 268
C 436 268, 486 304, 512 356
C 538 304, 588 268, 652 268
C 756 268, 828 360, 814 462
C 792 616, 622 726, 512 812 Z"
fill="url(#heart)"/>
<polyline points="60,520 330,520 385,520 425,414 478,626 528,368 576,556 608,520 964,520"
fill="none" stroke="#0d0d0f" stroke-width="58"
stroke-linecap="round" stroke-linejoin="round"/>
<polyline points="60,520 330,520 385,520 425,414 478,626 528,368 576,556 608,520 964,520"
fill="none" stroke="#ffffff" stroke-width="26"
stroke-linecap="round" stroke-linejoin="round"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

32
assets/icon-src/icon.svg Normal file
View File

@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
<defs>
<radialGradient id="bg" cx="50%" cy="38%" r="75%">
<stop offset="0%" stop-color="#1e1e26"/>
<stop offset="100%" stop-color="#0d0d0f"/>
</radialGradient>
<linearGradient id="heart" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#8a86ff"/>
<stop offset="100%" stop-color="#5b57d6"/>
</linearGradient>
</defs>
<rect width="1024" height="1024" fill="url(#bg)"/>
<!-- heart -->
<path d="M512 812
C 402 726, 232 616, 210 462
C 196 360, 268 268, 372 268
C 436 268, 486 304, 512 356
C 538 304, 588 268, 652 268
C 756 268, 828 360, 814 462
C 792 616, 622 726, 512 812 Z"
fill="url(#heart)"/>
<!-- ECG pulse across the heart -->
<polyline points="120,520 330,520 385,520 425,414 478,626 528,368 576,556 608,520 904,520"
fill="none" stroke="#0d0d0f" stroke-width="58"
stroke-linecap="round" stroke-linejoin="round"/>
<polyline points="120,520 330,520 385,520 425,414 478,626 528,368 576,556 608,520 904,520"
fill="none" stroke="#ffffff" stroke-width="26"
stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024">
<defs>
<mask id="cut">
<rect width="1024" height="1024" fill="white"/>
<polyline points="60,520 330,520 385,520 425,414 478,626 528,368 576,556 608,520 964,520"
fill="none" stroke="black" stroke-width="58"
stroke-linecap="round" stroke-linejoin="round"/>
</mask>
</defs>
<!-- single-silhouette version: heart with the ECG line cut out (launcher tints it) -->
<g transform="translate(512 512) scale(0.62) translate(-512 -512)">
<path d="M512 812
C 402 726, 232 616, 210 462
C 196 360, 268 268, 372 268
C 436 268, 486 304, 512 356
C 538 304, 588 268, 652 268
C 756 268, 828 360, 814 462
C 792 616, 622 726, 512 812 Z"
fill="#ffffff" mask="url(#cut)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 780 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 14 KiB