42 行
		
	
	
	
		
			963 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			42 行
		
	
	
	
		
			963 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								// use closure to cache result (color is only read once)
							 | 
						||
| 
								 | 
							
								function _getBodyBackground() {
							 | 
						||
| 
								 | 
							
									var result = null;
							 | 
						||
| 
								 | 
							
									function inner() {
							 | 
						||
| 
								 | 
							
										if (result === null) {
							 | 
						||
| 
								 | 
							
											result = $('body').css( "background-color");
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return result;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									return inner;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								getBodyBackground = _getBodyBackground();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// use closure to cache result (check it once is enough)
							 | 
						||
| 
								 | 
							
								function _isDarkModeTheme() {
							 | 
						||
| 
								 | 
							
									var result = null;
							 | 
						||
| 
								 | 
							
									function inner() {
							 | 
						||
| 
								 | 
							
										if (result === null) {
							 | 
						||
| 
								 | 
							
											// TODO use better solution as soon as the themes know if they are dark or not
							 | 
						||
| 
								 | 
							
											// check if background color is white
							 | 
						||
| 
								 | 
							
											result = false;
							 | 
						||
| 
								 | 
							
											var background = getBodyBackground();
							 | 
						||
| 
								 | 
							
											if (background != ('rgb(255, 255, 255)')) {
							 | 
						||
| 
								 | 
							
												result = true;
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return result;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									return inner;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								isDarkModeTheme = _isDarkModeTheme();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function ifDarkModeThemeReturn(darkModeValue, notDarkModeValue) {
							 | 
						||
| 
								 | 
							
									if (isDarkModeTheme()) {
							 | 
						||
| 
								 | 
							
										return darkModeValue;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									if (!notDarkModeValue) {
							 | 
						||
| 
								 | 
							
										return null;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									return notDarkModeValue;
							 | 
						||
| 
								 | 
							
								}
							 |