mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at session/base 368 lines 8.8 kB view raw
1import {Platform} from 'react-native' 2import type {Theme} from './ThemeContext' 3import {colors} from './styles' 4 5import {darkPalette, lightPalette, dimPalette} from '#/alf/themes' 6 7export const defaultTheme: Theme = { 8 colorScheme: 'light', 9 palette: { 10 default: { 11 background: lightPalette.white, 12 backgroundLight: lightPalette.contrast_25, 13 text: lightPalette.black, 14 textLight: lightPalette.contrast_700, 15 textInverted: lightPalette.white, 16 link: lightPalette.primary_500, 17 border: lightPalette.contrast_100, 18 borderDark: lightPalette.contrast_200, 19 icon: lightPalette.contrast_500, 20 21 // non-standard 22 textVeryLight: lightPalette.contrast_400, 23 replyLine: lightPalette.contrast_100, 24 replyLineDot: lightPalette.contrast_200, 25 unreadNotifBg: lightPalette.primary_25, 26 unreadNotifBorder: lightPalette.primary_100, 27 postCtrl: lightPalette.contrast_500, 28 brandText: lightPalette.primary_500, 29 emptyStateIcon: lightPalette.contrast_300, 30 borderLinkHover: lightPalette.contrast_300, 31 }, 32 primary: { 33 background: colors.blue3, 34 backgroundLight: colors.blue2, 35 text: colors.white, 36 textLight: colors.blue0, 37 textInverted: colors.blue3, 38 link: colors.blue0, 39 border: colors.blue4, 40 borderDark: colors.blue5, 41 icon: colors.blue4, 42 }, 43 secondary: { 44 background: colors.green3, 45 backgroundLight: colors.green2, 46 text: colors.white, 47 textLight: colors.green1, 48 textInverted: colors.green4, 49 link: colors.green1, 50 border: colors.green4, 51 borderDark: colors.green5, 52 icon: colors.green4, 53 }, 54 inverted: { 55 background: darkPalette.black, 56 backgroundLight: darkPalette.contrast_50, 57 text: darkPalette.white, 58 textLight: darkPalette.contrast_700, 59 textInverted: darkPalette.black, 60 link: darkPalette.primary_500, 61 border: darkPalette.contrast_100, 62 borderDark: darkPalette.contrast_200, 63 icon: darkPalette.contrast_500, 64 }, 65 error: { 66 background: colors.red3, 67 backgroundLight: colors.red2, 68 text: colors.white, 69 textLight: colors.red1, 70 textInverted: colors.red3, 71 link: colors.red1, 72 border: colors.red4, 73 borderDark: colors.red5, 74 icon: colors.red4, 75 }, 76 }, 77 shapes: { 78 button: { 79 // TODO 80 }, 81 bigButton: { 82 // TODO 83 }, 84 smallButton: { 85 // TODO 86 }, 87 }, 88 typography: { 89 '2xl-thin': { 90 fontSize: 18, 91 letterSpacing: 0.25, 92 fontWeight: '300', 93 }, 94 '2xl': { 95 fontSize: 18, 96 letterSpacing: 0.25, 97 fontWeight: '400', 98 }, 99 '2xl-medium': { 100 fontSize: 18, 101 letterSpacing: 0.25, 102 fontWeight: '500', 103 }, 104 '2xl-bold': { 105 fontSize: 18, 106 letterSpacing: 0.25, 107 fontWeight: '700', 108 }, 109 '2xl-heavy': { 110 fontSize: 18, 111 letterSpacing: 0.25, 112 fontWeight: '800', 113 }, 114 'xl-thin': { 115 fontSize: 17, 116 letterSpacing: 0.25, 117 fontWeight: '300', 118 }, 119 xl: { 120 fontSize: 17, 121 letterSpacing: 0.25, 122 fontWeight: '400', 123 }, 124 'xl-medium': { 125 fontSize: 17, 126 letterSpacing: 0.25, 127 fontWeight: '500', 128 }, 129 'xl-bold': { 130 fontSize: 17, 131 letterSpacing: 0.25, 132 fontWeight: '700', 133 }, 134 'xl-heavy': { 135 fontSize: 17, 136 letterSpacing: 0.25, 137 fontWeight: '800', 138 }, 139 'lg-thin': { 140 fontSize: 16, 141 letterSpacing: 0.25, 142 fontWeight: '300', 143 }, 144 lg: { 145 fontSize: 16, 146 letterSpacing: 0.25, 147 fontWeight: '400', 148 }, 149 'lg-medium': { 150 fontSize: 16, 151 letterSpacing: 0.25, 152 fontWeight: '500', 153 }, 154 'lg-bold': { 155 fontSize: 16, 156 letterSpacing: 0.25, 157 fontWeight: '700', 158 }, 159 'lg-heavy': { 160 fontSize: 16, 161 letterSpacing: 0.25, 162 fontWeight: '800', 163 }, 164 'md-thin': { 165 fontSize: 15, 166 letterSpacing: 0.25, 167 fontWeight: '300', 168 }, 169 md: { 170 fontSize: 15, 171 letterSpacing: 0.25, 172 fontWeight: '400', 173 }, 174 'md-medium': { 175 fontSize: 15, 176 letterSpacing: 0.25, 177 fontWeight: '500', 178 }, 179 'md-bold': { 180 fontSize: 15, 181 letterSpacing: 0.25, 182 fontWeight: '700', 183 }, 184 'md-heavy': { 185 fontSize: 15, 186 letterSpacing: 0.25, 187 fontWeight: '800', 188 }, 189 'sm-thin': { 190 fontSize: 14, 191 letterSpacing: 0.25, 192 fontWeight: '300', 193 }, 194 sm: { 195 fontSize: 14, 196 letterSpacing: 0.25, 197 fontWeight: '400', 198 }, 199 'sm-medium': { 200 fontSize: 14, 201 letterSpacing: 0.25, 202 fontWeight: '500', 203 }, 204 'sm-bold': { 205 fontSize: 14, 206 letterSpacing: 0.25, 207 fontWeight: '700', 208 }, 209 'sm-heavy': { 210 fontSize: 14, 211 letterSpacing: 0.25, 212 fontWeight: '800', 213 }, 214 'xs-thin': { 215 fontSize: 13, 216 letterSpacing: 0.25, 217 fontWeight: '300', 218 }, 219 xs: { 220 fontSize: 13, 221 letterSpacing: 0.25, 222 fontWeight: '400', 223 }, 224 'xs-medium': { 225 fontSize: 13, 226 letterSpacing: 0.25, 227 fontWeight: '500', 228 }, 229 'xs-bold': { 230 fontSize: 13, 231 letterSpacing: 0.25, 232 fontWeight: '700', 233 }, 234 'xs-heavy': { 235 fontSize: 13, 236 letterSpacing: 0.25, 237 fontWeight: '800', 238 }, 239 240 'title-2xl': { 241 fontSize: 34, 242 letterSpacing: 0.25, 243 fontWeight: '500', 244 }, 245 'title-xl': { 246 fontSize: 28, 247 letterSpacing: 0.25, 248 fontWeight: '500', 249 }, 250 'title-lg': { 251 fontSize: 22, 252 fontWeight: '500', 253 }, 254 title: { 255 fontWeight: '500', 256 fontSize: 20, 257 letterSpacing: 0.15, 258 }, 259 'title-sm': { 260 fontWeight: 'bold', 261 fontSize: 17, 262 letterSpacing: 0.15, 263 }, 264 'post-text': { 265 fontSize: 16, 266 letterSpacing: 0.2, 267 fontWeight: '400', 268 }, 269 'post-text-lg': { 270 fontSize: 20, 271 letterSpacing: 0.2, 272 fontWeight: '400', 273 }, 274 'button-lg': { 275 fontWeight: '500', 276 fontSize: 18, 277 letterSpacing: 0.5, 278 }, 279 button: { 280 fontWeight: '500', 281 fontSize: 14, 282 letterSpacing: 0.5, 283 }, 284 mono: { 285 fontSize: 14, 286 fontFamily: Platform.OS === 'android' ? 'monospace' : 'Courier New', 287 }, 288 }, 289} 290 291export const darkTheme: Theme = { 292 ...defaultTheme, 293 colorScheme: 'dark', 294 palette: { 295 ...defaultTheme.palette, 296 default: { 297 background: darkPalette.black, 298 backgroundLight: darkPalette.contrast_50, 299 text: darkPalette.white, 300 textLight: darkPalette.contrast_700, 301 textInverted: darkPalette.black, 302 link: darkPalette.primary_500, 303 border: darkPalette.contrast_100, 304 borderDark: darkPalette.contrast_200, 305 icon: darkPalette.contrast_500, 306 307 // non-standard 308 textVeryLight: darkPalette.contrast_400, 309 replyLine: darkPalette.contrast_200, 310 replyLineDot: darkPalette.contrast_200, 311 unreadNotifBg: darkPalette.primary_975, 312 unreadNotifBorder: darkPalette.primary_900, 313 postCtrl: darkPalette.contrast_500, 314 brandText: darkPalette.primary_500, 315 emptyStateIcon: darkPalette.contrast_300, 316 borderLinkHover: darkPalette.contrast_300, 317 }, 318 primary: { 319 ...defaultTheme.palette.primary, 320 textInverted: colors.blue2, 321 }, 322 secondary: { 323 ...defaultTheme.palette.secondary, 324 textInverted: colors.green2, 325 }, 326 inverted: { 327 background: lightPalette.white, 328 backgroundLight: lightPalette.contrast_50, 329 text: lightPalette.black, 330 textLight: lightPalette.contrast_700, 331 textInverted: lightPalette.white, 332 link: lightPalette.primary_500, 333 border: lightPalette.contrast_100, 334 borderDark: lightPalette.contrast_200, 335 icon: lightPalette.contrast_500, 336 }, 337 }, 338} 339 340export const dimTheme: Theme = { 341 ...darkTheme, 342 palette: { 343 ...darkTheme.palette, 344 default: { 345 ...darkTheme.palette.default, 346 background: dimPalette.black, 347 backgroundLight: dimPalette.contrast_50, 348 text: dimPalette.white, 349 textLight: dimPalette.contrast_700, 350 textInverted: dimPalette.black, 351 link: dimPalette.primary_500, 352 border: dimPalette.contrast_100, 353 borderDark: dimPalette.contrast_200, 354 icon: dimPalette.contrast_500, 355 356 // non-standard 357 textVeryLight: dimPalette.contrast_400, 358 replyLine: dimPalette.contrast_200, 359 replyLineDot: dimPalette.contrast_200, 360 unreadNotifBg: dimPalette.primary_975, 361 unreadNotifBorder: dimPalette.primary_900, 362 postCtrl: dimPalette.contrast_500, 363 brandText: dimPalette.primary_500, 364 emptyStateIcon: dimPalette.contrast_300, 365 borderLinkHover: dimPalette.contrast_300, 366 }, 367 }, 368}