feat(ios): simplify navigation and ship 0.2.0

Move diagnostics into settings, remove the app-local notification module, unify the global theme switcher, refine privacy copy and the instance detail experience, and rebuild the app icon.
This commit is contained in:
chick
2026-09-12 17:10:02 +08:00
parent 20632be86a
commit e01a105645
25 changed files with 318 additions and 1393 deletions
+30 -58
View File
@@ -1,73 +1,45 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
<defs>
<linearGradient id="canvas" x1="0.04" y1="0" x2="0.96" y2="1">
<stop offset="0" stop-color="#22272F"/>
<stop offset="0.45" stop-color="#0A0C10"/>
<stop offset="1" stop-color="#040507"/>
</linearGradient>
<radialGradient id="glow" cx="0.31" cy="0.16" r="0.78">
<stop offset="0" stop-color="#424A57" stop-opacity="0.70"/>
<stop offset="0.62" stop-color="#161A20" stop-opacity="0.10"/>
<stop offset="1" stop-color="#060709" stop-opacity="0"/>
<radialGradient id="background" cx="0.22" cy="0.10" r="1.08">
<stop offset="0" stop-color="#303945"/>
<stop offset="0.42" stop-color="#141921"/>
<stop offset="1" stop-color="#050709"/>
</radialGradient>
<linearGradient id="gold" x1="0.08" y1="0.02" x2="0.90" y2="1">
<stop offset="0" stop-color="#FBE1AC"/>
<stop offset="0.32" stop-color="#E4B875"/>
<stop offset="0.72" stop-color="#C08E52"/>
<stop offset="1" stop-color="#9F7040"/>
<linearGradient id="gold" x1="0.10" y1="0.02" x2="0.90" y2="0.98">
<stop offset="0" stop-color="#FFE7AD"/>
<stop offset="0.24" stop-color="#F4C767"/>
<stop offset="0.66" stop-color="#D79F47"/>
<stop offset="1" stop-color="#B67D33"/>
</linearGradient>
<linearGradient id="goldEdge" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#FFF2D1" stop-opacity="0.96"/>
<stop offset="0.52" stop-color="#D3A362" stop-opacity="0.30"/>
<stop offset="1" stop-color="#6E4922" stop-opacity="0.82"/>
<stop offset="0" stop-color="#FFF8DE" stop-opacity="0.82"/>
<stop offset="0.48" stop-color="#E9BA6D" stop-opacity="0.16"/>
<stop offset="1" stop-color="#7C5525" stop-opacity="0.72"/>
</linearGradient>
<linearGradient id="chip" x1="0.08" y1="0" x2="0.92" y2="1">
<stop offset="0" stop-color="#262B33"/>
<stop offset="1" stop-color="#0A0D11"/>
</linearGradient>
<linearGradient id="sheen" x1="0.16" y1="0" x2="0.84" y2="0.70">
<stop offset="0" stop-color="#FFFFFF" stop-opacity="0.30"/>
<stop offset="0.42" stop-color="#FFFFFF" stop-opacity="0.05"/>
<linearGradient id="sheen" x1="0.15" y1="0" x2="0.85" y2="0.82">
<stop offset="0" stop-color="#FFFFFF" stop-opacity="0.38"/>
<stop offset="0.46" stop-color="#FFFFFF" stop-opacity="0.05"/>
<stop offset="1" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
<linearGradient id="signal" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#F3CE91"/>
<stop offset="1" stop-color="#A87C42"/>
<linearGradient id="bar" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#242A33"/>
<stop offset="1" stop-color="#0C0F13"/>
</linearGradient>
<filter id="cardShadow" x="-35%" y="-35%" width="170%" height="170%">
<feDropShadow dx="0" dy="28" stdDeviation="36" flood-color="#000000" flood-opacity="0.55"/>
</filter>
<filter id="plateShadow" x="-30%" y="-30%" width="160%" height="160%">
<feDropShadow dx="0" dy="18" stdDeviation="30" flood-color="#000000" flood-opacity="0.38"/>
<filter id="tileShadow" x="-30%" y="-30%" width="160%" height="160%">
<feDropShadow dx="0" dy="24" stdDeviation="30" flood-color="#000000" flood-opacity="0.48"/>
</filter>
</defs>
<rect width="1024" height="1024" fill="url(#canvas)"/>
<rect width="1024" height="1024" fill="url(#glow)"/>
<g>
<rect x="247" y="284" width="470" height="560" rx="98" fill="#12161A" fill-opacity="0.94" filter="url(#plateShadow)"/>
<rect x="247" y="284" width="470" height="560" rx="98" fill="none" stroke="#DCB26F" stroke-opacity="0.13" stroke-width="3"/>
<rect width="1024" height="1024" fill="url(#background)"/>
<g filter="url(#tileShadow)">
<rect x="162" y="162" width="700" height="700" rx="210" fill="url(#gold)"/>
</g>
<rect x="164" y="164" width="696" height="696" rx="208" fill="url(#sheen)"/>
<rect x="164" y="164" width="696" height="696" rx="208" fill="none" stroke="url(#goldEdge)" stroke-width="7"/>
<g opacity="0.86">
<path d="M743 304 A94 94 0 0 1 831 392" fill="none" stroke="url(#signal)" stroke-opacity="0.36" stroke-width="23" stroke-linecap="round"/>
<path d="M739 239 A181 181 0 0 1 887 387" fill="none" stroke="url(#signal)" stroke-opacity="0.20" stroke-width="23" stroke-linecap="round"/>
<path d="M736 174 A268 268 0 0 1 944 382" fill="none" stroke="url(#signal)" stroke-opacity="0.10" stroke-width="23" stroke-linecap="round"/>
<g fill="url(#bar)">
<rect x="317" y="602" width="108" height="188" rx="54"/>
<rect x="458" y="475" width="108" height="315" rx="54"/>
<rect x="599" y="348" width="108" height="442" rx="54"/>
</g>
<g filter="url(#cardShadow)">
<rect x="311" y="208" width="430" height="584" rx="108" fill="url(#gold)"/>
<rect x="311" y="208" width="430" height="584" rx="108" fill="url(#sheen)"/>
<rect x="313.5" y="210.5" width="425" height="579" rx="105.5" fill="none" stroke="url(#goldEdge)" stroke-width="5"/>
</g>
<g>
<rect x="429" y="421" width="194" height="180" rx="48" fill="url(#chip)"/>
<rect x="431" y="423" width="190" height="176" rx="46" fill="none" stroke="#F0C37E" stroke-opacity="0.24" stroke-width="3"/>
<path d="M458 470h136M458 505h136M458 540h136" stroke="#DCB26F" stroke-opacity="0.72" stroke-width="15" stroke-linecap="round"/>
<circle cx="526" cy="668" r="9" fill="#FFF6E3" fill-opacity="0.58"/>
</g>
<rect x="311" y="208" width="430" height="584" rx="108" fill="none" stroke="#FFFFFF" stroke-opacity="0.16" stroke-width="2"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB