Merge branch 'development-GUI' of https://codeberg.org/buzzcode2007/ShopAI into development-GUI
This commit is contained in:
		
						commit
						c39efbd6d9
					
				
					 10 changed files with 283 additions and 102 deletions
				
			
		|  | @ -1,12 +1,15 @@ | ||||||
| <html> | <html> | ||||||
|      <head> |      <head> | ||||||
|           <script src="../../styles/external/materialize/js/materialize.js"></script>  |           <script src="../../styles/external/materialize/js/materialize.js"></script>  | ||||||
|           <script src="../../scripts/pages/popup.js" type="module"></script>  |           <script src="../../scripts/pages/error.js" type="module"></script>  | ||||||
|           <link href="../styles/popup.css" rel="stylesheet" type="text/css" /> |           <link href="../styles/popup.css" rel="stylesheet" type="text/css" /> | ||||||
|      </head> |      </head> | ||||||
|      <body id="error"> |      <body id="error"> | ||||||
|           <h1>:(</h1> |           <h1 data-icon="alert-circle"></h1> | ||||||
|           <label class="flow-text" data-active-result="error_text"></label> |           <label class="flow-text" data-error="name"></label> | ||||||
|           <button class="btn" data-action="analysis,reload" for="refresh" role="primary"></button> |           <label for="error_msg_steps"></label> | ||||||
|  |           <label data-error="message"></label> | ||||||
|  |           <label><code data-error="stack"></code></label> | ||||||
|  |           <button class="btn" data-action="refresh" for="refresh" role="primary"></button> | ||||||
|      </body> |      </body> | ||||||
| </html> | </html> | ||||||
|  | @ -86,9 +86,9 @@ export default class windowman { | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			function icons() { | 			function icons() { | ||||||
| 				let target_elements = document.querySelectorAll(`[data-icon]`); | 				let TARGET_ELEMENTS = document.querySelectorAll(`[data-icon]`); | ||||||
| 				 | 				 | ||||||
| 				target_elements.forEach((element) => { | 				(TARGET_ELEMENTS).forEach((element) => { | ||||||
| 					// Get the content before removing it.
 | 					// Get the content before removing it.
 | ||||||
| 					let element_data = {}; | 					let element_data = {}; | ||||||
| 
 | 
 | ||||||
|  | @ -122,6 +122,8 @@ export default class windowman { | ||||||
| 					iconify(); | 					iconify(); | ||||||
| 					clean(); | 					clean(); | ||||||
| 				}); | 				}); | ||||||
|  | 
 | ||||||
|  | 				return TARGET_ELEMENTS; | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			function text() { | 			function text() { | ||||||
|  | @ -151,9 +153,8 @@ export default class windowman { | ||||||
| 					} | 					} | ||||||
| 				}); | 				}); | ||||||
| 
 | 
 | ||||||
| 				delete text_elements[`content`]; |  | ||||||
| 				Object.keys(text_elements).forEach((key) => { | 				Object.keys(text_elements).forEach((key) => { | ||||||
| 					if (text_elements[key]) { | 					if (text_elements[key] && !key.includes(`content`)) { | ||||||
| 						text_elements[key].forEach((text_element) => { | 						text_elements[key].forEach((text_element) => { | ||||||
| 							let text_inserted = texts.localized( | 							let text_inserted = texts.localized( | ||||||
| 								text_element.getAttribute(key.concat(`-for`)), | 								text_element.getAttribute(key.concat(`-for`)), | ||||||
|  | @ -175,11 +176,16 @@ export default class windowman { | ||||||
| 						}); | 						}); | ||||||
| 					} | 					} | ||||||
| 				}); | 				}); | ||||||
| 			} |  | ||||||
| 
 | 
 | ||||||
|  | 				return text_elements; | ||||||
|  | 			}; | ||||||
|  | 
 | ||||||
|  | 			let ELEMENTS = {}; | ||||||
| 			elements(); | 			elements(); | ||||||
| 			text(); | 			ELEMENTS[`text`] = text(); | ||||||
| 			icons(); | 			ELEMENTS[`icons`] = icons(); | ||||||
|  | 
 | ||||||
|  | 			return (ELEMENTS); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// Adds events to the window.
 | 		// Adds events to the window.
 | ||||||
|  |  | ||||||
							
								
								
									
										7
									
								
								scripts/external/processor.js
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								scripts/external/processor.js
									
										
									
									
										vendored
									
									
								
							|  | @ -32,7 +32,12 @@ export default class processor { | ||||||
| 			await this.product.analyze(); | 			await this.product.analyze(); | ||||||
| 		} catch(err) { | 		} catch(err) { | ||||||
| 			logging.error(err.name, err.message, err.stack, false); | 			logging.error(err.name, err.message, err.stack, false); | ||||||
| 			this.product.status[`error`] = err; | 
 | ||||||
|  | 			// Convert the error to an object. 
 | ||||||
|  | 			this.product.status[`error`] = {}; | ||||||
|  | 			[`name`, `message`, `stack`].forEach((KEY) => { | ||||||
|  | 				this.product.status.error[KEY] = String(err[KEY]); | ||||||
|  | 			}) | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		// Indicate that the process is done. 
 | 		// Indicate that the process is done. 
 | ||||||
|  |  | ||||||
							
								
								
									
										122
									
								
								scripts/pages/error.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								scripts/pages/error.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,122 @@ | ||||||
|  | /* | ||||||
|  | Display the error screen details.  | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | import Page from "/scripts/pages/page.js"; | ||||||
|  | import Tabs from "/scripts/GUI/tabs.js"; | ||||||
|  | 
 | ||||||
|  | import {global, observe} from "/scripts/secretariat.js"; | ||||||
|  | import pointer from "/scripts/data/pointer.js"; | ||||||
|  | 
 | ||||||
|  | import logging from "/scripts/logging.js"; | ||||||
|  | 
 | ||||||
|  | class Page_Error extends Page { | ||||||
|  | 	constructor() { | ||||||
|  | 		super(); | ||||||
|  | 		this.content(); | ||||||
|  | 		this.background(); | ||||||
|  | 		this.events(); | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	async background() { | ||||||
|  | 		// Wait until a change in the session storage.
 | ||||||
|  | 		observe(async (changes) => { | ||||||
|  | 			await this.update(); | ||||||
|  | 			this.fill(); | ||||||
|  | 		}); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/* | ||||||
|  | 	Update the data.  | ||||||
|  | 	*/ | ||||||
|  | 	async update() { | ||||||
|  | 		// Set the reference website when overriding or unset. 
 | ||||||
|  | 		if (!this[`ref`]) {this[`ref`] = await pointer.read(`URL`)}; | ||||||
|  | 
 | ||||||
|  | 		// Get all the data to be used here. 
 | ||||||
|  | 		let STORAGE_DATA = await global.read([`sites`, this[`ref`], `status`], -1) | ||||||
|  | 
 | ||||||
|  | 		// Update all other data. 
 | ||||||
|  | 		this[`status`] = ((STORAGE_DATA != null && (typeof STORAGE_DATA).includes(`obj`)) ? (Object.keys(STORAGE_DATA).length) : false) | ||||||
|  | 			? STORAGE_DATA | ||||||
|  | 			// Accomodate data erasure. 
 | ||||||
|  | 			: ((this[`status`]) | ||||||
|  | 				? this[`status`] | ||||||
|  | 				: {}); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/* | ||||||
|  | 	Extract the contents of the page.  | ||||||
|  | 	*/ | ||||||
|  | 	content () { | ||||||
|  | 		this[`elements`] = (this[`elements`]) ? this[`elements`] : {}; | ||||||
|  | 
 | ||||||
|  | 		const error_display = () => { | ||||||
|  | 			this[`elements`][`error display`] = {}; | ||||||
|  | 			let ERROR_CONTENTS = document.querySelectorAll(`[data-error]`); | ||||||
|  | 	 | ||||||
|  | 			ERROR_CONTENTS.forEach((ELEMENT) => { | ||||||
|  | 				let PROPERTY = ELEMENT.getAttribute(`data-error`).trim(); | ||||||
|  | 				this[`elements`][`error display`][PROPERTY] = ELEMENT; | ||||||
|  | 
 | ||||||
|  | 				// Remove properties used to construct since it is already saved. 
 | ||||||
|  | 				ELEMENT.removeAttribute(`data-error`); | ||||||
|  | 			}); | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
|  | 		error_display(); | ||||||
|  | 		this.fill(); | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	/* | ||||||
|  | 	Fill in the content of the page.  | ||||||
|  | 	*/ | ||||||
|  | 	fill () { | ||||||
|  | 		this.update(); | ||||||
|  | 
 | ||||||
|  | 		console.log(this); | ||||||
|  | 
 | ||||||
|  | 		(this[`elements`][`error display`] && this[`status`][`error`]) | ||||||
|  | 			? (Object.keys(this[`elements`][`error display`]).forEach((KEY) => { | ||||||
|  | 				this[`elements`][`error display`][KEY].innerText = String(this[`status`][`error`][KEY]) | ||||||
|  | 			})) | ||||||
|  | 			: false; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/* | ||||||
|  | 	Add event listeners to the page.  | ||||||
|  | 	*/ | ||||||
|  | 	events () { | ||||||
|  | 		this[`elements`] = (this[`elements`]) ? this[`elements`] : {}; | ||||||
|  | 		this[`elements`][`button`] = {}; | ||||||
|  | 
 | ||||||
|  | 		document.querySelectorAll(`[data-action]`).forEach((ELEMENT) => { | ||||||
|  | 			let ACTION = ELEMENT.getAttribute(`data-action`); | ||||||
|  | 			this[`elements`][`button`][ACTION] = ELEMENT; | ||||||
|  | 
 | ||||||
|  | 			// Remove the data-action attribute.
 | ||||||
|  | 			ELEMENT.removeAttribute(`data-action`); | ||||||
|  | 		}) | ||||||
|  | 
 | ||||||
|  | 		// Add an event listener to the refresh button. 
 | ||||||
|  | 		this[`elements`][`button`][`refresh`].addEventListener(`click`, () => { | ||||||
|  | 			this.send(); | ||||||
|  | 		}); | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	/* | ||||||
|  | 	Send a request to the content script to scrape the page. | ||||||
|  | 	*/ | ||||||
|  | 	send() { | ||||||
|  | 		try { | ||||||
|  | 			// Send a message to the content script. 
 | ||||||
|  | 			Tabs.query(null, 0).then((TAB) => { | ||||||
|  | 				chrome.tabs.sendMessage(TAB.id, {"refresh": true}); | ||||||
|  | 			}); | ||||||
|  | 		} catch(err) { | ||||||
|  | 			logging.error(err.name, err.message, err.stack); | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | new Page_Error() | ||||||
|  | @ -13,9 +13,9 @@ import logging from "/scripts/logging.js"; | ||||||
| class Page_Popup extends Page { | class Page_Popup extends Page { | ||||||
| 	constructor() { | 	constructor() { | ||||||
| 		super(); | 		super(); | ||||||
| 		(this.events) ? this.events() : false; |  | ||||||
| 		this.content(); | 		this.content(); | ||||||
| 		this.background(); | 		this.background(); | ||||||
|  | 		this.events(); | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	async background() { | 	async background() { | ||||||
|  | @ -83,25 +83,21 @@ class Page_Popup extends Page { | ||||||
| 				: `loading`)]; | 				: `loading`)]; | ||||||
| 
 | 
 | ||||||
| 			// Replace the iframe src with the new page.
 | 			// Replace the iframe src with the new page.
 | ||||||
| 			this.elements[`frame`].forEach((frame) => { | 			this.elements[`frame`].src = PAGE; | ||||||
| 				frame.src = PAGE; |  | ||||||
| 			}) |  | ||||||
| 
 | 
 | ||||||
| 			// The results page has its own container. 
 | 			// The results page has its own container. 
 | ||||||
| 			this.elements[`container`].forEach((CONTAINER) => { | 			this.elements[`container`].classList[(PAGE.includes(`results`)) ? `remove` : `add`](`container`); | ||||||
| 				CONTAINER.classList[(PAGE.includes(`results`)) ? `remove` : `add`](`container`); |  | ||||||
| 			}); |  | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| 	 | 	 | ||||||
| 	async content() { | 	async content() { | ||||||
| 		this.elements = {}; | 		this.elements = {}; | ||||||
| 		this.elements[`container`] = document.querySelectorAll(`main`); | 		this.elements[`container`] = document.querySelector(`main`); | ||||||
| 		this.elements[`frame`] = document.querySelectorAll(`main > iframe.viewer`); | 		this.elements[`frame`] = document.querySelector(`main > iframe.viewer`); | ||||||
| 
 | 		this.elements[`nav`] = document.querySelector(`nav`); | ||||||
| 		 | 		 | ||||||
| 		// Check if the frame is available.
 | 		// Check if the frame is available.
 | ||||||
| 		if (this.elements[`frame`].length) { | 		if (this.elements[`frame`]) { | ||||||
| 			await this.switch(); | 			await this.switch(); | ||||||
| 			this.background(); | 			this.background(); | ||||||
| 		} else { | 		} else { | ||||||
|  | @ -119,18 +115,33 @@ class Page_Popup extends Page { | ||||||
| 			logging.error(err.name, err.message, err.stack); | 			logging.error(err.name, err.message, err.stack); | ||||||
| 			throw (err); | 			throw (err); | ||||||
| 		}; | 		}; | ||||||
| 	} | 	}; | ||||||
| 
 | 
 | ||||||
| 	events() { | 	events() { | ||||||
| 		(document.querySelector(`[data-action="open,settings"]`)) ? document.querySelector(`[data-action="open,settings"]`).addEventListener("click", () => { | 		this[`elements`] = (this[`elements`]) ? this[`elements`] : {}; | ||||||
|  | 		this[`elements`][`button`] = {}; | ||||||
|  | 
 | ||||||
|  | 		document.querySelectorAll(`[data-action]`).forEach((ELEMENT) => { | ||||||
|  | 			let ACTION = ELEMENT.getAttribute(`data-action`).trim(); | ||||||
|  | 			this[`elements`][`button`][ACTION] = ELEMENT; | ||||||
|  | 
 | ||||||
|  | 			// Remove the data-action attribute.
 | ||||||
|  | 			ELEMENT.removeAttribute(`data-action`); | ||||||
|  | 		}); | ||||||
|  | 
 | ||||||
|  | 		console.log(this[`elements`]); | ||||||
|  | 
 | ||||||
|  | 		this[`elements`][`button`][`open,settings`].addEventListener("click", () => { | ||||||
| 			chrome.runtime.openOptionsPage(); | 			chrome.runtime.openOptionsPage(); | ||||||
| 		}) : false; | 		}); | ||||||
| 		(document.querySelector(`[data-action="open,help"]`)) ? document.querySelector(`[data-action="open,help"]`).addEventListener("click", () => { | 
 | ||||||
|  | 		this[`elements`][`button`][`open,help`].addEventListener("click", () => { | ||||||
| 			new Window(`help.htm`); | 			new Window(`help.htm`); | ||||||
| 		}) : false; | 		}); | ||||||
| 		(document.querySelector(`[data-action="analysis,reload"]`)) ? document.querySelector(`[data-action="analysis,reload"]`).addEventListener("click", () => { | 
 | ||||||
|  | 		this[`elements`][`button`][`analysis,reload`].addEventListener("click", () => { | ||||||
| 			this.send(); | 			this.send(); | ||||||
| 		}) : false; | 		}); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -35,13 +35,15 @@ class Page_Results extends Page { | ||||||
|           // Set the reference website when overriding or unset. 
 |           // Set the reference website when overriding or unset. 
 | ||||||
| 		if (override || !this[`ref`]) {this[`ref`] = await global.read([`last`])}; | 		if (override || !this[`ref`]) {this[`ref`] = await global.read([`last`])}; | ||||||
|            |            | ||||||
|  |           if (this[`ref`]) { | ||||||
|                // Get all the data. 
 |                // Get all the data. 
 | ||||||
|                let DATA = { |                let DATA = { | ||||||
|                     "data": await global.read([`sites`, this[`ref`]]) |                     "data": await global.read([`sites`, this[`ref`]]) | ||||||
|                } |                } | ||||||
|       |       | ||||||
|                // Set the data. 
 |                // Set the data. 
 | ||||||
|           this[`data`] = ((DATA[`data`] != null) && !((typeof DATA[`data`]).includes(`undef`))) ? (DATA[`data`]) : (this[`data`] ? this[`data`] : {}); |                this[`data`] = (DATA[`data`] && (typeof DATA[`data`]).includes(`obj`)) ? DATA[`data`] : (this[`data`] ? this[`data`] : {}); | ||||||
|  |           } | ||||||
|      } |      } | ||||||
| 
 | 
 | ||||||
|      async content() { |      async content() { | ||||||
|  | @ -78,7 +80,8 @@ class Page_Results extends Page { | ||||||
|      Populate the contents. |      Populate the contents. | ||||||
|      */ |      */ | ||||||
|      async fill() { |      async fill() { | ||||||
|           (this.elements && !((typeof this.elements).includes(`undef`))) |           if (this.data) { | ||||||
|  |                (this.elements) | ||||||
|                     ? (Object.keys(this.elements)).forEach(async (SOURCE) => { |                     ? (Object.keys(this.elements)).forEach(async (SOURCE) => { | ||||||
|                          if (SOURCE.indexOf(`*`) < SOURCE.length - 1) { |                          if (SOURCE.indexOf(`*`) < SOURCE.length - 1) { | ||||||
|                               let DATA = (nested.dictionary.get(this[`data`][`analysis`], SOURCE)); |                               let DATA = (nested.dictionary.get(this[`data`][`analysis`], SOURCE)); | ||||||
|  | @ -100,7 +103,8 @@ class Page_Results extends Page { | ||||||
|                                    "body": "p" |                                    "body": "p" | ||||||
|                               }; |                               }; | ||||||
|       |       | ||||||
|                          (DATA) ? (Object.keys(DATA)).forEach((ITEM) => { |                               (DATA)  | ||||||
|  |                                    ? (Object.keys(DATA)).forEach((ITEM) => { | ||||||
|                                         let ELEMENTS = {}; |                                         let ELEMENTS = {}; | ||||||
|       |       | ||||||
|                                         // Create the elements. 
 |                                         // Create the elements. 
 | ||||||
|  | @ -124,13 +128,15 @@ class Page_Results extends Page { | ||||||
|                                         }); |                                         }); | ||||||
|                                         ELEMENTS[`container`].appendChild(ELEMENTS[`content`]); |                                         ELEMENTS[`container`].appendChild(ELEMENTS[`content`]); | ||||||
|                                         this.elements[SOURCE].appendChild(ELEMENTS[`container`]); |                                         this.elements[SOURCE].appendChild(ELEMENTS[`container`]); | ||||||
|                          }) : false; |                                    }) | ||||||
|  |                                    : false | ||||||
|                          } |                          } | ||||||
|                     }) |                     }) | ||||||
|                     : false; |                     : false; | ||||||
|                 |                 | ||||||
|                // Set the color. 
 |                // Set the color. 
 | ||||||
|                (nested.dictionary.get(this[`data`][`analysis`], [`Rating`, `Trust`]) && document.querySelector(`summary`)) ? document.querySelector(`summary`).setAttribute(`result`, (nested.dictionary.get(this[`data`][`analysis`], [`Rating`, `Trust`]))) : false; |                (nested.dictionary.get(this[`data`][`analysis`], [`Rating`, `Trust`]) && document.querySelector(`summary`)) ? document.querySelector(`summary`).setAttribute(`result`, (nested.dictionary.get(this[`data`][`analysis`], [`Rating`, `Trust`]))) : false; | ||||||
|  |           } | ||||||
| 
 | 
 | ||||||
|           // Display the results in the console. 
 |           // Display the results in the console. 
 | ||||||
|           console.log(this[`data`][`analysis`]) |           console.log(this[`data`][`analysis`]) | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| :root { | :root { | ||||||
| 	--surface-color: rgba(252, 162, 133) !important; | 	--surface-color: rgba(255, 134, 57, .1) !important; | ||||||
| 
 | 
 | ||||||
| 	--font-color-main: rgba(0, 0, 0) !important; | 	--font-color-main: rgba(0, 0, 0) !important; | ||||||
| 	--font-color-medium: rgba(25, 25, 25) !important; | 	--font-color-medium: rgba(25, 25, 25) !important; | ||||||
|  | @ -12,14 +12,39 @@ | ||||||
| 	--primary-color-numeric: 255, 134, 57 !important; | 	--primary-color-numeric: 255, 134, 57 !important; | ||||||
| 	--primary-color-raised-hover-solid: rgba(252, 162, 133) !important; | 	--primary-color-raised-hover-solid: rgba(252, 162, 133) !important; | ||||||
| 	--primary-color-raised-focus-solid: rgba(221, 106, 59) !important; | 	--primary-color-raised-focus-solid: rgba(221, 106, 59) !important; | ||||||
|  | 	--primary-color-gradient: linear-gradient( | ||||||
|  | 		43deg, | ||||||
|  | 		var(--primary-color-dark) 0%, | ||||||
|  | 		var(--primary-color) 62%, | ||||||
|  | 		var(--primary-color-raised-hover-solid) 100% | ||||||
|  | 	) !important; | ||||||
| 
 | 
 | ||||||
|  | 	--background-color-disabled: rgba(125, 125, 125) !important; | ||||||
|  | 	--background-color-level-4dp: rgba(229, 229, 229) !important; | ||||||
| 	--background-color-level-16dp-solid: rgba(255, 238, 235) !important; | 	--background-color-level-16dp-solid: rgba(255, 238, 235) !important; | ||||||
| 
 | 
 | ||||||
|  | 	--background-color-card: rgba(242, 242, 242) !important; | ||||||
|  | 	--background-color-slight-emphasis: rgba(252, 162, 133) !important; | ||||||
|  | 
 | ||||||
| 	--secondary-color: rgba(221, 106, 59, 1) !important; | 	--secondary-color: rgba(221, 106, 59, 1) !important; | ||||||
| 	--secondary-color-hover-solid: rgba(252, 162, 133) !important; | 	--secondary-color-hover-solid: rgba(252, 162, 133) !important; | ||||||
| 	--secondary-color-focus-solid: rgba(221, 106, 59) !important; | 	--secondary-color-focus-solid: rgba(221, 106, 59) !important; | ||||||
| 
 | 
 | ||||||
| 	--secondary-container-color: rgba(252, 162, 133) !important; | 	--secondary-container-color: rgba(252, 162, 133) !important; | ||||||
|  | 	--secondary-color-lighter: rgba(221, 106, 59) !important; | ||||||
|  | 	--secondary-color: rgba(190, 80, 1) !important; | ||||||
|  | 	--secondary-color-dark: rgba(159, 55, 0) !important; | ||||||
|  | 	--secondary-color-hover-solid: rgba(252, 162, 133) !important; | ||||||
|  | 	--secondary-color-focus-solid: rgba(159, 55, 0) !important; | ||||||
|  | 	--font-on-secondary-container-color: rgba(255, 255, 255) !important; | ||||||
|  | 
 | ||||||
|  | 	--hover-color: rgba(255, 255, 255, 0.3) !important; | ||||||
|  | 	--focus-color: rgba(255, 255, 255, 0.3) !important; | ||||||
|  | 	--focus-color-solid: rgb(76.5, 76.5, 76.5) !important; | ||||||
|  | 	--active-color: rgba(255, 255, 255, 0.3) !important; | ||||||
|  | 
 | ||||||
|  | 	--separator-color: rgba(178,178,178) !important; | ||||||
|  | 	--error-color: #cf6679 !important; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media (prefers-color-scheme: dark) { | @media (prefers-color-scheme: dark) { | ||||||
|  |  | ||||||
|  | @ -1,13 +1,21 @@ | ||||||
| :root { | :root { | ||||||
| 	--color-results_bad_dark: #AF3119; | 	--color-results_bad_dark: #AF3119; | ||||||
| 	--color-results_bad_light: #EC6342; | 	--color-results_bad_light: #EC6342; | ||||||
|      --color-results_bad_gradient: linear-gradient(43deg, var(--color-results_bad_dark) 0%, var(--color-results_bad_light) 100%); |      --color-results_bad_gradient: linear-gradient(43deg, var(--color-results_bad_dark) 100%, var(--color-results_bad_light) 0%); | ||||||
| 
 | 
 | ||||||
|      --color-results_ok_dark: #E8A87C; |      --color-results_ok_dark: rgba(221, 106, 59); | ||||||
|      --color-results_ok_light: #F6C7A1; |      --color-results_ok_light: rgba(255, 134, 57); | ||||||
|      --color-results_ok_gradient: linear-gradient(43deg, var(--color-results_ok_dark) 0%, var(--color-results_ok_light) 100%); |      --color-results_ok_gradient: linear-gradient(43deg, var(--color-results_ok_dark) 100%, var(--color-results_ok_light) 0%); | ||||||
| 
 | 
 | ||||||
| 	--color-results_good_dark: #487858; | 	--color-results_good_dark: #487858; | ||||||
| 	--color-results_good_light: #5BBF4B; | 	--color-results_good_light: #5BBF4B; | ||||||
|      --color-results_good_gradient: linear-gradient(43deg, var(--color-results_good_dark) 0%, var(--color-results_good_light) 100%); |      --color-results_good_gradient: linear-gradient(43deg, var(--color-results_good_dark) 100%, var(--color-results_good_light) 0%); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (prefers-color-scheme: dark) { | ||||||
|  |      :root { | ||||||
|  |           --color-results_bad_gradient: linear-gradient(43deg, var(--color-results_bad_dark) 0%, var(--color-results_bad_light) 100%); | ||||||
|  |           --color-results_ok_gradient: linear-gradient(43deg, var(--color-results_ok_dark) 0%, var(--color-results_ok_light) 100%); | ||||||
|  |           --color-results_good_gradient: linear-gradient(43deg, var(--color-results_good_dark) 0%, var(--color-results_good_light) 100%); | ||||||
|  |      } | ||||||
| } | } | ||||||
|  | @ -89,7 +89,6 @@ iframe.viewer { | ||||||
| 
 | 
 | ||||||
| body[role="window"] { | body[role="window"] { | ||||||
| 	width: 300pt; | 	width: 300pt; | ||||||
| 	height: 300pt; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| *:has(summary + details) summary:not(:last-child) { | *:has(summary + details) summary:not(:last-child) { | ||||||
|  |  | ||||||
|  | @ -11,7 +11,3 @@ | ||||||
|      margin-bottom: auto; |      margin-bottom: auto; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #results:not(:has(details[open])) summary { |  | ||||||
|      height: 80vh; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue