Bluesky app fork with some witchin' additions 💫

Add dark/tinted icon variants (#9241)

* add tinted icon style

* new dark icon

* use icon composer file

* rename some icons, ensure default ios is still there

* use solid fill instead of auto gradient

* fix web build

* back to gradient

* add . for consistency

* rename `default_old` to `legacy`

authored by samuel.fm and committed by GitHub 5efae600 339f3320

+5
.gitignore
··· 119 119 120 120 # ogcard assets 121 121 bskyogcard/src/assets/fonts/noto-* 122 + 123 + # bskyweb build output 124 + bskyweb/static/media/*.webp 125 + bskyweb/static/media/*.jpg 126 + bskyweb/static/media/*.png
+10 -11
app.config.js
··· 11 11 * 12 12 * @see https://docs.expo.dev/build-reference/variables/#built-in-environment-variables 13 13 */ 14 - const PLATFORM = process.env.EAS_BUILD_PLATFORM 14 + const PLATFORM = process.env.EAS_BUILD_PLATFORM ?? 'web' 15 15 16 16 const IS_TESTFLIGHT = process.env.EXPO_PUBLIC_ENV === 'testflight' 17 17 const IS_PRODUCTION = process.env.EXPO_PUBLIC_ENV === 'production' ··· 50 50 config: { 51 51 usesNonExemptEncryption: false, 52 52 }, 53 + icon: 54 + PLATFORM === 'web' // web build doesn't like .icon files 55 + ? './assets/app-icons/ios_icon_default_next.png' 56 + : './assets/app-icons/ios_icon_default.icon', 53 57 infoPlist: { 54 58 UIBackgroundModes: ['remote-notification'], 55 59 NSCameraUsageDescription: ··· 171 175 barStyle: 'light-content', 172 176 }, 173 177 android: { 174 - icon: './assets/app-icons/android_icon_default_next.png', 178 + icon: './assets/app-icons/android_icon_default_light.png', 175 179 adaptiveIcon: { 176 180 foregroundImage: './assets/icon-android-foreground.png', 177 181 monochromeImage: './assets/icon-android-foreground.png', ··· 323 327 * Default set 324 328 */ 325 329 default_light: { 326 - ios: './assets/app-icons/ios_icon_default_light.png', 327 - android: './assets/app-icons/android_icon_default_light.png', 330 + ios: './assets/app-icons/ios_icon_legacy_light.png', 331 + android: './assets/app-icons/android_icon_legacy_light.png', 328 332 prerendered: true, 329 333 }, 330 334 default_dark: { 331 - ios: './assets/app-icons/ios_icon_default_dark.png', 332 - android: './assets/app-icons/android_icon_default_dark.png', 333 - prerendered: true, 334 - }, 335 - next: { 336 - ios: './assets/app-icons/ios_icon_default_next.png', 337 - android: './assets/app-icons/android_icon_default_next.png', 335 + ios: './assets/app-icons/ios_icon_legacy_dark.png', 336 + android: './assets/app-icons/android_icon_legacy_dark.png', 338 337 prerendered: true, 339 338 }, 340 339
assets/app-icons/android_icon_default_dark.png assets/app-icons/android_icon_legacy_dark.png
assets/app-icons/android_icon_default_light.png assets/app-icons/android_icon_legacy_light.png
assets/app-icons/ios_icon_default.icon/Assets/iOS transparent.png

This is a binary file and will not be displayed.

+31
assets/app-icons/ios_icon_default.icon/icon.json
··· 1 + { 2 + "fill" : { 3 + "automatic-gradient" : "srgb:0.00000,0.41569,1.00000,1.00000" 4 + }, 5 + "groups" : [ 6 + { 7 + "layers" : [ 8 + { 9 + "fill" : "none", 10 + "glass" : false, 11 + "image-name" : "iOS transparent.png", 12 + "name" : "iOS transparent" 13 + } 14 + ], 15 + "shadow" : { 16 + "kind" : "neutral", 17 + "opacity" : 0.5 18 + }, 19 + "translucency" : { 20 + "enabled" : true, 21 + "value" : 0.5 22 + } 23 + } 24 + ], 25 + "supported-platforms" : { 26 + "circles" : [ 27 + "watchOS" 28 + ], 29 + "squares" : "shared" 30 + } 31 + }
assets/app-icons/ios_icon_default_dark.png assets/app-icons/ios_icon_legacy_dark.png
assets/app-icons/ios_icon_default_light.png assets/app-icons/ios_icon_legacy_light.png
+4 -18
src/screens/Settings/AppIconSettings/useAppIconSets.ts
··· 14 14 name: _(msg({context: 'Name of app icon variant', message: 'Light'})), 15 15 iosImage: () => { 16 16 return require( 17 - `../../../../assets/app-icons/ios_icon_default_light.png`, 17 + `../../../../assets/app-icons/ios_icon_legacy_light.png`, 18 18 ) 19 19 }, 20 20 androidImage: () => { 21 21 return require( 22 - `../../../../assets/app-icons/android_icon_default_light.png`, 22 + `../../../../assets/app-icons/android_icon_legacy_light.png`, 23 23 ) 24 24 }, 25 25 }, ··· 28 28 name: _(msg({context: 'Name of app icon variant', message: 'Dark'})), 29 29 iosImage: () => { 30 30 return require( 31 - `../../../../assets/app-icons/ios_icon_default_dark.png`, 32 - ) 33 - }, 34 - androidImage: () => { 35 - return require( 36 - `../../../../assets/app-icons/android_icon_default_dark.png`, 37 - ) 38 - }, 39 - }, 40 - { 41 - id: 'next', 42 - name: _(msg({context: 'Name of app icon variant', message: 'Next'})), 43 - iosImage: () => { 44 - return require( 45 - `../../../../assets/app-icons/ios_icon_default_next.png`, 31 + `../../../../assets/app-icons/ios_icon_legacy_dark.png`, 46 32 ) 47 33 }, 48 34 androidImage: () => { 49 35 return require( 50 - `../../../../assets/app-icons/android_icon_default_next.png`, 36 + `../../../../assets/app-icons/android_icon_legacy_dark.png`, 51 37 ) 52 38 }, 53 39 },