this repo has no description
1import {useMemo} from 'react'
2import {msg} from '@lingui/core/macro'
3import {useLingui} from '@lingui/react'
4
5import {type AppIconSet} from '#/screens/Settings/AppIconSettings/types'
6
7export function useAppIconSets() {
8 const {_} = useLingui()
9
10 return useMemo(() => {
11 const defaults = [
12 {
13 id: 'default_light',
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 },
26 {
27 id: 'default_dark',
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 },
40 ] satisfies AppIconSet[]
41
42 /**
43 * Bluesky+
44 */
45 const core = [
46 {
47 id: 'core_aurora',
48 name: _(msg({context: 'Name of app icon variant', message: 'Aurora'})),
49 iosImage: () => {
50 return require(
51 `../../../../assets/app-icons/ios_icon_core_aurora.png`,
52 )
53 },
54 androidImage: () => {
55 return require(
56 `../../../../assets/app-icons/android_icon_core_aurora.png`,
57 )
58 },
59 },
60 // {
61 // id: 'core_bonfire',
62 // name: _(msg({ context: 'Name of app icon variant', message: 'Bonfire' })),
63 // iosImage: () => {
64 // return require(`../../../../assets/app-icons/ios_icon_core_bonfire.png`)
65 // },
66 // androidImage: () => {
67 // return require(`../../../../assets/app-icons/android_icon_core_bonfire.png`)
68 // },
69 // },
70 {
71 id: 'core_sunrise',
72 name: _(msg({context: 'Name of app icon variant', message: 'Sunrise'})),
73 iosImage: () => {
74 return require(
75 `../../../../assets/app-icons/ios_icon_core_sunrise.png`,
76 )
77 },
78 androidImage: () => {
79 return require(
80 `../../../../assets/app-icons/android_icon_core_sunrise.png`,
81 )
82 },
83 },
84 {
85 id: 'core_sunset',
86 name: _(msg({context: 'Name of app icon variant', message: 'Sunset'})),
87 iosImage: () => {
88 return require(
89 `../../../../assets/app-icons/ios_icon_core_sunset.png`,
90 )
91 },
92 androidImage: () => {
93 return require(
94 `../../../../assets/app-icons/android_icon_core_sunset.png`,
95 )
96 },
97 },
98 {
99 id: 'core_midnight',
100 name: _(
101 msg({context: 'Name of app icon variant', message: 'Midnight'}),
102 ),
103 iosImage: () => {
104 return require(
105 `../../../../assets/app-icons/ios_icon_core_midnight.png`,
106 )
107 },
108 androidImage: () => {
109 return require(
110 `../../../../assets/app-icons/android_icon_core_midnight.png`,
111 )
112 },
113 },
114 {
115 id: 'core_flat_blue',
116 name: _(
117 msg({context: 'Name of app icon variant', message: 'Flat Blue'}),
118 ),
119 iosImage: () => {
120 return require(
121 `../../../../assets/app-icons/ios_icon_core_flat_blue.png`,
122 )
123 },
124 androidImage: () => {
125 return require(
126 `../../../../assets/app-icons/android_icon_core_flat_blue.png`,
127 )
128 },
129 },
130 {
131 id: 'core_flat_white',
132 name: _(
133 msg({context: 'Name of app icon variant', message: 'Flat White'}),
134 ),
135 iosImage: () => {
136 return require(
137 `../../../../assets/app-icons/ios_icon_core_flat_white.png`,
138 )
139 },
140 androidImage: () => {
141 return require(
142 `../../../../assets/app-icons/android_icon_core_flat_white.png`,
143 )
144 },
145 },
146 {
147 id: 'core_flat_black',
148 name: _(
149 msg({context: 'Name of app icon variant', message: 'Flat Black'}),
150 ),
151 iosImage: () => {
152 return require(
153 `../../../../assets/app-icons/ios_icon_core_flat_black.png`,
154 )
155 },
156 androidImage: () => {
157 return require(
158 `../../../../assets/app-icons/android_icon_core_flat_black.png`,
159 )
160 },
161 },
162 {
163 id: 'core_classic',
164 name: _(
165 msg({
166 context: 'Name of app icon variant',
167 message: 'Bluesky Classic™',
168 }),
169 ),
170 iosImage: () => {
171 return require(
172 `../../../../assets/app-icons/ios_icon_core_classic.png`,
173 )
174 },
175 androidImage: () => {
176 return require(
177 `../../../../assets/app-icons/android_icon_core_classic.png`,
178 )
179 },
180 },
181 ] satisfies AppIconSet[]
182
183 return {
184 defaults,
185 core,
186 }
187 }, [_])
188}