Had a lot of fun with this one! I made a challenge for myself to add the functionality to do operations with negative numbers.
examples: -2+1
; 1+-2
; -2+-2
; -2--2
;
After the first version of calculator (that is commented out), I felt that it was too chaotic and the synthantic sugar of a javascript class will help with having calculator properties and functions together. I found this article and updated the code according to my needs.
Another challenge was the theme toggler. Initially, I had three radio buttons for each theme and they looked good, but it seems from the designs that this is supposed to be a toggler that goes to the next theme when clicked and I wanted to add a small animation for that. So I kept the radio buttons for accessibility purposes, but hid them. Instead, I used a toggler button gave it a child with position "absolute" that changes "left" property depending on the theme.
Feedback is greatly appreciated :)