Кнопка темы на сайте?
самый простой способ filter: invert(<значение>); 
Ну а вообще  тут много примеров
У тебя есть 2 цветовой схемы, лежащие в разных файлах. 
white.css
black.css
main.css

По дефолту подгружается white.css
Юзер жмет кнопку, js устанавливает в куки или локасторэдж флажек о том что нужно подгружать black.css и или на лету или при перезагрузке подгружается другая тема (через link в голове разметки)