forked from FreeTubeApp/FreeTube
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcolors.js
137 lines (130 loc) · 6.72 KB
/
colors.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
import i18n from '../i18n/index'
import { randomArrayItem } from './utils'
export const colors = [
{ name: 'Red', value: '#d50000' },
{ name: 'Pink', value: '#C51162' },
{ name: 'Purple', value: '#AA00FF' },
{ name: 'DeepPurple', value: '#6200EA' },
{ name: 'Indigo', value: '#304FFE' },
{ name: 'Blue', value: '#2962FF' },
{ name: 'LightBlue', value: '#0091EA' },
{ name: 'Cyan', value: '#00B8D4' },
{ name: 'Teal', value: '#00BFA5' },
{ name: 'Green', value: '#00C853' },
{ name: 'LightGreen', value: '#64DD17' },
{ name: 'Lime', value: '#AEEA00' },
{ name: 'Yellow', value: '#FFD600' },
{ name: 'Amber', value: '#FFAB00' },
{ name: 'Orange', value: '#FF6D00' },
{ name: 'DeepOrange', value: '#DD2C00' },
{ name: 'CatppuccinMochaRosewater', value: '#F5E0DC' },
{ name: 'CatppuccinMochaFlamingo', value: '#F2CDCD' },
{ name: 'CatppuccinMochaPink', value: '#F5C2E7' },
{ name: 'CatppuccinMochaMauve', value: '#CBA6F7' },
{ name: 'CatppuccinMochaRed', value: '#F38BA8' },
{ name: 'CatppuccinMochaMaroon', value: '#EBA0AC' },
{ name: 'CatppuccinMochaPeach', value: '#FAB387' },
{ name: 'CatppuccinMochaYellow', value: '#F9E2AF' },
{ name: 'CatppuccinMochaGreen', value: '#A6E3A1' },
{ name: 'CatppuccinMochaTeal', value: '#94E2D5' },
{ name: 'CatppuccinMochaSky', value: '#89DCEB' },
{ name: 'CatppuccinMochaSapphire', value: '#74C7EC' },
{ name: 'CatppuccinMochaBlue', value: '#89B4FA' },
{ name: 'CatppuccinMochaLavender', value: '#B4BEFE' },
{ name: 'DraculaCyan', value: '#8BE9FD' },
{ name: 'DraculaGreen', value: '#50FA7B' },
{ name: 'DraculaOrange', value: '#FFB86C' },
{ name: 'DraculaPink', value: '#FF79C6' },
{ name: 'DraculaPurple', value: '#BD93F9' },
{ name: 'DraculaRed', value: '#FF5555' },
{ name: 'DraculaYellow', value: '#F1FA8C' },
{ name: 'GruvboxRed', value: '#fb4934' },
{ name: 'GruvboxGreen', value: '#b8bb26' },
{ name: 'GruvboxYellow', value: '#fabd2f' },
{ name: 'GruvboxBlue', value: '#83a593' },
{ name: 'GruvboxPurple', value: '#d3869b' },
{ name: 'GruvboxAqua', value: '#8ec07c' },
{ name: 'GruvboxOrange', value: '#fe8019' },
{ name: 'SolarizedYellow', value: '#b58900' },
{ name: 'SolarizedOrange', value: '#cb4b16' },
{ name: 'SolarizedRed', value: '#dc322f' },
{ name: 'SolarizedMagenta', value: '#d33682' },
{ name: 'SolarizedViolet', value: '#6c71c4' },
{ name: 'SolarizedBlue', value: '#268bd2' },
{ name: 'SolarizedCyan', value: '#2aa198' },
{ name: 'SolarizedGreen', value: '#859900' },
]
export function getColorTranslations() {
return [
i18n.t('Settings.Theme Settings.Main Color Theme.Red'),
i18n.t('Settings.Theme Settings.Main Color Theme.Pink'),
i18n.t('Settings.Theme Settings.Main Color Theme.Purple'),
i18n.t('Settings.Theme Settings.Main Color Theme.Deep Purple'),
i18n.t('Settings.Theme Settings.Main Color Theme.Indigo'),
i18n.t('Settings.Theme Settings.Main Color Theme.Blue'),
i18n.t('Settings.Theme Settings.Main Color Theme.Light Blue'),
i18n.t('Settings.Theme Settings.Main Color Theme.Cyan'),
i18n.t('Settings.Theme Settings.Main Color Theme.Teal'),
i18n.t('Settings.Theme Settings.Main Color Theme.Green'),
i18n.t('Settings.Theme Settings.Main Color Theme.Light Green'),
i18n.t('Settings.Theme Settings.Main Color Theme.Lime'),
i18n.t('Settings.Theme Settings.Main Color Theme.Yellow'),
i18n.t('Settings.Theme Settings.Main Color Theme.Amber'),
i18n.t('Settings.Theme Settings.Main Color Theme.Orange'),
i18n.t('Settings.Theme Settings.Main Color Theme.Deep Orange'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Rosewater'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Flamingo'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Pink'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Mauve'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Red'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Maroon'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Peach'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Yellow'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Green'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Teal'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Sky'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Sapphire'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Blue'),
i18n.t('Settings.Theme Settings.Main Color Theme.Catppuccin Mocha Lavender'),
i18n.t('Settings.Theme Settings.Main Color Theme.Dracula Cyan'),
i18n.t('Settings.Theme Settings.Main Color Theme.Dracula Green'),
i18n.t('Settings.Theme Settings.Main Color Theme.Dracula Orange'),
i18n.t('Settings.Theme Settings.Main Color Theme.Dracula Pink'),
i18n.t('Settings.Theme Settings.Main Color Theme.Dracula Purple'),
i18n.t('Settings.Theme Settings.Main Color Theme.Dracula Red'),
i18n.t('Settings.Theme Settings.Main Color Theme.Dracula Yellow'),
i18n.t('Settings.Theme Settings.Main Color Theme.Gruvbox Red'),
i18n.t('Settings.Theme Settings.Main Color Theme.Gruvbox Green'),
i18n.t('Settings.Theme Settings.Main Color Theme.Gruvbox Yellow'),
i18n.t('Settings.Theme Settings.Main Color Theme.Gruvbox Blue'),
i18n.t('Settings.Theme Settings.Main Color Theme.Gruvbox Purple'),
i18n.t('Settings.Theme Settings.Main Color Theme.Gruvbox Aqua'),
i18n.t('Settings.Theme Settings.Main Color Theme.Gruvbox Orange'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Yellow'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Orange'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Red'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Magenta'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Violet'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Blue'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Cyan'),
i18n.t('Settings.Theme Settings.Main Color Theme.Solarized Green'),
]
}
export function getRandomColorClass() {
return 'main' + getRandomColor().name
}
export function getRandomColor() {
return randomArrayItem(colors)
}
export function calculateColorLuminance(colorValue) {
const cutHex = colorValue.substring(1, 7)
const colorValueR = parseInt(cutHex.substring(0, 2), 16)
const colorValueG = parseInt(cutHex.substring(2, 4), 16)
const colorValueB = parseInt(cutHex.substring(4, 6), 16)
const luminance = (0.299 * colorValueR + 0.587 * colorValueG + 0.114 * colorValueB) / 255
if (luminance > 0.5) {
return '#000000'
} else {
return '#FFFFFF'
}
}