..
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 | /* eslint-disable no-unused-vars */
enum Theme {
light = 'Light',
dark = 'Dark'
}
enum Pattern {
signal = 'Signal',
charlieBrown = 'Charlie Brown',
formalInvitation = 'Formal Invitation',
plus = 'Plus',
circuitBoard = 'Circuit Board',
overlappingHexagons = 'Overlapping Hexagons',
brickWall = 'Brick Wall',
floatingCogs = 'Floating Cogs',
diagonalStripes = 'Diagonal Stripes',
solid = 'Solid'
}
enum Font {
inter = 'Inter',
bitter = 'Bitter',
raleway = 'Raleway',
rokkitt = 'Rokkitt',
sourceCodePro = 'Source Code Pro',
koHo = 'KoHo',
jost = 'Jost'
}
export type RequiredConfigs = {
logo: string
font: Font
theme: Theme
pattern: Pattern
}
const OptionalConfigKeyStrings = {
owner: true,
name: true,
description: true,
language: true,
language2: true
}
const OptionalConfigKeyNumbers = {
stargazers: true,
forks: true,
issues: true,
pulls: true
}
export const RequiredConfigsKeys = {
logo: true,
font: true,
theme: true,
pattern: true
}
export const OptionalConfigsKeys = {
...OptionalConfigKeyStrings,
...OptionalConfigKeyNumbers
}
type OptionalConfigStringElement = {
[name in keyof typeof OptionalConfigKeyStrings]?: {
state: boolean
value: string
editable?: boolean
}
}
type OptionalConfigNumberElement = {
[name in keyof typeof OptionalConfigKeyNumbers]?: {
state: boolean
value: number
editable?: boolean
}
}
export type OptionalConfigs = OptionalConfigStringElement &
OptionalConfigNumberElement
type Configuration = RequiredConfigs & OptionalConfigs
export default Configuration
export { Theme, Pattern, Font }
|
|