{"version":3,"sources":["context/BookmarksContext.js","context/Settings.js","components/BookmarkAndTopSites/Svgs/X.svg","components/BookmarkAndTopSites/Svgs/Pencil.svg","components/BookmarkAndTopSites/Svgs/Arrow-right.svg","components/BookmarkAndTopSites/Svgs/Arrow-left.svg","components/BookmarkAndTopSites/Bookmarks/ScrollingBookmark.js","components/BookmarkAndTopSites/TopSites/TopSites.js","components/BookmarkAndTopSites/BookmarkAndTopSitesContainer.js","components/searchBar/searchBar.js","components/Clock.js","components/middleSection.js","components/reducers/listReducer.js","context/ListContext.js","components/Notes/NotesDrawer/NotesToggleButton.js","components/ToDoList/SideDrawer/DrawerToggleButton.js","components/ToDoList/ToDoComponents/TaskDetails.js","components/ToDoList/ToDoComponents/ListPreview.js","components/ToDoList/Toolbar/Toolbar.js","components/ToDoList/ToDoComponents/Navbar.js","components/ToDoList/ToDoComponents/NewTaskForm.js","components/ToDoList/ToDoComponents/TaskList.js","components/ToDoList/SideDrawer/SideDrawer.js","components/ToDoList/Backdrop/Backdrop.js","components/TopRightUpperAppsSection/BatteryIndicator.js","components/Notes/sidebar/styles.js","components/Notes/sidebaritem/styles.js","components/Notes/sidebaritem/sidebarItem.js","components/Notes/helpers.js","components/Notes/sidebar/sidebar.js","components/Notes/editor/styles.js","components/Notes/editor/editor.js","components/Notes/Notes.js","components/TopRightUpperAppsSection/Svgs/Matrix.svg","components/TopRightUpperAppsSection/Svgs/Gmail.svg","components/TopRightUpperAppsSection/Svgs/Googlecalendar.svg","components/TopRightUpperAppsSection/TopRightApps.js","components/TopRightUpperAppsSection/TopRightInformation.js","components/TopRightSection.js","components/Notes/NotesDrawer/NotesDrawer.js","components/Navbar/Svgs/cog.svg","components/Navbar/Settings/Settings.js","components/Navbar/WholeNavbar.js","App.js","reportWebVitals.js","index.js"],"names":["BookmarksContext","createContext","BookmarksContextProvider","state","sites","id","url","title","faviconUrl","modify","initialBookmarkSetter","localStorage","getItem","setItem","localStorageWebsite","strLocalStorageWebsite","JSON","parse","setState","moveBookmark","position","console","log","length","indexOfInterest1","map","e","indexOf","indexOfInterest2","tempStorageOfBookmark","stringify","openModifyForm","indexOfInterest","modal","document","getElementById","titleField","span","getElementsByClassName","style","display","focus","onclick","window","event","target","modifyBookmark","resetModifyState","deleteBookmark","filter","site","addBookmark","bookmark","uuid","Provider","value","this","props","children","Component","SettingsContext","SettingsContextProvider","topSitesNumber","topSitesShow","numberOfBookmarks","bookmarksShow","batteryShow","setStorage","initializeState","storageItems","initializeStorage","localStorageSettings","strLocalStorageSettings","settings","changeTopSitesShow","val","Boolean","changeTopSitesNumber","Number","tempState","changeBookmarksShow","changeBookmarksNumber","changeBatteryShow","_extends","Object","assign","i","arguments","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","d","SvgX","_ref","svgRef","titleId","xmlns","width","height","fill","className","viewBox","ref","ForwardRef","SvgPencil","fillRule","SvgArrowRight","SvgArrowLeft","IndividualBookmark","imgUrls","useState","context","useContext","itemsToShow","setItemsToShow","useEffect","urlConverter","undefined","includes","dropdown","sitesList","EditBookamarks","sid","href","src","itemsToScroll","itemPadding","showEmptySlots","breakPoints","onClick","AddBookmark","handleChange","handleChangeTitle","handleSubmit","preventDefault","btn","contextType","ScrollingBookmark","witdh","TopSites","topSiteUrls","styleProperties","numberOfIcons","tileWidth","tileHeight","tileBorderRadius","tileBackground","tileBorder","hoverColor","faviconBaseUrl","titleFinderApi","defaultArray","website","insertArray","arr","slice","forEach","urlobj","push","handleNumber","BookmarkAndTopSitesContainer","styleBookmark","insertTopSites","insertScrollingBookmarks","SearchBar","backgroundColor","borderRadius","maxWidth","textColor","submitColor","submitColorHover","searchText","inp","documentElement","setProperty","action","method","inputEl","searchInput","type","name","placeholder","Clock","date","Date","weekday","setInterval","toLocaleTimeString","hour","minute","toLocaleDateString","year","month","day","callMe","MiddleSection","tempIncr","modifyTempIncr","modifyTitle","forceUpdateOnModify","bookmarks","currBookmark","urlplaceholder","titleplaceholder","Modal","showLoading","classList","toggle","innerText","axios","get","params","then","response","data","onSubmit","onChange","flexDirection","ModifyModal","tempTitle","listReducer","task","uuidv4","ListContext","ListContextProvider","useReducer","localData","tasks","dispatch","NavItem","open","setOpen","click","icon","NotesDrawerToggleButton","drawerToggleButton","TaskDetails","turnOn","ListPreview","useStyles","makeStyles","theme","typography","padding","spacing","BatteryInfo","isCharging","batteryLevel","chargingTime","dischargeTime","setBatteryInfoState","navigator","getBattery","battery","charging","level","dischargingTime","batteryIcon","Toolbar","joke","setJoke","run","setRun","a","res","attachments","text","drawerClickHandler","notesDrawerClickHandler","jokeEle","visibility","getJoke","setTimeout","opacity","Navbar","NewTaskForm","setTitle","TaskList","sideDrawer","drawerClasses","show","Backdrop","styles","root","palette","background","paper","left","boxShadow","newChatBtn","unreadMessage","color","top","right","newNoteBtn","borderBottom","sidebarContainer","marginTop","boxSizing","float","overflowY","overflowX","newNoteInput","margin","outline","border","paddingLeft","newNoteSubmitBtn","listItem","cursor","textSection","deleteIcon","SidebarItemComponent","selectNote","n","deleteNote","note","confirm","str","_index","_note","classes","selectedNoteIndex","ListItem","selected","alignItems","ListItemText","primary","substring","secondary","body","replace","React","withStyles","SidebarComponent","handleEscape","newNoteBtnClick","addingNote","updateTitle","txt","newNote","newNoteForm","noteRef","createRef","bind","notes","Button","onKeyUp","onKeyDown","List","Divider","current","titleInput","fontSize","minWidth","borderTopRightRadius","editIcon","editorContainer","borderBottomRightRadius","Size","Quill","import","whitelist","register","Font","EditorComponent","componentDidMount","selectedNote","componentDidUpdate","updateBody","updateOrNot","update","noteUpdate","modules","toolbar","container","handlers","insertHeart","cursorPosition","quill","getSelection","index","insertText","setSelection","formats","Notes","rawNotes","parsedNotes","noteObj","timestamp","newID","Math","random","newNotes","newNoteIndex","noteIndex","mounted","size","SvgMatrix","xmlnsXlink","x","y","enableBackground","xmlSpace","SvgGmail","role","SvgGooglecalendar","TopRightApps","DropdownMenu","DropdownMenu2","classlist","layout","OutsideDetector","wrapperRef","useRef","handleDetector","contains","addEventListener","removeEventListener","openerEle","activeMenu","setActiveMenu","menuHeight","setMenuHeight","dropdownRef","calcHeight","el","offsetHeight","DropdownItem","goToMenu","leftIcon","rightIcon","NonClickDropdownItem","firstChild","CSSTransition","in","timeout","classNames","unmountOnExit","onEnter","TopRightSection","NotesDrawer","notesDrawerClasses","SvgCog","Settings","innerID","ExpandableDropdownItem","DarkModeSwitch","LayoutSwitch","ShowItems","items","UConnApps","BackgroundBlurSlider","BackgroundImgBrightnessSlider","BackgroundImageUrl","panel","accordion","childNodes","transform","checkedContext","spanName","checked","onColor","onHandleColor","handleDiameter","uncheckedIcon","checkedIcon","activeBoxShadow","setChecked","element","add","remove","blur","setBlur","String","min","max","parseInt","step","brightness","setBrightness","setUrl","setIsUrl","setNote","imageUpload","file","Promise","resolve","reject","reader","FileReader","onload","result","onerror","error","readAsDataURL","getBase64_v2","files","base64","catch","err","valid","responseType","image","btoa","Uint8Array","reduce","byte","fromCharCode","headers","toLowerCase","getBase64","callback","timer","timedOut","img","Image","onabort","clearTimeout","testImage","validate","htmlFor","accept","removeItem","WholeNavbar","App","sideDrawerOpen","notesDrawerOpen","drawerToggleClickHandler","notesDrawerToggleClickHandler","backdropClickHandler","backdrop","darkMode","backgroundImage","uconnAppsShow","rootTarget","loader","animation","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.81e45881.chunk.js","sourcesContent":["import { timers } from 'jquery';\r\nimport React, { Component, createContext, createRef } from 'react';\r\nimport uuid from 'react-uuid';\r\n\r\nexport const BookmarksContext = createContext();\r\n\r\nexport default class BookmarksContextProvider extends Component {\r\n state = {\r\n sites: [\r\n { id: 1, url: 'www.youtube.com', title: 'Youtube', faviconUrl: \"http://www.google.com/favicon.ico\" },\r\n { id: 2, url: 'www.google.com', title: 'Google', faviconUrl: \"https://www.youtube.com/s/desktop/d3411c39/img/favicon_96x96.png\" }\r\n ],\r\n modify: { id: null, url: null, title: null }\r\n }\r\n\r\n initialBookmarkSetter = () => {\r\n // This is for the Bookmarks that are already there\r\n if (localStorage.getItem('local-website') === null) {\r\n localStorage.setItem(\"local-website\", '[ { \"url\": \"www.netflix.com\", \"title\": \"Netflix\", \"id\": \"d6e5df4-0c46-f742-20c5-144723623ba\", \"faviconUrl\": \"https://www.netflix.com/favicon.ico\" }, { \"url\": \"www.youtube.com\", \"title\": \"Youtube\", \"id\": \"052c663-5ebb-fcd-0a7e-5c11e143a4\", \"faviconUrl\": \"https://www.youtube.com/s/desktop/d3411c39/img/favicon_96x96.png\" }, { \"url\": \"www.twitter.com\", \"title\": \"Twitter\", \"id\": \"052c664-5ebb-fcd-0a7e-5c11e143a4\", \"faviconUrl\": \"https://abs.twimg.com/responsive-web/client-web-legacy/icon-ios.b1fc7275.png\" }, { \"url\": \"www.wikipedia.com\", \"title\": \"Wikipedia\", \"id\": \"052c665-5ebb-fcd-0a7e-5c11e143a4\", \"faviconUrl\": \"https://en.wikipedia.org/favicon.ico\" } ]')\r\n }\r\n let localStorageWebsite = localStorage.getItem('local-website');\r\n let strLocalStorageWebsite = JSON.parse(localStorageWebsite);\r\n let sites = null;\r\n if (strLocalStorageWebsite == null) {\r\n sites = [];\r\n } else {\r\n sites = strLocalStorageWebsite;\r\n }\r\n this.setState({\r\n sites: sites\r\n });\r\n }\r\n\r\n moveBookmark = (position, id) => { // The position here is where you want the bookmark to move\r\n if (this.state.sites[0].id === id && position === 'left') { // You don't want to move the first bookmark left\r\n console.log('Cannot move this')\r\n } else if (this.state.sites[this.state.sites.length - 1].id === id && position === 'right') { // you dont want to move the last bookmark right\r\n console.log('Cannot move this')\r\n } else if (position === 'right') {\r\n const sites = this.state.sites;\r\n const indexOfInterest1 = sites.map(e => e.id).indexOf(id);\r\n const indexOfInterest2 = indexOfInterest1 + 1; // This is the difference between the right and the left\r\n const tempStorageOfBookmark = sites[indexOfInterest1];\r\n sites[indexOfInterest1] = sites[indexOfInterest2];\r\n sites[indexOfInterest2] = tempStorageOfBookmark;\r\n localStorage.setItem('local-website', JSON.stringify(sites));\r\n this.setState({\r\n sites: sites\r\n })\r\n } else if (position === 'left') {\r\n const sites = this.state.sites;\r\n const indexOfInterest1 = sites.map(e => e.id).indexOf(id);\r\n const indexOfInterest2 = indexOfInterest1 - 1; // This is the difference between the right and the left\r\n const tempStorageOfBookmark = sites[indexOfInterest1];\r\n sites[indexOfInterest1] = sites[indexOfInterest2];\r\n sites[indexOfInterest2] = tempStorageOfBookmark;\r\n localStorage.setItem('local-website', JSON.stringify(sites));\r\n this.setState({\r\n sites: sites\r\n })\r\n } else {\r\n console.log('Error with the moveBookmark function')\r\n }\r\n }\r\n\r\n openModifyForm = (id) => {\r\n const sites = this.state.sites;\r\n const indexOfInterest = sites.map(e => e.id).indexOf(id);\r\n const tempStorageOfBookmark = sites[indexOfInterest];\r\n // console.log(id, tempStorageOfBookmark);\r\n this.setState({\r\n modify: tempStorageOfBookmark\r\n });\r\n // Get the modal\r\n const modal = document.getElementById(\"myModification\");\r\n\r\n // Get the button that opens the modal\r\n const btn = document.getElementById(\"myBtn\");\r\n\r\n const titleField = document.getElementById(\"title-field-modify\");\r\n\r\n\r\n // Get the element that closes the modal\r\n const span = document.getElementsByClassName(\"close\")[1]; // The second close button\r\n\r\n // When the user clicks the button, open the modal \r\n\r\n modal.style.display = \"block\";\r\n //This is to focus on the title input field in the modal\r\n titleField.focus();\r\n\r\n\r\n // When the user clicks on (x), close the modal\r\n span.onclick = function () {\r\n modal.style.display = \"none\";\r\n }\r\n\r\n // When the user clicks anywhere outside of the modal, close it\r\n window.onclick = function (event) {\r\n if (event.target == modal) {\r\n modal.style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n modifyBookmark = (id, title, url, faviconUrl) => {\r\n const sites = this.state.sites;\r\n const indexOfInterest = sites.map(e => e.id).indexOf(id);\r\n // console.log(indexOfInterest);\r\n const tempStorageOfBookmark = sites[indexOfInterest];\r\n // console.log(tempStorageOfBookmark);\r\n tempStorageOfBookmark.title = title;\r\n tempStorageOfBookmark.url = url;\r\n tempStorageOfBookmark.id = id;\r\n tempStorageOfBookmark.faviconUrl = faviconUrl\r\n sites[indexOfInterest] = tempStorageOfBookmark;\r\n localStorage.setItem('local-website', JSON.stringify(sites));\r\n this.setState({\r\n sites: sites\r\n })\r\n }\r\n\r\n resetModifyState = () => {\r\n this.setState({\r\n modify: { id: null, url: null, title: null }\r\n })\r\n }\r\n\r\n deleteBookmark = (id) => {\r\n const sites = this.state.sites.filter(site => {\r\n return site.id !== id\r\n });\r\n localStorage.setItem('local-website', JSON.stringify(sites));\r\n this.setState({\r\n sites: sites\r\n })\r\n }\r\n addBookmark = (bookmark) => {\r\n bookmark.id = uuid()\r\n let sites = [...this.state.sites, bookmark];\r\n localStorage.setItem('local-website', JSON.stringify(sites));\r\n this.setState({\r\n sites: sites\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n )\r\n }\r\n}","import React, { Component, createContext } from 'react';\r\n\r\nexport const SettingsContext = createContext();\r\n\r\nexport default class SettingsContextProvider extends Component {\r\n state = {\r\n topSitesNumber: 5,\r\n topSitesShow: false,\r\n numberOfBookmarks: 5,\r\n bookmarksShow: true,\r\n batteryShow: true,\r\n }\r\n\r\n setStorage = () => {\r\n localStorage.setItem('settings', JSON.stringify(this.state));\r\n }\r\n\r\n initializeState = () => {\r\n let storageItems = localStorage.getItem('settings');\r\n if (!storageItems) {\r\n console.log('You do not have cached settings.')\r\n localStorage.setItem('settings', JSON.stringify(this.state))\r\n } else {\r\n storageItems = JSON.parse(storageItems);\r\n this.setState({\r\n ...storageItems\r\n })\r\n }\r\n }\r\n\r\n initializeStorage = () => {\r\n let localStorageSettings = localStorage.getItem('settings');\r\n let strLocalStorageSettings = JSON.parse(localStorageSettings);\r\n let settings = null;\r\n if (strLocalStorageSettings == null) {\r\n settings = [];\r\n } else {\r\n settings = strLocalStorageSettings;\r\n this.setState(settings);\r\n }\r\n }\r\n\r\n changeTopSitesShow = (topSitesShow) => {\r\n const val = Boolean(topSitesShow)\r\n this.setState({\r\n topSitesShow: val\r\n });\r\n localStorage.setItem('settings', JSON.stringify({...this.state}));\r\n }\r\n\r\n changeTopSitesNumber = (e) => {\r\n const val = Number(e);\r\n this.setState({\r\n topSitesNumber: val\r\n });\r\n // I'm doing this because for some reason, the state is not updating properly\r\n const tempState = {...this.state};\r\n tempState.topSitesNumber = e;\r\n\r\n localStorage.setItem('settings', JSON.stringify({...tempState}));\r\n }\r\n\r\n changeBookmarksShow = (bookmarksShow) => {\r\n const val = Boolean(bookmarksShow);\r\n this.setState({\r\n bookmarksShow: val\r\n });\r\n localStorage.setItem('settings', JSON.stringify({...this.state}));\r\n }\r\n\r\n changeBookmarksNumber = (e) => {\r\n const val = Number(e);\r\n this.setState({\r\n numberOfBookmarks: val\r\n });\r\n // I'm doing this because for some reason, the state is not updating properly\r\n const tempState = {...this.state};\r\n tempState.numberOfBookmarks = e;\r\n\r\n localStorage.setItem('settings', JSON.stringify({...tempState}));\r\n }\r\n\r\n changeBatteryShow = (batteryShow) => {\r\n // debug\r\n const val = Boolean(batteryShow);\r\n this.setState({\r\n batteryShow: val\r\n });\r\n localStorage.setItem('settings', JSON.stringify({...this.state}));\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n )\r\n }\r\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n});\n\nfunction SvgX(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"currentColor\",\n className: \"bi bi-x\",\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgX);\nexport default __webpack_public_path__ + \"static/media/X.bf336e02.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5L13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175l-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z\"\n});\n\nfunction SvgPencil(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"currentColor\",\n className: \"bi bi-pencil\",\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPencil);\nexport default __webpack_public_path__ + \"static/media/Pencil.e0d44336.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z\"\n});\n\nfunction SvgArrowRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"currentColor\",\n className: \"bi bi-arrow-right\",\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default __webpack_public_path__ + \"static/media/Arrow-right.2bd46576.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z\"\n});\n\nfunction SvgArrowLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"currentColor\",\n className: \"bi bi-arrow-left\",\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeft);\nexport default __webpack_public_path__ + \"static/media/Arrow-left.ef02da42.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component, useState, useContext, useEffect } from 'react';\r\nimport { BookmarksContext } from '../../../context/BookmarksContext';\r\nimport Carousel from 'react-elastic-carousel';\r\nimport { ReactComponent as X } from '../Svgs/X.svg';\r\nimport { ReactComponent as Editor } from '../Svgs/Pencil.svg';\r\nimport { ReactComponent as RightArrow } from '../Svgs/Arrow-right.svg';\r\nimport { ReactComponent as LeftArrow } from '../Svgs/Arrow-left.svg';\r\nimport { SettingsContext } from '../../../context/Settings';\r\n\r\n// READ THIS !!!\r\n// My View for the TAB\r\n// Search bar is real long\r\n// the Top sites is smaller than the search bar\r\n// the Bookmarks is as long as the search bar\r\n// when you hover over the search bar, it grows a bit\r\n\r\nconst IndividualBookmark = ({ sites, deleteBookmark, addBookmark, moveBookmark, openModifyForm, imgUrls }) => {\r\n\r\n const [open, setOpen] = useState(false);\r\n const context = useContext(SettingsContext)\r\n const [itemsToShow, setItemsToShow] = useState(context.numberOfBookmarks);\r\n\r\n useEffect(() => {\r\n setItemsToShow(context.numberOfBookmarks)\r\n }, [context.numberOfBookmarks])\r\n\r\n const urlConverter = url => {\r\n // this converts urls so that it has the http:// in the beginning\r\n if (url === undefined) {\r\n console.log('Url is none')\r\n } else if (url === null) {\r\n console.log('Url is none')\r\n } else if (url.includes('https://') || url.includes('http://')) {\r\n return url\r\n } else {\r\n return 'http://' + url\r\n }\r\n }\r\n\r\n const dropdown = (\r\n // IDK What I'm doing here\r\n
FOOT
\r\n )\r\n\r\n // const faviconBaseUrl = 'https://www.google.com/s2/u/0/favicons?domain=';\r\n\r\n // If we do not have sites, we want to show a differnt thing. THe .length returns a 0 (false) or 1 or more (True)\r\n const sitesList = sites.length ? (\r\n sites.map(site => {\r\n return (\r\n
\r\n \r\n {dropdown}\r\n \r\n \r\n \r\n {/* This makes the favicon image */}\r\n
\r\n {/* */}\r\n {/* */}\r\n \r\n
\r\n {/* This is there the title should go but I do not know how to use the API call */}\r\n
\r\n

{site.title}

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n })\r\n ) : (\r\n null\r\n )\r\n\r\n let carousel\r\n\r\n switch (itemsToShow) {\r\n case 3:\r\n carousel = (\r\n \r\n {sitesList}\r\n \r\n \r\n )\r\n case 4:\r\n carousel = (\r\n \r\n {sitesList}\r\n \r\n \r\n )\r\n case 5:\r\n carousel =\r\n \r\n {sitesList}\r\n \r\n \r\n\r\n case 6:\r\n carousel =\r\n \r\n {sitesList}\r\n \r\n \r\n\r\n case 7:\r\n carousel = (\r\n \r\n {sitesList}\r\n \r\n \r\n )\r\n case 8:\r\n carousel = (\r\n \r\n {sitesList}\r\n \r\n \r\n )\r\n case 9:\r\n carousel =\r\n \r\n {sitesList}\r\n \r\n \r\n\r\n case 10:\r\n carousel = (\r\n \r\n {sitesList}\r\n \r\n \r\n )\r\n default:\r\n carousel = (\r\n \r\n {sitesList}\r\n \r\n \r\n )\r\n }\r\n\r\n // This is setting the breakpoints fot he Carousel so that is is responsive\r\n const breakPoints = [\r\n { width: 1, itemsToShow: 2, itemsToScroll: 1 },\r\n { width: 100, itemsToShow: 3, itemsToScroll: 2},\r\n { width: 370, itemsToShow: 4, itemsToScroll: 3},\r\n { width: 468, itemsToShow: 5, itemsToScroll: 4 },\r\n ]\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n {sitesList}\r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nfunction EditBookamarks({ deleteBookmark, sid, moveBookmark, openModifyForm }) {\r\n // sid is the id of the component\r\n // This component shows up on the left when you hover over a bookmark\r\n return (\r\n
\r\n
{ deleteBookmark(sid) }}>
\r\n {/* This is a popup modal. The code to open that popup is inthe openModifyForm command in the Bookmakrs Context*/}\r\n {/* Currently this is buggy as it is not rendering in the right title and url after someone already modifies one bookmark */}\r\n {/* You can find the poppup modal in the middlesection.js as the ModifyModal Component */}\r\n
{ openModifyForm(sid) }}>
\r\n {/* These two bottom commands move the bookmark to the left or the right by reordering the list of bookamrks in the BookmarksContext */}\r\n
{ moveBookmark('right', sid) }}>
\r\n
{ moveBookmark('left', sid) }}>
\r\n
\r\n );\r\n}\r\n\r\nclass AddBookmark extends Component {\r\n state = {\r\n url: '',\r\n title: '',\r\n faviconUrl: ''\r\n }\r\n\r\n static contextType = BookmarksContext\r\n\r\n handleChange = (e) => {\r\n this.setState({\r\n url: e.target.value\r\n });\r\n }\r\n handleChangeTitle = (e) => {\r\n this.setState({\r\n title: e.target.value\r\n });\r\n }\r\n handleSubmit = (e) => {\r\n // THIS IS NOT THE REAL FUNCTION THAT UPDATES THE sites OBJECT. THE ACTUAL ONE IS THE Modal CLASS in middleSection.js\r\n // The default for a form is to refresh the page so you have to stop that default\r\n e.preventDefault();\r\n this.props.addBookmark(this.state);\r\n this.setState({\r\n url: '',\r\n title: '',\r\n faviconUrl: ''\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n\r\n // Get the modal\r\n const modal = document.getElementById(\"myModal\");\r\n\r\n // Get the button that opens the modal\r\n const btn = document.getElementById(\"myBtn\");\r\n\r\n const titleField = document.getElementById(\"title-field\");\r\n\r\n\r\n // Get the element that closes the modal\r\n const span = document.getElementsByClassName(\"close\")[0];\r\n\r\n // When the user clicks the button, open the modal \r\n btn.onclick = () => {\r\n modal.style.display = \"block\";\r\n //This is to focus on the title input field in the modal\r\n titleField.focus();\r\n }\r\n\r\n // When the user clicks on (x), close the modal\r\n span.onclick = function () {\r\n modal.style.display = \"none\";\r\n }\r\n\r\n // When the user clicks anywhere outside of the modal, close it\r\n window.onclick = function (event) {\r\n if (event.target == modal) {\r\n modal.style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {/* THIS IS WHERE THE MODAL BUTTON GOES */}\r\n {/* Note this button does nothing. That element that brings the popup is the div above */}\r\n \r\n {/*
\r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default class ScrollingBookmark extends Component {\r\n\r\n // importing the bookmarks context\r\n static contextType = BookmarksContext\r\n\r\n state = {\r\n witdh: 400,\r\n imgUrls: {},\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.context.initialBookmarkSetter();\r\n \r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport uuid from 'react-uuid';\r\nimport { SettingsContext } from '../../../context/Settings';\r\n\r\n\r\nexport default class TopSites extends Component {\r\n\r\n static contextType = SettingsContext;\r\n\r\n state = {\r\n topSiteUrls: [\r\n { url: 'https://www.google.com', title: \"Google\" },\r\n { url: 'https://www.youtube.com', title: \"Youtube\" },\r\n { url: 'https://www.crunchyroll.com', title: \"Crunchyroll\" },\r\n { url: 'https://www.hulu.com', title: 'Hulu' },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" },\r\n { url: 'https://www.dictionary.com', title: \"Dictionary.com\" }\r\n ],\r\n // You can use styleProperties to change the UI of topSites quickly\r\n styleProperties: {\r\n numberOfIcons: 6,\r\n tileWidth: 80,\r\n tileHeight: 75,\r\n tileBorderRadius: 12,\r\n tileBackground: 'rgba(0,0,0,0.2)',\r\n tileBorder: 'rgba(255, 255, 255, 0.65)', // It was this: rgba(0,0,0,0.65)\r\n hoverColor: 'rgba(255,255,0,0.35)'\r\n\r\n }\r\n }\r\n\r\n // These are the apis to get the favicons and the title of a domain. You need to but the domain at the end there. The domain needs to have the \"https://\" in the domain\r\n faviconBaseUrl = 'https://www.google.com/s2/u/0/favicons?domain=';\r\n titleFinderApi = 'http://textance.herokuapp.com/title/'\r\n\r\n // This makes a JSX template for only one if the URLS\r\n defaultArray = (website) => {\r\n //this.state.title = webTitleApiRequest(website)\r\n website.id = uuid();\r\n return (\r\n
\r\n \r\n \r\n {/* This makes the favicon image */}\r\n
\r\n \r\n
\r\n {/* This is there the title should go but I do not know how to use the API call */}\r\n
\r\n

{website.title}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n // This makes an array of 6 UEL components\r\n insertArray = () => {\r\n let arr = [];\r\n this.state.topSiteUrls.slice(0, this.context.topSitesNumber).forEach(urlobj => arr.push(this.defaultArray(urlobj)));\r\n return arr;\r\n }\r\n\r\n componentDidUpdate() {\r\n //document.documentElement.style.setProperty('--top-sites-tile-height', this.state.styleProperties.tileHeight + 'px');\r\n //document.documentElement.style.setProperty('--top-sites-tile-width', this.state.styleProperties.tileWidth + 'px');\r\n //document.documentElement.style.setProperty('--top-sites-border-radius', this.state.styleProperties.tileBorderRadius + 'px');\r\n //document.documentElement.style.setProperty('--top-sites-tile-background-color', this.state.styleProperties.tileBackground);\r\n //document.documentElement.style.setProperty('--top-sites-tile-border-color', this.state.styleProperties.tileBorder);\r\n //document.documentElement.style.setProperty('', + 'px');\r\n //document.documentElement.style.setProperty('--top-sites-tile-hover-color', this.state.styleProperties.hoverColor)\r\n }\r\n\r\n handleNumber = (e) => {\r\n e.preventDefault();\r\n const styleProperties = {...this.state.styleProperties};\r\n styleProperties.numberOfIcons = e.target.value;\r\n this.setState({\r\n styleProperties: styleProperties\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.insertArray()}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { SettingsContext } from '../../context/Settings';\r\nimport ScrollingBookmark from './Bookmarks/ScrollingBookmark';\r\nimport TopSites from './TopSites/TopSites';\r\n\r\nexport default class BookmarkAndTopSitesContainer extends Component {\r\n styleBookmark = '\"--link-item-color-opacity: 1; --link-item-background-opacity: 1; --link-item-display-rotate: 0deg; --link-item-display-gutter: 2; --link-item-display-translate-x: 0em; --link-item-display-translate-y: 0em; --link-item-display-visual-icon-size: 3em; --link-item-display-name-size: 0.9em;\"'\r\n\r\n static contextType = SettingsContext;\r\n\r\n\r\n\r\n insertTopSites = \r\n insertScrollingBookmarks = \r\n\r\n componentDidMount() {\r\n // initialize localStorage\r\n this.context.initializeState()\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.context.topSitesShow && this.insertTopSites}\r\n {this.context.bookmarksShow && this.insertScrollingBookmarks}\r\n
\r\n )\r\n }\r\n}\r\n \r\n\r\n\r\n/*
*/\r\n","import React, { Component } from 'react';\r\nimport { css } from '@emotion/react';\r\nimport App from '../../App';\r\n\r\n\r\nexport default class SearchBar extends Component {\r\n state = {\r\n backgroundColor: 'white',\r\n height: 30,\r\n width: 500, \r\n borderRadius: 50,\r\n maxWidth: 70,\r\n textColor: 'black',\r\n submitColor: 'darkgrey',\r\n submitColorHover: 'grey',\r\n searchText: '',\r\n }\r\n\r\n componentDidMount() {\r\n document.documentElement.style.setProperty('--search-bar-background-color', this.state.backgroundColor);\r\n document.documentElement.style.setProperty('--search-bar-height', this.state.height + 'px'); // The unit is marked here\r\n document.documentElement.style.setProperty('--search-bar-width', this.state.width + 'px');\r\n document.documentElement.style.setProperty('--search-bar-border-radius', this.state.borderRadius + 'px');\r\n document.documentElement.style.setProperty('--search-bar-max-width', this.state.maxWidth + 'vw');\r\n document.documentElement.style.setProperty('--search-bar-text-color', this.state.textColor);\r\n document.documentElement.style.setProperty('--search-bar-submit-color', this.state.submitColor);\r\n document.documentElement.style.setProperty('--search-bar-submit-color-hover', this.state.submitColorHover);\r\n // Moved this to App.js because it will load after all settings set\r\n // document.onkeydown = function(evt) {\r\n // evt = evt || window.event;\r\n // console.log(evt)\r\n // if (evt.key === '/') {\r\n // document.getElementById('search-input-txt').focus();\r\n // // this.searchInput.focus()\r\n // }\r\n // };\r\n // this.searchInput.focus()\r\n }\r\n\r\n handleChange = (inp) => {\r\n this.setState({\r\n searchText: inp\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n (this.searchInput = inputEl)} className=\"search-input-txt\" type=\"text\" name=\"q\" placeholder='Search ...' />\r\n {/**/}\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\n\r\nexport default class Clock extends Component {\r\n state = {\r\n date: new Date(),\r\n weekday: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']\r\n };\r\n\r\n callMe(){\r\n setInterval(() => {\r\n this.setState({ date: new Date() });\r\n }, 60000);\r\n }\r\n\r\n render(){\r\n return(\r\n
\r\n
{this.state.date.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})}
\r\n
{this.state.date.toLocaleDateString('en-us', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}
\r\n {this.callMe()}\r\n
\r\n )\r\n }\r\n}","import React, { Component, createRef } from 'react';\r\nimport axios from 'axios'\r\nimport { BookmarksContext } from '../context/BookmarksContext';\r\nimport BookmarkAndTopSitesContainer from './BookmarkAndTopSites/BookmarkAndTopSitesContainer';\r\nimport SearchBar from './searchBar/searchBar';\r\nimport Clock from './Clock';\r\n\r\nexport default class MiddleSection extends Component {\r\n static contextType = BookmarksContext;\r\n\r\n state = {\r\n tempIncr: 0\r\n }\r\n\r\n modifyTempIncr = (val) => {\r\n this.setState({\r\n tempIncr: val,\r\n modifyTitle: '',\r\n title: '',\r\n url: ''\r\n })\r\n }\r\n\r\n forceUpdateOnModify = () => {\r\n if (this.state.modifyTitle !== this.context.modify.title) {\r\n const bookmarks = JSON.parse(localStorage.getItem('local-website'));\r\n const currBookmark = bookmarks ? bookmarks.filter(bookmark => bookmark.id === this.context.modify.id)[0] : null;\r\n if (currBookmark) {\r\n this.setState({\r\n modifyTitle: this.context.modify.title,\r\n title: currBookmark.title,\r\n url: currBookmark.url\r\n })\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n this.forceUpdateOnModify()\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {/* This is the modal to add a bookmark */}\r\n \r\n {/* This is the modal for modifications */}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nclass Modal extends Component {\r\n state = {\r\n url: this.props.urlplaceholder,\r\n title: this.props.titleplaceholder,\r\n }\r\n showLoading = () => {\r\n let target = document.getElementById(\"add-bookmark-ident\")\r\n target.classList.toggle('loader-ring-bookmarks-box-version-2')\r\n if (target.innerText === \"+\") {\r\n target.innerText = \"\";\r\n } else {\r\n target.innerText = \"+\";\r\n }\r\n }\r\n handleChange = (e) => {\r\n this.setState({\r\n url: e.target.value\r\n });\r\n }\r\n handleChangeTitle = (e) => {\r\n this.setState({\r\n title: e.target.value\r\n });\r\n }\r\n handleSubmit = (e) => {\r\n // The default for a form is to refresh the page so you have to stop that default\r\n e.preventDefault();\r\n\r\n const faviconBaseUrl = 'https://vsg6vi0akc.execute-api.us-east-1.amazonaws.com/prod/favicon';\r\n let bookmark = this.state\r\n // This starts the loading animation. This stops itself for some reason.\r\n // I think this is because this component is called twice?\r\n this.showLoading();\r\n axios.get(faviconBaseUrl, { params: { url: this.state.url, title: this.state.title } }).then(response => {\r\n bookmark['faviconUrl'] = response.data;\r\n this.props.action(bookmark);\r\n })\r\n\r\n this.setState({\r\n url: this.props.urlplaceholder,\r\n title: this.props.titleplaceholder\r\n });\r\n // Get the modal\r\n var modal = document.getElementById(\"myModal\");\r\n modal.style.display = \"none\";\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n ×\r\n

Add a Bookmark

\r\n
\r\n

Name

\r\n \r\n

URL

\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nclass ModifyModal extends Component {\r\n\r\n static contextType = BookmarksContext;\r\n\r\n state = {\r\n url: '',\r\n title: '',\r\n modify: this.props.context.modify,\r\n tempTitle: ''\r\n }\r\n handleChange = (e) => {\r\n this.setState({\r\n url: e.target.value\r\n });\r\n }\r\n handleChangeTitle = (e) => {\r\n this.setState({\r\n title: e.target.value\r\n });\r\n }\r\n handleSubmit = (e) => {\r\n // The default for a form is to refresh the page so you have to stop that default\r\n e.preventDefault();\r\n\r\n const faviconBaseUrl = 'https://vsg6vi0akc.execute-api.us-east-1.amazonaws.com/prod/favicon'; \r\n // I had to make this bookmark variable so that it would update in the axios then method\r\n let bookmark = {}\r\n bookmark.url = this.state.url\r\n bookmark.title = this.state.title\r\n axios.get(faviconBaseUrl, { params: { url: this.state.url, title: this.state.title } }).then(response => {\r\n this.props.action(this.props.context.modify.id, bookmark.title, bookmark.url, response.data);\r\n })\r\n // Get the modal\r\n var modal = document.getElementById(\"myModification\");\r\n modal.style.display = \"none\";\r\n // this.props.modifyTempIncr(42); // Trying to force a rerender\r\n // this.props.context.resetModifyState();\r\n this.setState({\r\n title: '',\r\n url: ''\r\n })\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.title !== this.state.tempTitle) {\r\n this.setState({\r\n tempTitle: this.props.title,\r\n title: this.props.title,\r\n url: this.props.url\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n ×\r\n

Change Bookmark

\r\n
\r\n

New Name

\r\n \r\n

New URL

\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}","import { v4 as uuidv4 } from 'uuid';\r\n\r\nexport const listReducer = (state, action) => {\r\n switch (action.type) {\r\n case 'ADD_TASK':\r\n return [...state, {\r\n title: action.task.title, \r\n id: uuidv4()}\r\n ]\r\n case 'REMOVE_TASK':\r\n return state.filter(task => task.id !== action.id);\r\n default:\r\n return state;\r\n }\r\n} ","import React, { createContext, useReducer, useEffect } from 'react';\r\nimport { listReducer } from '../components/reducers/listReducer';\r\n\r\nexport const ListContext = createContext();\r\n\r\nconst ListContextProvider = (props) => {\r\n const [tasks, dispatch] = useReducer(listReducer, [], () => {\r\n const localData = localStorage.getItem('tasks');\r\n return localData ? JSON.parse(localData) : [];\r\n });\r\n \r\n useEffect(() => {\r\n localStorage.setItem('tasks', JSON.stringify(tasks));\r\n }, [tasks]);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n \r\nexport default ListContextProvider;","import React, {useState} from 'react';\r\nimport { IoReader } from \"react-icons/io5\";\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport NoteAddIcon from '@material-ui/icons/NoteAdd';\r\nimport NotesIcon from '@material-ui/icons/Notes';\r\nimport './NotesToggleButton.css';\r\n\r\nfunction NavItem(props) {\r\n const [open, setOpen] = useState(false);\r\n\r\n return (\r\n
  • \r\n setOpen(!open)}>\r\n {props.icon}\r\n \r\n {/* If open is True, then it will show props.children. That is what && means */}\r\n {open && props.children}\r\n
  • \r\n );\r\n}\r\n\r\nconst NotesDrawerToggleButton = props => (\r\n }>\r\n);\r\n\r\nconst NotesDrawerToggleButtonBackup = props => (\r\n \r\n);\r\n\r\nexport default NotesDrawerToggleButton;","import React, {useState} from 'react';\r\nimport { IoList } from \"react-icons/io5\";\r\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\r\nimport './DrawerToggleButton.css';\r\n\r\nfunction NavItem(props) {\r\n const [open, setOpen] = useState(false);\r\n\r\n return (\r\n
  • \r\n setOpen(!open)}>\r\n {props.icon}\r\n \r\n {/* If open is True, then it will show props.children. That is what && means */}\r\n {open && props.children}\r\n
  • \r\n );\r\n}\r\n\r\nconst drawerToggleButton = props => (\r\n }>\r\n);\r\n\r\nconst drawerToggleButtonBackup = props => (\r\n \r\n);\r\n\r\nexport default drawerToggleButton;","import React, { useContext } from 'react';\r\nimport { ListContext } from '../../../context/ListContext';\r\n\r\nconst TaskDetails = ({ task, turnOn }) => {\r\n const { dispatch } = useContext(ListContext);\r\n return (\r\n
  • {\r\n if (turnOn) {\r\n dispatch({ type: 'REMOVE_TASK', id: task.id });\r\n }\r\n }}>\r\n
    {task.title}
    \r\n
  • \r\n );\r\n}\r\n\r\nexport default TaskDetails;","import React, { useContext, useState } from 'react';\r\nimport { ListContext } from '../../../context/ListContext';\r\nimport TaskDetails from './TaskDetails';\r\nimport '../ToDoList.css';\r\n\r\n\r\nconst ListPreview = () => {\r\n // const { tasks } = useContext(ListContext);\r\n const [attemptRerender, setAttemptRerender] = useState(1);\r\n let tasks = JSON.parse(localStorage.getItem('tasks'));\r\n // const [tasksList, setTasksList] = useState(tasks.map(task => {\r\n // return ( );\r\n // }))\r\n // function reRenderTasks() {\r\n // tasks = JSON.parse(localStorage.getItem('tasks'));\r\n // setTasksList)\r\n // }\r\n return tasks && tasks.length ? (\r\n
    \r\n
    Things To Do
    \r\n
    \r\n
      \r\n {tasks.map(task => {\r\n return ( );\r\n })}\r\n
    \r\n
    \r\n
    \r\n\r\n ) : (\r\n
    \r\n
    No tasks left!
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ListPreview;","import React, { Component, useState } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport axios from 'axios';\r\nimport ListContextProvider from '../../../context/ListContext'\r\nimport NotesDrawerToggleButton from '../../Notes/NotesDrawer/NotesToggleButton'\r\n// import TopRightInformation from '../../TopRightUpperAppsSection/TopRightInformation'\r\nimport DrawerToggleButton from '../SideDrawer/DrawerToggleButton'\r\nimport ListPreview from '../ToDoComponents/ListPreview'\r\nimport { MdDesktopWindows, MdBattery20, MdBattery30, MdBattery50, MdBattery60, MdBattery80, MdBattery90, \r\n MdBatteryCharging20, MdBatteryCharging30, MdBatteryCharging50, MdBatteryCharging60, MdBatteryCharging80, MdBatteryCharging90,\r\n MdBatteryFull, MdBatteryChargingFull } from \"react-icons/md\"\r\nimport './Toolbar.css'\r\n// import BatteryIndicator from '../../TopRightUpperAppsSection/BatteryIndicator';\r\n\r\n// Material UI stuff. Remove in the future\r\nconst useStyles = makeStyles((theme) => ({\r\n typography: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nfunction Toolbar(props) {\r\n const classes = useStyles();\r\n const [joke, setJoke] = useState(null);\r\n const [run, setRun] = useState(true);\r\n\r\n async function getJoke() {\r\n // set up error handling\r\n const res = await axios.get(\"https://icanhazdadjoke.com/slack\");\r\n return res.data.attachments[0].text\r\n }\r\n\r\n const handleClick = (event) => {\r\n let jokeEle = document.getElementById('joke');\r\n if (jokeEle.style.visibility == 'hidden') {\r\n if (run) {\r\n getJoke().then(data => setJoke(\"Joke: \" + data));\r\n setRun(false);\r\n setTimeout(function() {\r\n setRun(true);\r\n }, 60000)\r\n }\r\n jokeEle.style.visibility = 'visible';\r\n jokeEle.style.opacity = '1';\r\n } else {\r\n jokeEle.style.visibility = 'hidden';\r\n jokeEle.style.opacity = '0';\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst toolbarBackup = props => {\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}\r\n\r\nfunction NavItem(props) {\r\n const [open, setOpen] = useState(false);\r\n\r\n return (\r\n
  • \r\n setOpen(!open)}>\r\n {props.icon}\r\n \r\n {/* If open is True, then it will show props.children. That is what && means */}\r\n {open && props.children}\r\n
  • \r\n );\r\n}\r\n\r\nclass BatteryInfo extends Component {\r\n state = {\r\n isCharging: null,\r\n batteryLevel: null,\r\n chargingTime: null,\r\n dischargeTime: null\r\n }\r\n\r\n setBatteryInfoState = () => {\r\n navigator.getBattery().then((battery) => {\r\n this.setState({\r\n isCharging: (battery.charging ? \"Yes\" : \"No\"),\r\n batteryLevel: battery.level * 100,\r\n chargingTime: battery.chargingTime / 60,\r\n dischargeTime: battery.dischargingTime / 60 / 60\r\n })\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n this.setBatteryInfoState();\r\n }\r\n\r\n render() {\r\n let batteryIcon;\r\n\r\n if (this.state.batteryLevel >= 100) { // This is not a reliable method to see if this is desktop\r\n console.log(this.state)\r\n batteryIcon = //change this to
    so that there is no icon for desktops if you want to\r\n } else { if (this.state.batteryLevel < 30) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ; // This makes the icon red\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 50) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 60) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else{ if (this.state.batteryLevel < 80) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 90) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 100) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel == 100) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n }}}}}}}}\r\n \r\n\r\n return (\r\n <>\r\n {batteryIcon}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Toolbar","import React, { useContext } from 'react';\r\nimport { ListContext } from '../../../context/ListContext';\r\n\r\nconst Navbar = () => {\r\n const { tasks } = useContext(ListContext);\r\n return (\r\n
    \r\n

    To Do List

    \r\n

    You have {tasks.length} tasks to complete.

    \r\n
    \r\n );\r\n}\r\n \r\nexport default Navbar;","import React, { useContext, useState } from 'react';\r\nimport { ListContext } from '../../../context/ListContext';\r\n\r\nconst NewTaskForm = () => {\r\n const { dispatch } = useContext(ListContext);\r\n const [title, setTitle] = useState('');\r\n \r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n dispatch({ type: 'ADD_TASK', task: { title}})\r\n setTitle('');\r\n }\r\n\r\n return (\r\n
    \r\n setTitle(e.target.value)} />\r\n \r\n
    \r\n );\r\n}\r\n \r\nexport default NewTaskForm;","import React, { useContext } from 'react';\r\nimport { ListContext } from '../../../context/ListContext';\r\nimport TaskDetails from './TaskDetails';\r\n\r\nconst TaskList = () => {\r\n const { tasks } = useContext(ListContext);\r\n return tasks.length ? (\r\n
    \r\n
      \r\n {tasks.map(task => {\r\n return ( );\r\n })}\r\n
    \r\n
    \r\n ) : (\r\n
    No tasks to do. Enjoy your break!
    \r\n );\r\n}\r\n\r\nexport default TaskList;","import React from 'react'\r\nimport ListContextProvider from '../../../context/ListContext';\r\nimport Navbar from '../ToDoComponents/Navbar';\r\nimport NewTaskForm from '../ToDoComponents/NewTaskForm';\r\nimport TaskList from '../ToDoComponents/TaskList';\r\n\r\nimport './SideDrawer.css'\r\n\r\nconst sideDrawer = props => {\r\n let drawerClasses = 'side-drawer';\r\n if (props.show) {\r\n drawerClasses = 'side-drawer open';\r\n document.getElementById('add-new-task').focus()\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default sideDrawer","import React from 'react';\r\nimport './Backdrop.css';\r\n\r\nconst Backdrop = props => (\r\n
    \r\n);\r\n\r\nexport default Backdrop;","import React, { Component, useState, useContext, useEffect, useRef } from 'react';\r\nimport { SettingsContext } from '../../context/Settings';\r\nimport { MdDesktopWindows, MdBattery20, MdBattery30, MdBattery50, MdBattery60, MdBattery80, MdBattery90, \r\n MdBatteryCharging20, MdBatteryCharging30, MdBatteryCharging50, MdBatteryCharging60, MdBatteryCharging80, MdBatteryCharging90,\r\n MdBatteryFull, MdBatteryChargingFull } from \"react-icons/md\";\r\nimport './BatteryIndicator.css';\r\n\r\nexport default class BatteryIndicator extends Component {\r\n state = {\r\n isCharging: null,\r\n batteryLevel: null,\r\n chargingTime: null,\r\n dischargeTime: null\r\n }\r\n\r\n setBatteryInfoState = () => {\r\n navigator.getBattery().then((battery) => {\r\n this.setState({\r\n isCharging: (battery.charging ? \"Yes\" : \"No\"),\r\n batteryLevel: battery.level * 100,\r\n chargingTime: battery.chargingTime / 60,\r\n dischargeTime: battery.dischargingTime / 60 / 60\r\n })\r\n // These event listeners are not working\r\n //battery.addEventListener('chargingchange', console.log('chargingchange'))\r\n //battery.addEventListener('levelchange', console.log('levelchange'))\r\n //battery.addEventListener('chargingtimechange', console.log('chargingtimechange'))\r\n // battery.addEventListener('dischargingtimechange', console.log('dischargingtimechange'))\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n this.setBatteryInfoState();\r\n }\r\n\r\n render() {\r\n let batteryIcon;\r\n\r\n if (this.state.dischargeTime > 1000) {\r\n batteryIcon = \r\n } else { if (this.state.batteryLevel < 30) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 50) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 60) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else{ if (this.state.batteryLevel < 80) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 90) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel < 100) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n } else { if (this.state.batteryLevel == 100) {\r\n if (this.state.isCharging == \"No\") {\r\n batteryIcon = ;\r\n } else {\r\n batteryIcon = ;\r\n }\r\n }}}}}}}}\r\n \r\n\r\n return (\r\n
    \r\n

    {batteryIcon}

    \r\n
    \r\n )\r\n }\r\n}","const styles = theme => ({\r\n root: {\r\n backgroundColor: theme.palette.background.paper,\r\n height: 'calc(100% - 35px)',\r\n position: 'absolute',\r\n left: '0',\r\n width: '300px',\r\n boxShadow: '0px 0px 2px black'\r\n },\r\n newChatBtn: {\r\n borderRadius: '0px'\r\n },\r\n unreadMessage: {\r\n color: 'red',\r\n position: 'absolute',\r\n top: '0',\r\n right: '5px'\r\n },\r\n newNoteBtn: {\r\n width: '100%',\r\n height: '50px',\r\n borderBottom: '1px solid black',\r\n borderRadius: '0px',\r\n backgroundColor: '#484A4D',\r\n color: 'white',\r\n '&:hover': {\r\n backgroundColor: '#72757a'\r\n }\r\n },\r\n sidebarContainer: {\r\n marginTop: '0px',\r\n width: '240px',\r\n height: '100%',\r\n boxSizing: 'border-box',\r\n float: 'left',\r\n overflowY: 'auto',\r\n overflowX: 'hidden'\r\n },\r\n newNoteInput: {\r\n width: '100%',\r\n margin: '0px',\r\n height: '35px',\r\n outline: 'none',\r\n border: 'none',\r\n paddingLeft: '5px',\r\n '&:focus': {\r\n outline: '2px solid black'\r\n }\r\n },\r\n newNoteSubmitBtn: {\r\n width: '100%',\r\n backgroundColor: '#484A4D',\r\n borderRadius: '0px',\r\n color: 'white',\r\n '&:hover': {\r\n backgroundColor: '#72757a'\r\n }\r\n }\r\n});\r\n\r\nexport default styles;","const styles = theme => ({\r\n listItem: {\r\n cursor: 'pointer'\r\n },\r\n textSection: {\r\n maxWidth: '85%'\r\n }, \r\n deleteIcon: {\r\n position: 'absolute',\r\n right: '5px',\r\n top: 'calc(50% - 15px)',\r\n '&:hover': {\r\n color: 'red'\r\n }\r\n }\r\n});\r\n\r\nexport default styles;","import React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport styles from './styles';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { removeHTMLTags } from '../helpers';\r\n\r\nclass SidebarItemComponent extends React.Component {\r\n\r\n render() {\r\n\r\n const { _index, _note, classes, selectedNoteIndex } = this.props;\r\n\r\n return(\r\n
    \r\n \r\n
    this.selectNote(_note, _index)}>\r\n \r\n
    \r\n this.deleteNote(_note)}\r\n className={classes.deleteIcon}>\r\n \r\n
    \r\n );\r\n }\r\n selectNote = (n, i) => this.props.selectNote(n, i);\r\n deleteNote = (note) => {\r\n if(window.confirm(`Are you sure you want to delete: ${note.title}`)) {\r\n this.props.deleteNote(note);\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default withStyles(styles)(SidebarItemComponent);","export default function debounce(a,b,c){\r\n var d,e;\r\n return function(){\r\n function h(){\r\n d=null;\r\n c||(e=a.apply(f,g));\r\n }\r\n var f=this,g=arguments;\r\n return (clearTimeout(d),d=setTimeout(h,b),c&&!d&&(e=a.apply(f,g)),e)\r\n }\r\n}\r\n\r\nexport function removeHTMLTags (str) {\r\n return str.replace(/<[^>]*>?/gm, '');\r\n};\r\n","import React from 'react';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport styles from './styles';\r\nimport List from '@material-ui/core/List';\r\nimport { Divider, Button } from '@material-ui/core';\r\nimport SidebarItemComponent from '../sidebaritem/sidebarItem';\r\n\r\nclass SidebarComponent extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n addingNote: false,\r\n title: null\r\n };\r\n this.noteRef = React.createRef();\r\n this.handleEscape = this.handleEscape.bind(this)\r\n }\r\n render() {\r\n\r\n const { notes, classes, selectedNoteIndex } = this.props;\r\n\r\n if(notes) {\r\n return(\r\n
    \r\n {this.state.addingNote ? 'Cancel' : 'Create New Note'}\r\n {\r\n this.state.addingNote ? \r\n
    \r\n this.updateTitle(e.target.value)}\r\n onKeyDown={(e) => this.handleEscape(e)}\r\n >\r\n \r\n \r\n
    \r\n :\r\n null\r\n }\r\n {\r\n // this.state.addingNote ? : null\r\n }\r\n \r\n {\r\n notes.map((_note, _index) => {\r\n return(\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n
    \r\n );\r\n } else {\r\n return(
    Error. That's all we know :/
    );\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if(this.state.addingNote) {\r\n this.noteRef.current.focus()\r\n }\r\n }\r\n\r\n handleEscape = (e) => {\r\n if (e.key === 'Escape') {\r\n this.newNoteBtnClick();\r\n }\r\n\r\n }\r\n\r\n newNoteBtnClick = () => {\r\n this.setState({ title: null, addingNote: !this.state.addingNote });\r\n\r\n }\r\n updateTitle = (txt) => {\r\n this.setState({ title: txt });\r\n }\r\n newNote = () => {\r\n // This is a fail safe in case they do not put anything in the input box. Without this, it crashes the webpage\r\n if (this.state.title == null){\r\n return;\r\n } else {\r\n this.props.newNote(this.state.title);\r\n this.setState({ title: null, addingNote: false });\r\n }\r\n }\r\n newNoteForm = (e) => {\r\n e.preventDefault()\r\n // This is a fail safe in case they do not put anything in the input box. Without this, it crashes the webpage\r\n if (this.state.title == null){\r\n return;\r\n } else {\r\n this.props.newNote(this.state.title);\r\n this.setState({ title: null, addingNote: false });\r\n }\r\n }\r\n selectNote = (n, i) => this.props.selectNote(n, i);\r\n deleteNote = (note) => this.props.deleteNote(note);\r\n\r\n}\r\n\r\nexport default withStyles(styles)(SidebarComponent);","const styles = theme => ({\r\n root: {\r\n backgroundColor: theme.palette.background.paper,\r\n height: 'calc(100% - 35px)',\r\n position: 'absolute',\r\n left: '0',\r\n width: '400px',\r\n boxShadow: '0px 0px 2px black'\r\n },\r\n titleInput: {\r\n height: '50px',\r\n boxSizing: 'border-box',\r\n border: 'none',\r\n padding: '5px',\r\n fontSize: '24px',\r\n width: 'calc(100% - 240px)',\r\n minWidth: '50px',\r\n backgroundColor: '#484A4D',\r\n color: 'white',\r\n paddingLeft: '50px',\r\n borderTopRightRadius: '1rem'\r\n },\r\n editIcon: {\r\n position: 'absolute',\r\n left: '310px',\r\n top: '12px',\r\n color: 'white',\r\n width: '10',\r\n height: '10'\r\n },\r\n editorContainer: {\r\n height: '100%',\r\n boxSizing: 'border-box',\r\n backgroundColor: 'white',\r\n borderTopRightRadius: '1rem',\r\n borderBottomRightRadius: '1rem'\r\n }\r\n});\r\n\r\nexport default styles;","import React from 'react';\r\nimport ReactQuill, { Quill } from \"react-quill\";\r\nimport \"react-quill/dist/quill.snow.css\";\r\n// import debounce from '../helpers';\r\n// import BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport styles from './styles';\r\nimport { BiArrowFromLeft } from \"react-icons/bi\";\r\n\r\nconst CustomHeart = () => ♥;\r\n\r\nfunction insertHeart() {\r\n const cursorPosition = this.quill.getSelection().index;\r\n this.quill.insertText(cursorPosition, \"♥\");\r\n this.quill.setSelection(cursorPosition + 1);\r\n}\r\n\r\n/*\r\n * Custom toolbar component including the custom heart button and dropdowns\r\n */\r\nconst CustomToolbar = () => (\r\n
    \r\n \r\n \r\n \r\n {handleChange(e)}}/>\r\n
    \r\n \r\n {imageUpload(e)}} />\r\n
    Auto
    \r\n
    \r\n
    {note}
    \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport Settings from './Settings/Settings';\r\nimport { ReactComponent as CogIcon } from './Svgs/cog.svg';\r\nimport './WholeNavbar.css';\r\n\r\nexport default function WholeNavbar() {\r\n return (\r\n \r\n }>\r\n {/* Dropdown Stuff here */}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction Navbar(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nfunction NavItem(props) {\r\n const [open, setOpen] = useState(false);\r\n\r\n const handleOpen = () => {\r\n if (open) {\r\n setOpen(false)\r\n } else {\r\n setOpen(true)\r\n }\r\n }\r\n\r\n function OutsideDetector() {\r\n const wrapperRef = useRef(null);\r\n\r\n useEffect(() => {\r\n function handleDetector(event) {\r\n if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {\r\n setOpen(!open)\r\n }\r\n }\r\n\r\n document.addEventListener(\"mousedown\", handleDetector);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleDetector);\r\n };\r\n }, [wrapperRef]);\r\n\r\n return
    {props.children}
    ;\r\n }\r\n\r\n const openerEle = (\r\n \r\n\r\n \r\n )\r\n\r\n return (\r\n
  • \r\n handleOpen()}>\r\n {props.icon}\r\n \r\n {/* If open is True, then it will show props.children. That is what && means */}\r\n {open && openerEle}\r\n
  • \r\n );\r\n}","import React, { Component } from \"react\";\r\nimport MiddleSection from \"./components/middleSection\";\r\nimport Toolbar from \"./components/ToDoList/Toolbar/Toolbar\";\r\nimport SideDrawer from \"./components/ToDoList/SideDrawer/SideDrawer\";\r\nimport Backdrop from \"./components/ToDoList/Backdrop/Backdrop\";\r\nimport TopRightSection from \"./components/TopRightSection\";\r\nimport BookmarksContextProvider from \"./context/BookmarksContext\";\r\nimport NotesDrawer from \"./components/Notes/NotesDrawer/NotesDrawer\";\r\nimport SettingsContextProvider from \"./context/Settings\";\r\nimport WholeNavbar from \"./components/Navbar/WholeNavbar\";\r\n\r\n\r\nclass App extends Component {\r\n state = {\r\n sideDrawerOpen: false,\r\n notesDrawerOpen: false\r\n }\r\n\r\n drawerToggleClickHandler = () => {\r\n this.setState({ sideDrawerOpen: true })\r\n }\r\n\r\n notesDrawerToggleClickHandler = () => {\r\n this.setState({ notesDrawerOpen: true })\r\n }\r\n\r\n backdropClickHandler = () => {\r\n this.setState({ sideDrawerOpen: false, notesDrawerOpen: false })\r\n }\r\n\r\n render() {\r\n let backdrop = null;\r\n\r\n if (this.state.sideDrawerOpen) {\r\n backdrop = \r\n\r\n }\r\n if (this.state.notesDrawerOpen) {\r\n backdrop = \r\n }\r\n return (\r\n
    \r\n \r\n \r\n {backdrop}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n componentDidMount() {\r\n // Get local storage to work\r\n // chrome.runtime.sendMessage({method: \"getStatus\"}, function(response) {\r\n // console.log(response.status);\r\n // });\r\n\r\n // \r\n const darkMode = JSON.parse(localStorage.getItem('dark-mode'))\r\n if (darkMode=== null) {\r\n localStorage.setItem('dark-mode', true); // set default to dark mode\r\n }\r\n\r\n if (darkMode == true || darkMode == null) { // So this is for Dark Mode.\r\n document.documentElement.style.setProperty('--color-mode-border-1-general', 'var(--dark-mode-general');\r\n document.documentElement.style.setProperty('--color-mode-border-2-general', 'var(--dark-mode-general');\r\n document.documentElement.style.setProperty('--color-mode-text', 'white');\r\n document.documentElement.style.setProperty('--color-mode-general', 'var(--dark-mode-general');\r\n document.documentElement.style.setProperty('--color-mode-svg', '#dadce1');\r\n document.documentElement.style.setProperty('--color-mode--svg-background', '#484a4d');\r\n } else { // So this is for Light Mode\r\n document.documentElement.style.setProperty('--color-mode-border-1-general', 'var(--light-mode-general)');\r\n document.documentElement.style.setProperty('--color-mode-border-2-general', 'var(--light-mode-general)');\r\n document.documentElement.style.setProperty('--color-mode-text', '#202020');\r\n document.documentElement.style.setProperty('--color-mode-general', 'var(--light-mode-general)');\r\n document.documentElement.style.setProperty('--color-mode-svg', '#dadce1');\r\n document.documentElement.style.setProperty('--color-mode--svg-background', '#484a4d')\r\n }\r\n\r\n // There seems to be no default I put here but in Settings.js the default is 0px\r\n if (localStorage.getItem('background-blur')) {\r\n document.documentElement.style.setProperty('--background-blur', String(\r\n JSON.parse(localStorage.getItem('background-blur'))\r\n ) + 'px')\r\n }\r\n\r\n if (localStorage.getItem('background-brightness')) {\r\n document.documentElement.style.setProperty('--background-brightness', String(\r\n JSON.parse(localStorage.getItem('background-brightness'))\r\n ))\r\n }\r\n\r\n const layout = localStorage.getItem('layout')\r\n if (layout) {\r\n if (JSON.parse(layout)) { // So this is for Clean Layout\r\n let element = document.getElementById('layout-custom');\r\n element.classList.add('remove-background-and-border');\r\n element = document.getElementById('toolbar__navigation-version-2');\r\n element.classList.add('remove-background-keep-border');\r\n element = document.getElementById('preview-container');\r\n element.classList.add('remove-background-keep-border');\r\n element = document.getElementById('top-right-navbar');\r\n element.classList.add('remove-background-keep-border');\r\n } else { // So this is for Box Layout\r\n let element = document.getElementById('layout-custom');\r\n element.classList.remove('remove-background-and-border');\r\n element = document.getElementById('toolbar__navigation-version-2');\r\n element.classList.remove('remove-background-keep-border');\r\n element = document.getElementById('preview-container');\r\n element.classList.remove('remove-background-keep-border');\r\n element = document.getElementById('top-right-navbar');\r\n element.classList.remove('remove-background-keep-border');\r\n }\r\n } else { // This is to make the default the Clean Layout\r\n let element = document.getElementById('layout-custom');\r\n element.classList.add('remove-background-and-border');\r\n element = document.getElementById('toolbar__navigation-version-2');\r\n element.classList.add('remove-background-keep-border');\r\n element = document.getElementById('preview-container');\r\n element.classList.add('remove-background-keep-border');\r\n element = document.getElementById('top-right-navbar');\r\n element.classList.add('remove-background-keep-border');\r\n\r\n }\r\n\r\n const backgroundImage = localStorage.getItem('background-image')\r\n if (backgroundImage) {\r\n document.documentElement.style.setProperty('--background-image', 'url(' + String(JSON.parse(backgroundImage)) + ')')\r\n } else {\r\n document.documentElement.style.setProperty('--background-image', 'url(/background.jpeg)')\r\n // This is the part where I want to add the background image into the local storage\r\n // ideally there should be a try excet clause so that if there is an error storing this into memory, then I can make it run in default\r\n // I need a way to make it so that it does not delete the image used by the user\r\n // Best to do this with local storage variable. I believe there is one already called 'background-auto'. So use this.\r\n // Also this needs to run in a clock system so that everyday, it 1) deletes the old stored image 2) stores the new image every 23 hours at 1 AM\r\n // Do this by ...\r\n // Also you need to credit the people who took the image idiot\r\n\r\n // is there a fun fact api? \r\n // This seems free and easy to use: https://api.fungenerators.com\r\n }\r\n\r\n // Set default UCONN apps to show\r\n const uconnAppsShow = JSON.parse(localStorage.getItem('uconnItems'));\r\n if (uconnAppsShow === null) {\r\n localStorage.setItem('uconnItems', true); // Set default to show UCONN Apps\r\n document.documentElement.style.setProperty('--uconn-apps', 'flex');\r\n } else if (uconnAppsShow == true) {\r\n document.documentElement.style.setProperty('--uconn-apps', 'flex');\r\n } else if (uconnAppsShow == false) {\r\n document.documentElement.style.setProperty('--uconn-apps', 'none');\r\n }\r\n\r\n // Setting automatic background image changes to on\r\n if (localStorage.getItem('background-on') === \"false\") {\r\n localStorage.setItem('background-auto', true);\r\n }\r\n\r\n // This is to slowly fade the loading animation out and the tab in\r\n // This animates thw whole page in\r\n const target = document.getElementById(\"loader-wrapper\");\r\n const rootTarget = document.getElementById(\"root\");\r\n const loader = document.getElementById(\"loader\");\r\n\r\n // This statement is only needed for development because this runs when you save this file.\r\n try {\r\n target.style.opacity = '0';\r\n rootTarget.style.opacity = '1';\r\n loader.style.animation = 'zoom-in-zoom-out 1s ease infinite';\r\n // Remove the animation element\r\n setTimeout(function(){\r\n target.remove();\r\n }, 3000);\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n \r\n\r\n // This has to be the last line\r\n // Not so sure if this part is a good idea\r\n // document.getElementById('search-input-txt').focus()\r\n }\r\n}\r\n\r\nexport default App;","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport './components/searchBar/searchBar.css';\r\nimport './components/MiddleSection.css';\r\nimport './components/BookmarkAndTopSites/BookmarkAndTopSitesContainer.css';\r\nimport './components/BookmarkAndTopSites/TopSites/TopSites.css';\r\nimport './components/BookmarkAndTopSites/Bookmarks/Bookmarks.css';\r\nimport './components/TopRightSection.css';\r\nimport './components/TopRightUpperAppsSection/TopRightApps.css';\r\nimport './components/TopRightUpperAppsSection/TopRightInformation.css';\r\nimport './components/ToDoList/ToDoList.css'\r\nimport './components/Notes/Notes.css';\r\nimport './components/Notes/NotesDrawer/NotesDrawer.css';\r\n\r\n// import \"slick-carousel/slick/slick.css\"; // FIND IF THERE IS A DIFFERENCE BETWEEN THESE TWO\r\n// import \"slick-carousel/slick/slick-theme.css\"; //\r\nimport './components/BookmarkAndTopSites/Bookmarks/ScrollingBookmark.css'\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}