diff --git a/main.js b/main.js
index e9e595c..f43ab45 100644
--- a/main.js
+++ b/main.js
@@ -2,6 +2,591 @@
/******/ "use strict";
/******/ var __webpack_modules__ = ({
+/***/ "./node_modules/css-loader/dist/cjs.js!./src/normalize.css":
+/*!*****************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./src/normalize.css ***!
+ \*****************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
+/* harmony export */ });
+/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/sourceMaps.js */ "./node_modules/css-loader/dist/runtime/sourceMaps.js");
+/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
+/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
+// Imports
+
+
+var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type='button']::-moz-focus-inner,\n[type='reset']::-moz-focus-inner,\n[type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type='button']:-moz-focusring,\n[type='reset']:-moz-focusring,\n[type='submit']:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type='checkbox'],\n[type='radio'] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type='number']::-webkit-inner-spin-button,\n[type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n", "",{"version":3,"sources":["webpack://./src/normalize.css"],"names":[],"mappings":"AAAA,2EAA2E;;AAE3E;+EAC+E;;AAE/E;;;EAGE;;AAEF;EACE,iBAAiB,EAAE,MAAM;EACzB,8BAA8B,EAAE,MAAM;AACxC;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,SAAS;AACX;;AAEA;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;;EAGE;;AAEF;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA;+EAC+E;;AAE/E;;;EAGE;;AAEF;EACE,uBAAuB,EAAE,MAAM;EAC/B,SAAS,EAAE,MAAM;EACjB,iBAAiB,EAAE,MAAM;AAC3B;;AAEA;;;EAGE;;AAEF;EACE,iCAAiC,EAAE,MAAM;EACzC,cAAc,EAAE,MAAM;AACxB;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,6BAA6B;AAC/B;;AAEA;;;EAGE;;AAEF;EACE,mBAAmB,EAAE,MAAM;EAC3B,0BAA0B,EAAE,MAAM;EAClC,iCAAiC,EAAE,MAAM;AAC3C;;AAEA;;EAEE;;AAEF;;EAEE,mBAAmB;AACrB;;AAEA;;;EAGE;;AAEF;;;EAGE,iCAAiC,EAAE,MAAM;EACzC,cAAc,EAAE,MAAM;AACxB;;AAEA;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;;EAGE;;AAEF;;EAEE,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,wBAAwB;AAC1B;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,WAAW;AACb;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,kBAAkB;AACpB;;AAEA;+EAC+E;;AAE/E;;;EAGE;;AAEF;;;;;EAKE,oBAAoB,EAAE,MAAM;EAC5B,eAAe,EAAE,MAAM;EACvB,iBAAiB,EAAE,MAAM;EACzB,SAAS,EAAE,MAAM;AACnB;;AAEA;;;EAGE;;AAEF;;EAEE,MAAM;EACN,iBAAiB;AACnB;;AAEA;;;EAGE;;AAEF;;EAEE,MAAM;EACN,oBAAoB;AACtB;;AAEA;;EAEE;;AAEF;;;;EAIE,0BAA0B;AAC5B;;AAEA;;EAEE;;AAEF;;;;EAIE,kBAAkB;EAClB,UAAU;AACZ;;AAEA;;EAEE;;AAEF;;;;EAIE,8BAA8B;AAChC;;AAEA;;EAEE;;AAEF;EACE,8BAA8B;AAChC;;AAEA;;;;;EAKE;;AAEF;EACE,sBAAsB,EAAE,MAAM;EAC9B,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,UAAU,EAAE,MAAM;EAClB,mBAAmB,EAAE,MAAM;AAC7B;;AAEA;;EAEE;;AAEF;EACE,wBAAwB;AAC1B;;AAEA;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;;EAGE;;AAEF;;EAEE,sBAAsB,EAAE,MAAM;EAC9B,UAAU,EAAE,MAAM;AACpB;;AAEA;;EAEE;;AAEF;;EAEE,YAAY;AACd;;AAEA;;;EAGE;;AAEF;EACE,6BAA6B,EAAE,MAAM;EACrC,oBAAoB,EAAE,MAAM;AAC9B;;AAEA;;EAEE;;AAEF;EACE,wBAAwB;AAC1B;;AAEA;;;EAGE;;AAEF;EACE,0BAA0B,EAAE,MAAM;EAClC,aAAa,EAAE,MAAM;AACvB;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;EAEE;;AAEF;EACE,kBAAkB;AACpB;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,aAAa;AACf;;AAEA;;EAEE;;AAEF;EACE,aAAa;AACf","sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type='button']::-moz-focus-inner,\n[type='reset']::-moz-focus-inner,\n[type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type='button']:-moz-focusring,\n[type='reset']:-moz-focusring,\n[type='submit']:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type='checkbox'],\n[type='radio'] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type='number']::-webkit-inner-spin-button,\n[type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n"],"sourceRoot":""}]);
+// Exports
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
+
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./src/style.css":
+/*!*************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./src/style.css ***!
+ \*************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
+/* harmony export */ });
+/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/sourceMaps.js */ "./node_modules/css-loader/dist/runtime/sourceMaps.js");
+/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
+/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
+// Imports
+
+
+var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, ":root {\n --light: #ffffff;\n --dark: #071e22;\n --first-accent: linear-gradient(to right, #1d7874, #124d4a);\n --second-accent: #dcc48e;\n --mild-urgent: rgb(23, 202, 242);\n --urgent: rgb(236, 176, 13);\n --very-urgent: rgb(216, 8, 8);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n}\n\nbody {\n font-family: sans-serif;\n background: var(--dark);\n color: var(--light);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n/** ``**``**`` Header styling ``**``**`` */\n\nheader {\n width: 100%;\n padding: 40px;\n font-size: 1.5rem;\n background: var(--first-accent);\n display: flex;\n justify-content: space-around;\n}\n\n.material-symbols-outlined {\n transform: scale(3);\n cursor: pointer;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n\n.material-symbols-outlined:hover {\n color: var(--second-accent);\n}\n\n#sortingDropdown {\n border-radius: 8px;\n padding: 5px 15px;\n text-align: center;\n}\n\n#sortingDropdown:focus {\n outline: var(--second-accent) solid 4px;\n}\n\n/** ``**``**`` Content styling ``**``**`` */\n\n.content,\n.warning {\n width: 100%;\n padding: 0px 10px;\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: start;\n}\n\n.content > button,\n.warning > button {\n border-radius: 8px;\n padding: 5px 15px;\n font-size: 1rem;\n width: auto;\n margin: 10px 30px;\n transition: transform ease 100ms;\n}\n\n.content > button:hover,\n.warning > button:hover {\n background: var(--second-accent);\n transform: translate(0, 2px);\n}\n\n.task {\n color: var(--light);\n background: var(--dark);\n width: 100%;\n font-size: 1.5rem;\n cursor: pointer;\n padding: 30px;\n text-align: left;\n border: none;\n border-bottom: solid 1px var(--second-accent);\n}\n\n.content > p,\n.warning > p {\n font-size: 1.5rem;\n padding: 10px 30px;\n}\n\n/** ``**``**`` Form styling ``**``**`` */\n\n.form-wrapper {\n height: 100vh;\n width: 100vw;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nform {\n color: var(--second-accent);\n display: flex;\n flex-direction: column;\n gap: 15px;\n font-size: 1.25rem;\n outline: var(--second-accent) solid 1px;\n padding: 50px 30px;\n border-radius: 10px;\n}\n\nform input,\nform textarea,\nform button,\nform select {\n border-radius: 8px;\n padding: 5px 15px;\n}\n\nform *:focus:not(button, [type='radio']) {\n outline: var(--second-accent) solid 4px;\n}\n\n.input-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 15px;\n}\n\n.priority-wrapper {\n display: flex;\n gap: 15%;\n justify-content: center;\n}\n\n.priority-wrapper * {\n display: flex;\n gap: 5px;\n align-items: center;\n}\n\n[type='radio'] {\n appearance: none;\n border-radius: 50%;\n width: 1.25rem;\n height: 1.25rem;\n border: 2px solid var(--second-accent);\n transition: 0.2s all linear;\n}\n\n#P1:checked {\n border: 6px solid var(--very-urgent);\n}\n\n#P2:checked {\n border: 6px solid var(--urgent);\n}\n\n#P3:checked {\n border: 6px solid var(--mild-urgent);\n}\n\n#P4:checked {\n border: 6px solid var(--light);\n}\n\nform button {\n font-size: 1rem;\n width: auto;\n align-self: center;\n transition: transform ease 100ms;\n}\n\nform button:hover {\n background: var(--second-accent);\n transform: translate(0, 2px);\n}\n\n/** ``**``**`` Media queries ``**``**`` */\n\n@media (max-width: 700px) {\n header {\n flex-direction: column;\n gap: 20px;\n align-items: center;\n }\n\n .material-symbols-outlined {\n transform: scale(2);\n }\n\n .sorting {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n form input,\n form textarea,\n form select {\n padding: 5px;\n }\n}\n", "",{"version":3,"sources":["webpack://./src/style.css"],"names":[],"mappings":"AAAA;EACE,gBAAgB;EAChB,eAAe;EACf,2DAA2D;EAC3D,wBAAwB;EACxB,gCAAgC;EAChC,2BAA2B;EAC3B,6BAA6B;AAC/B;;AAEA;;;EAGE,sBAAsB;EACtB,UAAU;EACV,SAAS;AACX;;AAEA;EACE,uBAAuB;EACvB,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA,0CAA0C;;AAE1C;EACE,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,+BAA+B;EAC/B,aAAa;EACb,6BAA6B;AAC/B;;AAEA;EACE,mBAAmB;EACnB,eAAe;EACf,kEAAkE;AACpE;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,kBAAkB;EAClB,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,uCAAuC;AACzC;;AAEA,2CAA2C;;AAE3C;;EAEE,WAAW;EACX,iBAAiB;EACjB,aAAa;EACb,sBAAsB;EACtB,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;;EAEE,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,WAAW;EACX,iBAAiB;EACjB,gCAAgC;AAClC;;AAEA;;EAEE,gCAAgC;EAChC,4BAA4B;AAC9B;;AAEA;EACE,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,gBAAgB;EAChB,YAAY;EACZ,6CAA6C;AAC/C;;AAEA;;EAEE,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA,wCAAwC;;AAExC;EACE,aAAa;EACb,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,2BAA2B;EAC3B,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,kBAAkB;EAClB,uCAAuC;EACvC,kBAAkB;EAClB,mBAAmB;AACrB;;AAEA;;;;EAIE,kBAAkB;EAClB,iBAAiB;AACnB;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,SAAS;AACX;;AAEA;EACE,aAAa;EACb,QAAQ;EACR,uBAAuB;AACzB;;AAEA;EACE,aAAa;EACb,QAAQ;EACR,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,eAAe;EACf,sCAAsC;EACtC,2BAA2B;AAC7B;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,eAAe;EACf,WAAW;EACX,kBAAkB;EAClB,gCAAgC;AAClC;;AAEA;EACE,gCAAgC;EAChC,4BAA4B;AAC9B;;AAEA,yCAAyC;;AAEzC;EACE;IACE,sBAAsB;IACtB,SAAS;IACT,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;;EAEA;IACE,aAAa;IACb,sBAAsB;IACtB,mBAAmB;EACrB;;EAEA;;;IAGE,YAAY;EACd;AACF","sourcesContent":[":root {\n --light: #ffffff;\n --dark: #071e22;\n --first-accent: linear-gradient(to right, #1d7874, #124d4a);\n --second-accent: #dcc48e;\n --mild-urgent: rgb(23, 202, 242);\n --urgent: rgb(236, 176, 13);\n --very-urgent: rgb(216, 8, 8);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n}\n\nbody {\n font-family: sans-serif;\n background: var(--dark);\n color: var(--light);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n/** ``**``**`` Header styling ``**``**`` */\n\nheader {\n width: 100%;\n padding: 40px;\n font-size: 1.5rem;\n background: var(--first-accent);\n display: flex;\n justify-content: space-around;\n}\n\n.material-symbols-outlined {\n transform: scale(3);\n cursor: pointer;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n\n.material-symbols-outlined:hover {\n color: var(--second-accent);\n}\n\n#sortingDropdown {\n border-radius: 8px;\n padding: 5px 15px;\n text-align: center;\n}\n\n#sortingDropdown:focus {\n outline: var(--second-accent) solid 4px;\n}\n\n/** ``**``**`` Content styling ``**``**`` */\n\n.content,\n.warning {\n width: 100%;\n padding: 0px 10px;\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: start;\n}\n\n.content > button,\n.warning > button {\n border-radius: 8px;\n padding: 5px 15px;\n font-size: 1rem;\n width: auto;\n margin: 10px 30px;\n transition: transform ease 100ms;\n}\n\n.content > button:hover,\n.warning > button:hover {\n background: var(--second-accent);\n transform: translate(0, 2px);\n}\n\n.task {\n color: var(--light);\n background: var(--dark);\n width: 100%;\n font-size: 1.5rem;\n cursor: pointer;\n padding: 30px;\n text-align: left;\n border: none;\n border-bottom: solid 1px var(--second-accent);\n}\n\n.content > p,\n.warning > p {\n font-size: 1.5rem;\n padding: 10px 30px;\n}\n\n/** ``**``**`` Form styling ``**``**`` */\n\n.form-wrapper {\n height: 100vh;\n width: 100vw;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nform {\n color: var(--second-accent);\n display: flex;\n flex-direction: column;\n gap: 15px;\n font-size: 1.25rem;\n outline: var(--second-accent) solid 1px;\n padding: 50px 30px;\n border-radius: 10px;\n}\n\nform input,\nform textarea,\nform button,\nform select {\n border-radius: 8px;\n padding: 5px 15px;\n}\n\nform *:focus:not(button, [type='radio']) {\n outline: var(--second-accent) solid 4px;\n}\n\n.input-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 15px;\n}\n\n.priority-wrapper {\n display: flex;\n gap: 15%;\n justify-content: center;\n}\n\n.priority-wrapper * {\n display: flex;\n gap: 5px;\n align-items: center;\n}\n\n[type='radio'] {\n appearance: none;\n border-radius: 50%;\n width: 1.25rem;\n height: 1.25rem;\n border: 2px solid var(--second-accent);\n transition: 0.2s all linear;\n}\n\n#P1:checked {\n border: 6px solid var(--very-urgent);\n}\n\n#P2:checked {\n border: 6px solid var(--urgent);\n}\n\n#P3:checked {\n border: 6px solid var(--mild-urgent);\n}\n\n#P4:checked {\n border: 6px solid var(--light);\n}\n\nform button {\n font-size: 1rem;\n width: auto;\n align-self: center;\n transition: transform ease 100ms;\n}\n\nform button:hover {\n background: var(--second-accent);\n transform: translate(0, 2px);\n}\n\n/** ``**``**`` Media queries ``**``**`` */\n\n@media (max-width: 700px) {\n header {\n flex-direction: column;\n gap: 20px;\n align-items: center;\n }\n\n .material-symbols-outlined {\n transform: scale(2);\n }\n\n .sorting {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n form input,\n form textarea,\n form select {\n padding: 5px;\n }\n}\n"],"sourceRoot":""}]);
+// Exports
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
+
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/runtime/api.js":
+/*!*****************************************************!*\
+ !*** ./node_modules/css-loader/dist/runtime/api.js ***!
+ \*****************************************************/
+/***/ ((module) => {
+
+
+
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+module.exports = function (cssWithMappingToString) {
+ var list = [];
+
+ // return the list of modules as css string
+ list.toString = function toString() {
+ return this.map(function (item) {
+ var content = "";
+ var needLayer = typeof item[5] !== "undefined";
+ if (item[4]) {
+ content += "@supports (".concat(item[4], ") {");
+ }
+ if (item[2]) {
+ content += "@media ".concat(item[2], " {");
+ }
+ if (needLayer) {
+ content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
+ }
+ content += cssWithMappingToString(item);
+ if (needLayer) {
+ content += "}";
+ }
+ if (item[2]) {
+ content += "}";
+ }
+ if (item[4]) {
+ content += "}";
+ }
+ return content;
+ }).join("");
+ };
+
+ // import a list of modules into the list
+ list.i = function i(modules, media, dedupe, supports, layer) {
+ if (typeof modules === "string") {
+ modules = [[null, modules, undefined]];
+ }
+ var alreadyImportedModules = {};
+ if (dedupe) {
+ for (var k = 0; k < this.length; k++) {
+ var id = this[k][0];
+ if (id != null) {
+ alreadyImportedModules[id] = true;
+ }
+ }
+ }
+ for (var _k = 0; _k < modules.length; _k++) {
+ var item = [].concat(modules[_k]);
+ if (dedupe && alreadyImportedModules[item[0]]) {
+ continue;
+ }
+ if (typeof layer !== "undefined") {
+ if (typeof item[5] === "undefined") {
+ item[5] = layer;
+ } else {
+ item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
+ item[5] = layer;
+ }
+ }
+ if (media) {
+ if (!item[2]) {
+ item[2] = media;
+ } else {
+ item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
+ item[2] = media;
+ }
+ }
+ if (supports) {
+ if (!item[4]) {
+ item[4] = "".concat(supports);
+ } else {
+ item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
+ item[4] = supports;
+ }
+ }
+ list.push(item);
+ }
+ };
+ return list;
+};
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js":
+/*!************************************************************!*\
+ !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***!
+ \************************************************************/
+/***/ ((module) => {
+
+
+
+module.exports = function (item) {
+ var content = item[1];
+ var cssMapping = item[3];
+ if (!cssMapping) {
+ return content;
+ }
+ if (typeof btoa === "function") {
+ var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));
+ var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
+ var sourceMapping = "/*# ".concat(data, " */");
+ return [content].concat([sourceMapping]).join("\n");
+ }
+ return [content].join("\n");
+};
+
+/***/ }),
+
+/***/ "./src/normalize.css":
+/*!***************************!*\
+ !*** ./src/normalize.css ***!
+ \***************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
+/* harmony export */ });
+/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _node_modules_css_loader_dist_cjs_js_normalize_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!./normalize.css */ "./node_modules/css-loader/dist/cjs.js!./src/normalize.css");
+
+
+
+
+
+
+
+
+
+
+
+var options = {};
+
+options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());
+options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());
+
+ options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");
+
+options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());
+options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());
+
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_normalize_css__WEBPACK_IMPORTED_MODULE_6__["default"], options);
+
+
+
+
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_normalize_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_normalize_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_normalize_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
+
+
+/***/ }),
+
+/***/ "./src/style.css":
+/*!***********************!*\
+ !*** ./src/style.css ***!
+ \***********************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
+/* harmony export */ });
+/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js");
+/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!./style.css */ "./node_modules/css-loader/dist/cjs.js!./src/style.css");
+
+
+
+
+
+
+
+
+
+
+
+var options = {};
+
+options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());
+options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());
+
+ options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");
+
+options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());
+options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());
+
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__["default"], options);
+
+
+
+
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_style_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
+
+
+/***/ }),
+
+/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
+ \****************************************************************************/
+/***/ ((module) => {
+
+
+
+var stylesInDOM = [];
+
+function getIndexByIdentifier(identifier) {
+ var result = -1;
+
+ for (var i = 0; i < stylesInDOM.length; i++) {
+ if (stylesInDOM[i].identifier === identifier) {
+ result = i;
+ break;
+ }
+ }
+
+ return result;
+}
+
+function modulesToDom(list, options) {
+ var idCountMap = {};
+ var identifiers = [];
+
+ for (var i = 0; i < list.length; i++) {
+ var item = list[i];
+ var id = options.base ? item[0] + options.base : item[0];
+ var count = idCountMap[id] || 0;
+ var identifier = "".concat(id, " ").concat(count);
+ idCountMap[id] = count + 1;
+ var indexByIdentifier = getIndexByIdentifier(identifier);
+ var obj = {
+ css: item[1],
+ media: item[2],
+ sourceMap: item[3],
+ supports: item[4],
+ layer: item[5]
+ };
+
+ if (indexByIdentifier !== -1) {
+ stylesInDOM[indexByIdentifier].references++;
+ stylesInDOM[indexByIdentifier].updater(obj);
+ } else {
+ var updater = addElementStyle(obj, options);
+ options.byIndex = i;
+ stylesInDOM.splice(i, 0, {
+ identifier: identifier,
+ updater: updater,
+ references: 1
+ });
+ }
+
+ identifiers.push(identifier);
+ }
+
+ return identifiers;
+}
+
+function addElementStyle(obj, options) {
+ var api = options.domAPI(options);
+ api.update(obj);
+
+ var updater = function updater(newObj) {
+ if (newObj) {
+ if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {
+ return;
+ }
+
+ api.update(obj = newObj);
+ } else {
+ api.remove();
+ }
+ };
+
+ return updater;
+}
+
+module.exports = function (list, options) {
+ options = options || {};
+ list = list || [];
+ var lastIdentifiers = modulesToDom(list, options);
+ return function update(newList) {
+ newList = newList || [];
+
+ for (var i = 0; i < lastIdentifiers.length; i++) {
+ var identifier = lastIdentifiers[i];
+ var index = getIndexByIdentifier(identifier);
+ stylesInDOM[index].references--;
+ }
+
+ var newLastIdentifiers = modulesToDom(newList, options);
+
+ for (var _i = 0; _i < lastIdentifiers.length; _i++) {
+ var _identifier = lastIdentifiers[_i];
+
+ var _index = getIndexByIdentifier(_identifier);
+
+ if (stylesInDOM[_index].references === 0) {
+ stylesInDOM[_index].updater();
+
+ stylesInDOM.splice(_index, 1);
+ }
+ }
+
+ lastIdentifiers = newLastIdentifiers;
+ };
+};
+
+/***/ }),
+
+/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***!
+ \********************************************************************/
+/***/ ((module) => {
+
+
+
+var memo = {};
+/* istanbul ignore next */
+
+function getTarget(target) {
+ if (typeof memo[target] === "undefined") {
+ var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
+
+ if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
+ try {
+ // This will throw an exception if access to iframe is blocked
+ // due to cross-origin restrictions
+ styleTarget = styleTarget.contentDocument.head;
+ } catch (e) {
+ // istanbul ignore next
+ styleTarget = null;
+ }
+ }
+
+ memo[target] = styleTarget;
+ }
+
+ return memo[target];
+}
+/* istanbul ignore next */
+
+
+function insertBySelector(insert, style) {
+ var target = getTarget(insert);
+
+ if (!target) {
+ throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
+ }
+
+ target.appendChild(style);
+}
+
+module.exports = insertBySelector;
+
+/***/ }),
+
+/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***!
+ \**********************************************************************/
+/***/ ((module) => {
+
+
+
+/* istanbul ignore next */
+function insertStyleElement(options) {
+ var element = document.createElement("style");
+ options.setAttributes(element, options.attributes);
+ options.insert(element, options.options);
+ return element;
+}
+
+module.exports = insertStyleElement;
+
+/***/ }),
+
+/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":
+/*!**********************************************************************************!*\
+ !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***!
+ \**********************************************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+
+
+/* istanbul ignore next */
+function setAttributesWithoutAttributes(styleElement) {
+ var nonce = true ? __webpack_require__.nc : 0;
+
+ if (nonce) {
+ styleElement.setAttribute("nonce", nonce);
+ }
+}
+
+module.exports = setAttributesWithoutAttributes;
+
+/***/ }),
+
+/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***!
+ \***************************************************************/
+/***/ ((module) => {
+
+
+
+/* istanbul ignore next */
+function apply(styleElement, options, obj) {
+ var css = "";
+
+ if (obj.supports) {
+ css += "@supports (".concat(obj.supports, ") {");
+ }
+
+ if (obj.media) {
+ css += "@media ".concat(obj.media, " {");
+ }
+
+ var needLayer = typeof obj.layer !== "undefined";
+
+ if (needLayer) {
+ css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {");
+ }
+
+ css += obj.css;
+
+ if (needLayer) {
+ css += "}";
+ }
+
+ if (obj.media) {
+ css += "}";
+ }
+
+ if (obj.supports) {
+ css += "}";
+ }
+
+ var sourceMap = obj.sourceMap;
+
+ if (sourceMap && typeof btoa !== "undefined") {
+ css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
+ } // For old IE
+
+ /* istanbul ignore if */
+
+
+ options.styleTagTransform(css, styleElement, options.options);
+}
+
+function removeStyleElement(styleElement) {
+ // istanbul ignore if
+ if (styleElement.parentNode === null) {
+ return false;
+ }
+
+ styleElement.parentNode.removeChild(styleElement);
+}
+/* istanbul ignore next */
+
+
+function domAPI(options) {
+ var styleElement = options.insertStyleElement(options);
+ return {
+ update: function update(obj) {
+ apply(styleElement, options, obj);
+ },
+ remove: function remove() {
+ removeStyleElement(styleElement);
+ }
+ };
+}
+
+module.exports = domAPI;
+
+/***/ }),
+
+/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***!
+ \*********************************************************************/
+/***/ ((module) => {
+
+
+
+/* istanbul ignore next */
+function styleTagTransform(css, styleElement) {
+ if (styleElement.styleSheet) {
+ styleElement.styleSheet.cssText = css;
+ } else {
+ while (styleElement.firstChild) {
+ styleElement.removeChild(styleElement.firstChild);
+ }
+
+ styleElement.appendChild(document.createTextNode(css));
+ }
+}
+
+module.exports = styleTagTransform;
+
+/***/ }),
+
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
@@ -27,8 +612,13 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ "reverseAlphaOrder": () => (/* binding */ reverseAlphaOrder),
/* harmony export */ "todoArray": () => (/* binding */ todoArray)
/* harmony export */ });
-/* harmony import */ var _modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/dom-manipulation */ "./src/modules/dom-manipulation.js");
-/* harmony import */ var _modules_event_handler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/event-handler */ "./src/modules/event-handler.js");
+/* harmony import */ var _normalize_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./normalize.css */ "./src/normalize.css");
+/* harmony import */ var _style_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style.css */ "./src/style.css");
+/* harmony import */ var _modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/dom-manipulation */ "./src/modules/dom-manipulation.js");
+/* harmony import */ var _modules_event_handler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/event-handler */ "./src/modules/event-handler.js");
+
+
+
@@ -38,16 +628,16 @@ __webpack_require__.r(__webpack_exports__);
//? **`` Initial functions to be ran
const todoArray = [];
-(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.createHeader)();
+(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.createHeader)();
const header = document.querySelector('header');
-(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.createSortingDropdown)();
-(0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_1__.sortingAndDisplayOfTasksLogic)();
+(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.createSortingDropdown)();
+(0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_3__.sortingAndDisplayOfTasksLogic)();
-(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.createToDoItemButton)();
-(0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_1__.createToDoItemButtonLogic)();
+(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.createToDoItemButton)();
+(0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_3__.createToDoItemButtonLogic)();
-(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.displayTodaysDate)();
+(0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.displayTodaysDate)();
//* **`` FUNCTIONS ``**
@@ -85,32 +675,32 @@ function findPriorities() {
}
function goToMainScreen() {
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.removeChildrenOfContent)();
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.removeChildrenOfContent)();
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.createSortingDropdown)();
- (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_1__.sortingAndDisplayOfTasksLogic)();
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.createSortingDropdown)();
+ (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_3__.sortingAndDisplayOfTasksLogic)();
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.createToDoItemButton)();
- (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_1__.createToDoItemButtonLogic)();
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.createToDoItemButton)();
+ (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_3__.createToDoItemButtonLogic)();
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.displayTodaysDate)();
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.displayTodaysDate)();
- (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_1__.taskDisplayLogic)();
+ (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_3__.taskDisplayLogic)();
}
function goToTaskScreen(ID) {
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.removeChildrenOfContent)();
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.removeHeader)();
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.removeChildrenOfContent)();
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.removeHeader)();
//? **`` Filters through all objects in the array and returns a new array with the object that matches the ID
const currentObjArray = todoArray.filter((object) => ID == object.idNumber);
//? **`` Loops through the object and passes the key/value pairs to the display function
Object.entries(currentObjArray[0]).map(([key, value]) => {
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.displayToDoInfo)(key, value);
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.displayToDoInfo)(key, value);
});
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.displayBackButton)();
- (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_1__.backButtonLogic)();
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.displayDeleteButton)();
- (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_1__.deleteButtonLogic)(ID);
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.displayBackButton)();
+ (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_3__.backButtonLogic)();
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.displayDeleteButton)();
+ (0,_modules_event_handler__WEBPACK_IMPORTED_MODULE_3__.deleteButtonLogic)(ID);
}
function createID() {
@@ -166,7 +756,7 @@ function addOptions(newProjectField) {
)
) {
//? **`` If there are no duplicates, it adds it to the select dropdown
- (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_0__.updateOptions)(newProjectField);
+ (0,_modules_dom_manipulation__WEBPACK_IMPORTED_MODULE_2__.updateOptions)(newProjectField);
//? **`` Automatically sets dropdown menu to last created new project
document.querySelector('#dropdownProjectMenu').value =
document.querySelector('#dropdownProjectMenu > option:last-child').value;
@@ -739,7 +1329,7 @@ function addNewProjectButtonLogic() {
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
-/******/ // no module.id needed
+/******/ id: moduleId,
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
@@ -752,6 +1342,18 @@ function addNewProjectButtonLogic() {
/******/ }
/******/
/************************************************************************/
+/******/ /* webpack/runtime/compat get default export */
+/******/ (() => {
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = (module) => {
+/******/ var getter = module && module.__esModule ?
+/******/ () => (module['default']) :
+/******/ () => (module);
+/******/ __webpack_require__.d(getter, { a: getter });
+/******/ return getter;
+/******/ };
+/******/ })();
+/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
@@ -780,6 +1382,11 @@ function addNewProjectButtonLogic() {
/******/ };
/******/ })();
/******/
+/******/ /* webpack/runtime/nonce */
+/******/ (() => {
+/******/ __webpack_require__.nc = undefined;
+/******/ })();
+/******/
/************************************************************************/
/******/
/******/ // startup
diff --git a/main.js.map b/main.js.map
index a79c9d2..53c0f9e 100644
--- a/main.js.map
+++ b/main.js.map
@@ -1 +1 @@
-{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYoC;;AAQH;;AAmB/B;;AAEF;AACA;;AAEA,uEAAY;AACZ;;AAEA,gFAAqB;AACrB,qFAA6B;;AAE7B,+EAAoB;AACpB,iFAAyB;;AAEzB,4EAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,kFAAuB;;AAEzB,EAAE,gFAAqB;AACvB,EAAE,qFAA6B;;AAE/B,EAAE,+EAAoB;AACtB,EAAE,iFAAyB;;AAE3B,EAAE,4EAAiB;;AAEnB,EAAE,wEAAgB;AAClB;;AAEA;AACA,EAAE,kFAAuB;AACzB,EAAE,uEAAY;AACd;AACA;AACA;AACA;AACA,IAAI,0EAAe;AACnB,GAAG;AACH,EAAE,4EAAiB;AACnB,EAAE,uEAAe;AACjB,EAAE,8EAAmB;AACrB,EAAE,yEAAiB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wEAAa;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3LuE;AACrB;;AAkBhD;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,kDAAc;;AAEhB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,qDAAa;AAC7B;AACA;AACA,EAAE,kDAAc;AAChB;;AAEA;AACA;AACA;AACA;AACA,EAAE,kDAAc;;AAEhB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,EAAE,4DAAoB;AACtB,EAAE,+DAAe;AACjB;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI,IAAI,MAAM;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,qDAAiB;AAC1B,IAAI,sDAAkB,CAAC,qDAAiB;AACxC;AACA;;;;;;;;;;;;;;;;;;;;;;AClVkB;;AAUU;;AAS1B;;AAEF;AACA;AACA;AACA,EAAE,8DAAW,CAAC,6CAAS;AACvB;AACA;AACA;AACA;AACA,IAAI,6DAAU;AACd;AACA;AACA;AACA,QAAQ,8DAAW,CAAC,qDAAa;AACjC;;AAEA;AACA,QAAQ,8DAAW,CAAC,kDAAU;AAC9B;;AAEA;AACA,QAAQ,8DAAW,CAAC,yDAAiB;AACrC;;AAEA;AACA,QAAQ,8DAAW,CAAC,oDAAY;AAChC;;AAEA;AACA,QAAQ,8DAAW,CAAC,oDAAY;AAChC;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAI,iDAAa;AACjB;AACA;AACA,QAAQ,oDAAgB;AACxB,QAAQ,sDAAc;AACtB;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA,IAAI,sDAAc;AAClB,GAAG;AACH;;AAEA;AACA;AACA;AACA,IAAI,0EAAuB;AAC3B,IAAI,iEAAc;AAClB;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAI,sDAAc;AAClB,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sDAAc;AACpB,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAI,+DAAY;AAChB,IAAI,0EAAuB;AAC3B,IAAI,2DAAQ;AACZ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sDAAc;AACnC,qBAAqB,gDAAQ;;AAE7B;AACA;;AAEA;AACA,sBAAsB,oDAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,wDAAgB;AACpB,IAAI,sDAAc;AAClB,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,IAAI,kDAAU;;AAEd;AACA;AACA,GAAG;AACH;;;;;;;UCnLA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;UENA;UACA;UACA;UACA","sources":["webpack://to-do-list/./src/index.js","webpack://to-do-list/./src/modules/dom-manipulation.js","webpack://to-do-list/./src/modules/event-handler.js","webpack://to-do-list/webpack/bootstrap","webpack://to-do-list/webpack/runtime/define property getters","webpack://to-do-list/webpack/runtime/hasOwnProperty shorthand","webpack://to-do-list/webpack/runtime/make namespace object","webpack://to-do-list/webpack/before-startup","webpack://to-do-list/webpack/startup","webpack://to-do-list/webpack/after-startup"],"sourcesContent":["import {\n createToDoItemButton,\n displayTodaysDate,\n displayToDoInfo,\n updateOptions,\n removeChildrenOfContent,\n displayBackButton,\n displayDeleteButton,\n createSortingDropdown,\n createHeader,\n body,\n removeHeader,\n} from './modules/dom-manipulation';\n\nimport {\n createToDoItemButtonLogic,\n taskDisplayLogic,\n backButtonLogic,\n deleteButtonLogic,\n sortingAndDisplayOfTasksLogic,\n} from './modules/event-handler';\n\nexport {\n populateDropdownMenu,\n addObjectToArray,\n addOptions,\n createObject,\n todoArray,\n getTodaysDate,\n createID,\n goToMainScreen,\n goToTaskScreen,\n findPriorities,\n priorityOrder,\n alphaOrder,\n reverseAlphaOrder,\n projectOrder,\n dueDateOrder,\n header,\n};\n\n//? **`` Initial functions to be ran\nconst todoArray = [];\n\ncreateHeader();\nconst header = document.querySelector('header');\n\ncreateSortingDropdown();\nsortingAndDisplayOfTasksLogic();\n\ncreateToDoItemButton();\ncreateToDoItemButtonLogic();\n\ndisplayTodaysDate();\n\n//* **`` FUNCTIONS ``**\n\n//? **`` Sorts the array by priority\nfunction priorityOrder() {\n return todoArray.sort((a, b) => (a.priority > b.priority ? 1 : -1));\n}\n\n//? **`` Sorts the array by alphabetical A-Z\nfunction alphaOrder() {\n return todoArray.sort((a, b) => (a.task > b.task ? 1 : -1));\n}\n\n//? **`` Sorts the array by reverse alphabetical Z-A\nfunction reverseAlphaOrder() {\n return todoArray.sort((a, b) => (a.task < b.task ? 1 : -1));\n}\n\n//? **`` Sorts the array by project\nfunction projectOrder() {\n return todoArray.sort((a, b) => (a.project > b.project ? 1 : -1));\n}\n\n//? **`` Sorts the array by due date\nfunction dueDateOrder() {\n return todoArray.sort((a, b) => (a.date > b.date ? 1 : -1));\n}\n\nfunction findPriorities() {\n //? **``This finds all the 'priority' attributes, spreads the node list into an array, and returns the one thats checked.\n const checked = [...document.querySelectorAll('[name=\"priority\"]')].find(\n (priority) => priority.checked\n );\n return checked.value;\n}\n\nfunction goToMainScreen() {\n removeChildrenOfContent();\n\n createSortingDropdown();\n sortingAndDisplayOfTasksLogic();\n\n createToDoItemButton();\n createToDoItemButtonLogic();\n\n displayTodaysDate();\n\n taskDisplayLogic();\n}\n\nfunction goToTaskScreen(ID) {\n removeChildrenOfContent();\n removeHeader();\n //? **`` Filters through all objects in the array and returns a new array with the object that matches the ID\n const currentObjArray = todoArray.filter((object) => ID == object.idNumber);\n //? **`` Loops through the object and passes the key/value pairs to the display function\n Object.entries(currentObjArray[0]).map(([key, value]) => {\n displayToDoInfo(key, value);\n });\n displayBackButton();\n backButtonLogic();\n displayDeleteButton();\n deleteButtonLogic(ID);\n}\n\nfunction createID() {\n //? **`` This loops forever, and when we find that the random number does NOT match any ID numbers in the objects within the array, then we kill the loop and return the new unique number\n while (true) {\n const randomNumber =\n Math.floor(Math.random() * (999999 - 100000 + 1)) + 100000;\n if (!todoArray.some((obj) => obj.idNumber === randomNumber)) {\n return randomNumber;\n }\n }\n}\n\nfunction getTodaysDate() {\n const date = new Date();\n //? **`` These are the date formatting options\n const dateOptions = { month: 'short', day: 'numeric' };\n const todaysDate = date.toLocaleDateString(undefined, dateOptions);\n return todaysDate;\n}\n\n//? **`` Adds the new projects as options to the select dropdown\nfunction populateDropdownMenu() {\n //? **`` Loops through each object in the array\n todoArray.map((objs) => {\n //? **`` As it loops, it checks to make sure each objects project name doesn't already exist in the dropdown list\n const optionNodeList = document.querySelectorAll(\n '#dropdownProjectMenu > option'\n );\n const duplicateCheck = [...optionNodeList].some(\n (oppies) => oppies.innerText === objs.project\n );\n //? **`` If there are no duplicates, it fills the dropdown menu with the project names\n if (!duplicateCheck) {\n const newOption = document.createElement('option');\n dropdownProjectMenu.appendChild(newOption);\n newOption.setAttribute('value', objs.project);\n newOption.innerText = objs.project;\n }\n });\n}\n\n//? **`` Updates the select dropdown options with the 'Create New Project' value\nfunction addOptions(newProjectField) {\n const optionNodeList = document.querySelectorAll(\n '#dropdownProjectMenu > option'\n );\n //? **`` Big \"if statement\" !!\n if (\n //? **`` Turns the node list into an array then checks for duplicate project names. Notice the \"bang\" mark at the beginning saying \"if this is NOT true...\"\n ![...optionNodeList].some(\n (option) => newProjectField.value == option.innerText\n )\n ) {\n //? **`` If there are no duplicates, it adds it to the select dropdown\n updateOptions(newProjectField);\n //? **`` Automatically sets dropdown menu to last created new project\n document.querySelector('#dropdownProjectMenu').value =\n document.querySelector('#dropdownProjectMenu > option:last-child').value;\n }\n}\n\n//? **`` Takes a new object as an argument and adds it to the front of the array\nfunction addObjectToArray(newObject) {\n todoArray.unshift(newObject);\n}\n\n//? **`` Factory function that creates a new object of all the form values\nfunction createObject(project, task, date, priority, notes, idNumber) {\n return { project, task, date, priority, notes, idNumber };\n}\n","import { populateDropdownMenu, getTodaysDate, header } from '../index';\nimport { backButtonLogic } from './event-handler';\n\nexport {\n createToDoItemButton,\n makeForm,\n displayTodaysDate,\n removeChildrenOfContent,\n removeHeader,\n displayTask,\n displayToDoInfo,\n updateOptions,\n displayBackButton,\n displayDeleteButton,\n displayWarning,\n createSortingDropdown,\n clearTasks,\n createHeader,\n body,\n};\n\nconst body = document.querySelector('body');\nconst content = document.querySelector('.content');\n\nfunction createHeader() {\n body.prepend(document.createElement('header'));\n}\n\n//? **`` Finds all the tasks, spreads them into an array, then cycles thru them and removes them from display\nfunction clearTasks() {\n [...document.querySelectorAll('.task')].map((task) => task.remove());\n}\n\n//? **`` Creates the sorting dropdown menu and all it's options\nfunction createSortingDropdown() {\n const sortingDiv = document.createElement('div');\n sortingDiv.classList.add('sorting');\n header.prepend(sortingDiv);\n\n const sortingDropdown = document.createElement('select');\n sortingDropdown.setAttribute('id', 'sortingDropdown');\n sortingDropdown.setAttribute('name', 'sortingDropdown');\n const sortingDropdownLabel = document.createElement('label');\n sortingDropdownLabel.innerText = 'Sort Tasks: ';\n sortingDropdownLabel.setAttribute('for', 'sortingDropdown');\n\n sortingDiv.prepend(sortingDropdownLabel, sortingDropdown);\n\n const initialOption = document.createElement('option');\n initialOption.setAttribute('value', '');\n initialOption.setAttribute('disabled', '');\n initialOption.setAttribute('selected', '');\n initialOption.innerText = '--sort by--';\n\n const priorityOption = document.createElement('option');\n priorityOption.setAttribute('value', 'priority');\n priorityOption.innerText = 'priority';\n\n const alphaOption = document.createElement('option');\n alphaOption.setAttribute('value', 'A-Z');\n alphaOption.innerText = 'A-Z';\n\n const reverseAlphaOption = document.createElement('option');\n reverseAlphaOption.setAttribute('value', 'Z-A');\n reverseAlphaOption.innerText = 'Z-A';\n\n const projectOption = document.createElement('option');\n projectOption.setAttribute('value', 'project');\n projectOption.innerText = 'project';\n\n const dueOption = document.createElement('option');\n dueOption.setAttribute('value', 'due-date');\n dueOption.innerText = 'due date';\n\n sortingDropdown.append(\n initialOption,\n priorityOption,\n alphaOption,\n reverseAlphaOption,\n projectOption,\n dueOption\n );\n}\n\n//? **`` Creates a new