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 120 # ogcard assets 121 bskyogcard/src/assets/fonts/noto-*
··· 119 120 # ogcard assets 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 * 12 * @see https://docs.expo.dev/build-reference/variables/#built-in-environment-variables 13 */ 14 - const PLATFORM = process.env.EAS_BUILD_PLATFORM 15 16 const IS_TESTFLIGHT = process.env.EXPO_PUBLIC_ENV === 'testflight' 17 const IS_PRODUCTION = process.env.EXPO_PUBLIC_ENV === 'production' ··· 50 config: { 51 usesNonExemptEncryption: false, 52 }, 53 infoPlist: { 54 UIBackgroundModes: ['remote-notification'], 55 NSCameraUsageDescription: ··· 171 barStyle: 'light-content', 172 }, 173 android: { 174 - icon: './assets/app-icons/android_icon_default_next.png', 175 adaptiveIcon: { 176 foregroundImage: './assets/icon-android-foreground.png', 177 monochromeImage: './assets/icon-android-foreground.png', ··· 323 * Default set 324 */ 325 default_light: { 326 - ios: './assets/app-icons/ios_icon_default_light.png', 327 - android: './assets/app-icons/android_icon_default_light.png', 328 prerendered: true, 329 }, 330 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', 338 prerendered: true, 339 }, 340
··· 11 * 12 * @see https://docs.expo.dev/build-reference/variables/#built-in-environment-variables 13 */ 14 + const PLATFORM = process.env.EAS_BUILD_PLATFORM ?? 'web' 15 16 const IS_TESTFLIGHT = process.env.EXPO_PUBLIC_ENV === 'testflight' 17 const IS_PRODUCTION = process.env.EXPO_PUBLIC_ENV === 'production' ··· 50 config: { 51 usesNonExemptEncryption: false, 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', 57 infoPlist: { 58 UIBackgroundModes: ['remote-notification'], 59 NSCameraUsageDescription: ··· 175 barStyle: 'light-content', 176 }, 177 android: { 178 + icon: './assets/app-icons/android_icon_default_light.png', 179 adaptiveIcon: { 180 foregroundImage: './assets/icon-android-foreground.png', 181 monochromeImage: './assets/icon-android-foreground.png', ··· 327 * Default set 328 */ 329 default_light: { 330 + ios: './assets/app-icons/ios_icon_legacy_light.png', 331 + android: './assets/app-icons/android_icon_legacy_light.png', 332 prerendered: true, 333 }, 334 default_dark: { 335 + ios: './assets/app-icons/ios_icon_legacy_dark.png', 336 + android: './assets/app-icons/android_icon_legacy_dark.png', 337 prerendered: true, 338 }, 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 name: _(msg({context: 'Name of app icon variant', message: 'Light'})), 15 iosImage: () => { 16 return require( 17 - `../../../../assets/app-icons/ios_icon_default_light.png`, 18 ) 19 }, 20 androidImage: () => { 21 return require( 22 - `../../../../assets/app-icons/android_icon_default_light.png`, 23 ) 24 }, 25 }, ··· 28 name: _(msg({context: 'Name of app icon variant', message: 'Dark'})), 29 iosImage: () => { 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`, 46 ) 47 }, 48 androidImage: () => { 49 return require( 50 - `../../../../assets/app-icons/android_icon_default_next.png`, 51 ) 52 }, 53 },
··· 14 name: _(msg({context: 'Name of app icon variant', message: 'Light'})), 15 iosImage: () => { 16 return require( 17 + `../../../../assets/app-icons/ios_icon_legacy_light.png`, 18 ) 19 }, 20 androidImage: () => { 21 return require( 22 + `../../../../assets/app-icons/android_icon_legacy_light.png`, 23 ) 24 }, 25 }, ··· 28 name: _(msg({context: 'Name of app icon variant', message: 'Dark'})), 29 iosImage: () => { 30 return require( 31 + `../../../../assets/app-icons/ios_icon_legacy_dark.png`, 32 ) 33 }, 34 androidImage: () => { 35 return require( 36 + `../../../../assets/app-icons/android_icon_legacy_dark.png`, 37 ) 38 }, 39 },