Added validation to make sure theme entries are colours (#3107)

* Added validation to make sure theme entries are colours

* Added serverside validation for theme
Этот коммит содержится в:
Harrison Healey
2016-05-31 08:15:33 -04:00
коммит произвёл Joram Wilander
родитель 64cce071a9
Коммит c5deb333db
4 изменённых файлов: 38 добавлений и 13 удалений

Просмотреть файл

@@ -556,6 +556,10 @@ export function toTitleCase(str) {
return str.replace(/\w\S*/g, doTitleCase);
}
export function isHexColor(value) {
return value && (/^#[0-9a-f]{3}([0-9a-f]{3})?$/i).test(value);
}
export function applyTheme(theme) {
if (theme.sidebarBg) {
changeCss('.app__body .sidebar--left, .app__body .sidebar--left .sidebar__divider .sidebar__divider__text, .app__body .modal .settings-modal .settings-table .settings-links, .app__body .sidebar--menu', 'background:' + theme.sidebarBg, 1);
@@ -782,18 +786,6 @@ export function changeCss(className, classValue, classRepeat) {
classContainer.html('<style>' + className + ' {' + classValue + '}</style>');
}
export function rgb2hex(rgbIn) {
if (/^#[0-9A-F]{6}$/i.test(rgbIn)) {
return rgbIn;
}
var rgb = rgbIn.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
function hex(x) {
return ('0' + parseInt(x, 10).toString(16)).slice(-2);
}
return '#' + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
export function updateCodeTheme(userTheme) {
let cssPath = '';
Constants.THEME_ELEMENTS.forEach((element) => {