1+ /*
2+ ************
3+ ** Consts **
4+ ************
5+ */
6+
7+ // theme modals img
8+ const defaultOptionSticker = document . getElementById ( 'defaultOptionSticker' ) ;
9+ const halloweenOptionSticker = document . getElementById ( 'halloweenOptionSticker' ) ;
10+ const christmasOptionSticker = document . getElementById ( 'christmasOptionSticker' ) ;
11+ const easterOptionSticker = document . getElementById ( 'easterOptionSticker' ) ;
12+
13+ // theme modals ratios
14+ const defaultOptionRadio = document . getElementById ( 'defaultOptionRadio' ) ;
15+ const halloweenOptionRadio = document . getElementById ( 'halloweenOptionRadio' ) ;
16+ const christmasOptionRadio = document . getElementById ( 'christmasOptionRadio' ) ;
17+ const easterOptionRadio = document . getElementById ( 'easterOptionRadio' ) ;
18+
19+ // positive theme modals stickers
20+ const positiveDefaultTheme = './assets/stickers/default/in-love.png' ;
21+ const positiveHalloweenTheme = './assets/stickers/halloween/love.png' ;
22+ const positiveChristmasTheme = './assets/stickers/christmas/love.png' ;
23+ const positiveEasterTheme = './assets/stickers/easter/love.png' ;
24+
25+ // negative theme modals stickers
26+ const negativeDefaultTheme = './assets/stickers/default/sick.png' ;
27+ const negativeHalloweenTheme = './assets/stickers/halloween/sad.png' ;
28+ const negativeChristmasTheme = './assets/stickers/christmas/sad.png' ;
29+ const negativeEasterTheme = './assets/stickers/easter/sad.png' ;
30+
31+ // img tags
32+ const aboutMeSticker = document . getElementById ( 'aboutMeSticker' ) ;
33+ const skillsSticker = document . getElementById ( 'skillsSticker' ) ;
34+ const projectsSticker = document . getElementById ( 'projectsSticker' ) ;
35+ const reachMeSticker = document . getElementById ( 'reachMeSticker' ) ;
36+
37+ // default theme stickers
38+ const aboutMeDefaultTheme = './assets/stickers/default/hi.png' ;
39+ const skillsDefaultTheme = './assets/stickers/default/cool.png' ;
40+ const projectsDefaultTheme = './assets/stickers/default/amazed.png' ;
41+ const reachMeDefaultTheme = './assets/stickers/default/excited.png' ;
42+
43+ // halloween theme stickers
44+ const aboutMeHalloweenTheme = './assets/stickers/halloween/hi.png' ;
45+ const skillsHalloweenTheme = './assets/stickers/halloween/happy (1).png' ;
46+ const projectsHalloweenTheme = './assets/stickers/halloween/run.png' ;
47+ const reachMeHalloweenTheme = './assets/stickers/halloween/relaxed.png' ;
48+
49+ // christmas theme stickers
50+ const aboutMeChristmasTheme = './assets/stickers/christmas/hi.png' ;
51+ const skillsChristmasTheme = './assets/stickers/christmas/hooray.png' ;
52+ const projectsChristmasTheme = './assets/stickers/christmas/announcement.png' ;
53+ const reachMeChristmasTheme = './assets/stickers/christmas/elf.png' ;
54+
55+ // easter theme stickers
56+ const aboutMeEasterTheme = './assets/stickers/easter/hi.png' ;
57+ const skillsEasterTheme = './assets/stickers/easter/run.png' ;
58+ const projectsEasterTheme = './assets/stickers/easter/proud.png' ;
59+ const reachMeEasterTheme = './assets/stickers/easter/relaxed.png' ;
60+
61+ /*
62+ **************
63+ ** Function **
64+ **************
65+ */
66+ function changeTheme ( ) {
67+ const actualTheme = localStorage . getItem ( 'actualTheme' ) ;
68+
69+ // Halloween Theme
70+ if ( actualTheme === '1' ) {
71+
72+ // page stickers
73+ aboutMeSticker . src = aboutMeHalloweenTheme ;
74+ skillsSticker . src = skillsHalloweenTheme ;
75+ projectsSticker . src = projectsHalloweenTheme ;
76+ reachMeSticker . src = reachMeHalloweenTheme ;
77+
78+ // themes modal stickers
79+ defaultOptionSticker . src = negativeDefaultTheme ;
80+ halloweenOptionSticker . src = positiveHalloweenTheme ;
81+ christmasOptionSticker . src = negativeChristmasTheme ;
82+ easterOptionSticker . src = negativeEasterTheme ;
83+
84+ // themes modal radios
85+ defaultOptionRadio . checked = false ;
86+ halloweenOptionRadio . checked = true ;
87+ christmasOptionRadio . checked = false ;
88+ easterOptionRadio . checked = false ;
89+ }
90+
91+ // Christmas Theme
92+ else if ( actualTheme === '2' ) {
93+
94+ // page stickers
95+ aboutMeSticker . src = aboutMeChristmasTheme ;
96+ skillsSticker . src = skillsChristmasTheme ;
97+ projectsSticker . src = projectsChristmasTheme ;
98+ reachMeSticker . src = reachMeChristmasTheme ;
99+
100+ // themes modal stickers
101+ defaultOptionSticker . src = negativeDefaultTheme ;
102+ halloweenOptionSticker . src = negativeHalloweenTheme ;
103+ christmasOptionSticker . src = positiveChristmasTheme ;
104+ easterOptionSticker . src = negativeEasterTheme ;
105+
106+ // themes modal radios
107+ defaultOptionRadio . checked = false ;
108+ halloweenOptionRadio . checked = false ;
109+ christmasOptionRadio . checked = true ;
110+ easterOptionRadio . checked = false ;
111+ }
112+
113+ // Easter Theme
114+ else if ( actualTheme === '3' ) {
115+
116+ // page stickers
117+ aboutMeSticker . src = aboutMeEasterTheme ;
118+ skillsSticker . src = skillsEasterTheme ;
119+ projectsSticker . src = projectsEasterTheme ;
120+ reachMeSticker . src = reachMeEasterTheme ;
121+
122+ // themes modal stickers
123+ defaultOptionSticker . src = negativeDefaultTheme ;
124+ halloweenOptionSticker . src = negativeHalloweenTheme ;
125+ christmasOptionSticker . src = negativeChristmasTheme ;
126+ easterOptionSticker . src = positiveEasterTheme ;
127+
128+ // themes modal radios
129+ defaultOptionRadio . checked = false ;
130+ halloweenOptionRadio . checked = false ;
131+ christmasOptionRadio . checked = false ;
132+ easterOptionRadio . checked = true ;
133+ }
134+
135+ // Default Theme
136+ else {
137+
138+ // page stickers
139+ aboutMeSticker . src = aboutMeDefaultTheme ;
140+ skillsSticker . src = skillsDefaultTheme ;
141+ projectsSticker . src = projectsDefaultTheme ;
142+ reachMeSticker . src = reachMeDefaultTheme ;
143+
144+ // themes modal stickers
145+ defaultOptionSticker . src = positiveDefaultTheme ;
146+ halloweenOptionSticker . src = negativeHalloweenTheme ;
147+ christmasOptionSticker . src = negativeChristmasTheme ;
148+ easterOptionSticker . src = negativeEasterTheme ;
149+
150+ // themes modal radios
151+ defaultOptionRadio . checked = true ;
152+ halloweenOptionRadio . checked = false ;
153+ christmasOptionRadio . checked = false ;
154+ easterOptionRadio . checked = false ;
155+ }
156+ }
157+
158+ /*
159+ *****************
160+ ** Window Load **
161+ *****************
162+ */
163+ window . addEventListener ( 'load' , changeTheme ( ) ) ;
164+
165+ /*
166+ **************************
167+ ** Input Radio Checking **
168+ **************************
169+ */
170+ defaultOptionRadio . addEventListener ( 'change' , function ( ) {
171+ localStorage . setItem ( 'actualTheme' , '0' ) ;
172+ changeTheme ( ) ;
173+ } ) ;
174+
175+
176+ halloweenOptionRadio . addEventListener ( 'change' , function ( ) {
177+ localStorage . setItem ( 'actualTheme' , '1' ) ;
178+ changeTheme ( ) ;
179+ } ) ;
180+
181+ christmasOptionRadio . addEventListener ( 'change' , function ( ) {
182+ localStorage . setItem ( 'actualTheme' , '2' ) ;
183+ changeTheme ( ) ;
184+ } ) ;
185+
186+ easterOptionRadio . addEventListener ( 'change' , function ( ) {
187+ localStorage . setItem ( 'actualTheme' , '3' ) ;
188+ changeTheme ( ) ;
189+ } ) ;
0 commit comments