{"version":3,"sources":["helpers/LayoutComponents.js","helpers/LoginState.js","components/HeaderComponent.js","helpers/utils.js","components/Login.js","components/CreateUser.js","components/CreateNote.js","helpers/PopupInlineElements.js","helpers/ConfirmPopup.js","components/FindNote.js","components/Converter.js","helpers/PublicRoutes.js","App.js","registerServiceWorker.js","index.js"],"names":["TitleBar","styled","div","PageTitle","span","CenterFixed","CenterContent","ContentPane","StyledSelect","p","width","active","height","select","Select","name","options","error","value","onChange","rest","id","invalid","e","key","disabled","map","option","index","label","TextBox","input","TextArea","textarea","Button","button","Link","color","HeaderTable","td","table","LeftTD","RightTD","Header","ErrorMessage","SuccessMessage","LoginState","JSON","parse","localStorage","getItem","HeaderComponent","props","state","state1","state2","loggedIn","removeItem","this","history","push","style","paddingLeft","textAlign","paddingRight","onClick","logout","userName","Component","encodeText","textToEncode","encoded","Base64","encode","substr","length","decodeText","textToDecode","unscrambled","decode","Login","captureInput","setState","target","loginKeyPressed","charCode","attemptLogin","login","password","errorMsg","response","axios","get","params","pLogin","pPassword","resultMessage","data","toString","startsWith","token","jwt","sign","algorithm","expiresIn","setItem","stringify","paddingTop","type","onKeyPress","colSpan","CreateUser","attemptCreate","admin","pAdmin","CreateNote","keywords","description","successMsg","pUser","pKeywords","pDescription","verticalAlign","attemptSubmit","InlineClose","InlineWrapper","InlineCard","InlineHeader","InlineBody","ConfirmPopup","show","title","size","onClose","displayContent","margin","onSubmit","FindNote","searchResults","context","searchKeyPressed","attemptSearch","selectOptions","selectIndex","showPopup","resultData","fillList","i","errMsg","pDelete","splice","saveChanges","deleteNote","buttonMessage","getContent","Converter","encrypt","encrypted","decrypt","decrypted","readOnly","attemptEncrypt","attemptDecrypt","PublicRoutes","user","useHistory","exact","path","component","from","to","App","displayName","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","catch","baseUrl","document","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","basename","URL","process","origin","addEventListener","fetch","status","headers","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.8a9e445a.chunk.js","sourcesContent":["import styled from 'styled-components';\r\nimport React from 'react';\r\n\r\nexport const TitleBar = styled.div`\r\n margin: 0;\r\n width: 100%;\r\n height: 65px;\r\n background-color: white;\r\n border-bottom: 1px solid gray;\r\n`;\r\n\r\nexport const PageTitle = styled.span`\r\n font-family: 'Architects Daughter';\r\n font-size: 24px;\r\n`;\r\n\r\nexport const CenterFixed = styled.div`\r\n min-width: 500px;\r\n max-width: 1600px;\r\n height: 64px;\r\n margin: 0 auto;\r\n text-align: center;\r\n`;\r\n\r\nexport const CenterContent = styled.div`\r\n min-width: 800px;\r\n max-width: 1600px;\r\n max-width: 1600px;\r\n height: calc(100vh - 65px);\r\n margin: 0 auto;\r\n background-color: #f7f7ff;\r\n`;\r\n\r\nexport const ContentPane = styled.div`\r\n position: fixed;\r\n left: 0px;\r\n top: 65px;\r\n width: 100%;\r\n margin: 0 auto;\r\n height: calc(100vh - 65px);\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n z-index: 1;\r\n overflow-x: hidden;\r\n transition: width 0.2s;\r\n border-top: 1px solid lightgray;\r\n`;\r\n\r\nexport const PageWrapper = styled.div`\r\n width: 100%;\r\n max-width: 1440px;\r\n padding-top: 30px;\r\n font-size: 14px;\r\n font-family: 'Verdana';\r\n`;\r\n\r\nexport const CenterDiv = styled.div`\r\n text-align: center;\r\n vertical-align: middle;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const TabControl = styled.div`\r\n width: ${p => p.width ? p.width : '800px'};\r\n margin: 0 auto;\r\n`;\r\n\r\nexport const TabHeaders = styled.div`\r\n height: 35px;\r\n padding: 0px;\r\n margin: 0px;\r\n display: flex; \r\n border-bottom: 1px solid white;\r\n font-family: 'Rancho';\r\n`;\r\n\r\nexport const Tab = styled.div`\r\n height: 35px;\r\n width: 150px;\r\n text-align: center;\r\n cursor: pointer;\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n padding-bottom: 0px;\r\n padding-top: 0px;\r\n margin: 0px;\r\n background-color: ${p => p.active ? 'white' : '#e6e8f0'};\r\n border-top: 2px solid ${p => p.active ? 'green' : 'transparent'};\r\n border-left: 1px solid ${p => p.active ? 'lightgray' : 'transparent'}; \r\n &:hover { \r\n border-top: 2px solid ${p => p.active ? 'green' : '#305ba1' }; \r\n background-color: ${p => p.active ? 'white' : '#d7ddf5' };\r\n }\r\n border-bottom: 1px solid white;\r\n font-size: 23px;\r\n`;\r\n\r\nexport const TabContent = styled.div`\r\n height: ${p => p.height ? p.height : '500px'};\r\n background-color: white; \r\n border-bottom: 1px solid lightgray;\r\n border-right: 1px solid lightgray;\r\n border-left: 1px solid lightgray;\r\n box-shadow: 3px 3px 3px #a7b3c7;\r\n padding: 15px;\r\n`;\r\n\r\nexport const StyledSelect = styled.select`\r\n width: ${p => p.width ? p.width : '200px'};\r\n background-color: white;\r\n border: 1px solid lightgray;\r\n box-shadow: 2px 2px 2px #a7b3c7;\r\n &:focus {\r\n border: 1px solid #37426e;\r\n box-shadow: 2px 2px 2px #4d598a;\r\n outline: none;\r\n }\r\n margin: 2px 0px 2px 0px;\r\n`;\r\n\r\nexport const Select = ({ name, options = [], error, value, onChange, ...rest }) => (\r\n onChange(e)}\r\n >\r\n \r\n {options.map((option, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const TextBox = styled.input`\r\n width: ${p => p.width ? p.width : '200px'};\r\n background-color: white;\r\n border: 1px solid lightgray;\r\n box-shadow: 2px 2px 2px #a7b3c7;\r\n &:focus {\r\n border: 1px solid #37426e;\r\n box-shadow: 2px 2px 2px #4d598a;\r\n outline: none;\r\n }\r\n margin: 2px 0px 2px 0px;\r\n`;\r\n\r\nexport const TextArea = styled.textarea`\r\n width: ${p => p.width ? p.width : '200px'};\r\n height: ${p => p.height ? p.height : '50px'};\r\n background-color: white;\r\n resize: none;\r\n line-height: 1;\r\n border: 1px solid lightgray;\r\n box-shadow: 2px 2px 2px #a7b3c7;\r\n &:focus {\r\n border: 1px solid #37426e;\r\n box-shadow: 2px 2px 2px #4d598a;\r\n outline: none;\r\n }\r\n`;\r\n\r\nexport const Button = styled.button`\r\n width: 130px;\r\n height: 25px;\r\n border: 1px solid #97a3b7;\r\n border-radius: 3px;\r\n box-shadow: 2px 2px 2px #a7b3c7;\r\n color: #677387;\r\n padding-bottom: 5px;\r\n text-align: center;\r\n text-decoration: none;\r\n display: inline-block;\r\n font-size: 12px;\r\n &:hover {\r\n background-color: #dddddd;\r\n }\r\n &:active {\r\n background-color: #bbbbbb;\r\n border: 1px solid #37426e;\r\n outline: none;\r\n }\r\n &:focus {\r\n border: 1px solid #37426e;\r\n outline: none;\r\n box-shadow: 2px 2px 2px #4d598a;\r\n }\r\n`;\r\n\r\nexport const Link = styled.span`\r\n font-family: Verdana;\r\n font-size: 12px;\r\n color: ${p => p.color ? p.color : 'green'};\r\n cursor: pointer;\r\n text-decoration: underline;\r\n &:hover {\r\n color: #37426e;\r\n }\r\n &:active {\r\n color: blue;\r\n }\r\n`;\r\n\r\nexport const BlackLink = styled.span`\r\n font-family: Verdana;\r\n font-size: 12px;\r\n color: black;\r\n cursor: pointer;\r\n &:hover {\r\n color: #37426e;\r\n text-decoration: underline;\r\n }\r\n &:active {\r\n color: blue;\r\n }\r\n`;\r\n\r\nexport const YellowLink = styled.span`\r\n font-family: Verdana;\r\n font-size: 12px;\r\n color: yellow;\r\n cursor: pointer;\r\n text-decoration: underline;\r\n &:hover {\r\n color: #7d8fad;\r\n }\r\n &:active {\r\n color: white;\r\n }\r\n`;\r\n\r\nexport const NodeBorder = styled.div`\r\n width: 90%;\r\n border: 1px solid black;\r\n margin: 10px;\r\n box-shadow: 2px 2px 2px #4d598a;\r\n background-color: white;\r\n`;\r\n\r\nexport const NodeLinkTD = styled.td`\r\n width: 32%;\r\n`;\r\n\r\nexport const NodeSpacerTD = styled.td`\r\n width: 2%;\r\n`;\r\n\r\nexport const NodeLinkDiv = styled.div`\r\n border: 1px solid black;\r\n box-shadow: 2px 2px 2px #4d598a;\r\n background-color: white;\r\n`;\r\n\r\nexport const LinksTable = styled.table`\r\n width: 90%;\r\n margin: 10px;\r\n`;\r\n\r\nexport const BlueHeader = styled.div`\r\n font-size: 14px;\r\n color: white;\r\n min-height: 30px;\r\n background-color: #37426e;\r\n width: 100%;\r\n padding: 5px;\r\n`;\r\n\r\nexport const NodeTextArea = styled.div`\r\n font-size: 14px;\r\n min-height: 30px;\r\n width: 100%;\r\n height: ${p => p.height ? p.height : '150px'};\r\n padding: 5px;\r\n`;\r\n\r\nexport const TextFieldBorder = styled.div`\r\n width: 90%;\r\n border: 1px solid black;\r\n margin: 10px;\r\n box-shadow: 2px 2px 2px #4d598a;\r\n background-color: white;\r\n padding: 5px;\r\n`;\r\n\r\nexport const ClearTextBox = styled.textarea`\r\n height: ${p => p.height ? p.height : '50px'};\r\n width: 100%;\r\n resize: none;\r\n line-height: 1;\r\n background-color: white;\r\n padding: 3px;\r\n border: none;\r\n outline: none;\r\n &:focus {\r\n border-top: 1px solid #e2e2e2;\r\n }\r\n`;\r\n\r\nexport const SpacerDiv = styled.div`\r\n height: ${p => p.height ? p.height : '25px'};\r\n`;\r\n\r\nexport const HeaderDiv = styled.div`\r\n min-width: 800px;\r\n max-width: 1600px;\r\n width: 100%;\r\n height: 35px;\r\n margin: 0 auto;\r\n text-align: center;\r\n position: absolute;\r\n top: 0px; \r\n background-color: #627180;\r\n color: white;\r\n border-bottom: 2px solid black;\r\n border-top: 2px solid black;\r\n`;\r\n\r\nexport const HeaderTable = styled.table`\r\n width: 100%;\r\n height: 30px;\r\n margin: 0px;\r\n padding: 0px;\r\n`;\r\n\r\nexport const LeftTD = styled.td`\r\n text-align: left;\r\n padding-left: 10px;\r\n`;\r\n\r\nexport const RightTD = styled.td`\r\n text-align: right;\r\n padding-right: 10px;\r\n`;\r\n\r\nexport const FixedRightTD = styled.td`\r\n text-align: right;\r\n padding-right: 10px;\r\n width: 230px;\r\n min-width: 230px;\r\n`;\r\n\r\nexport const NodeTree = styled.select`\r\n width: 300px;\r\n border: 0px;\r\n border-bottom: 2px solid #7d8fad;\r\n margin: 0px 0px 0px 0px;\r\n background-color: #627180;\r\n color: white;\r\n font-family: Verdana;\r\n font-size: 12px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n border-bottom: 2px solid #8d9fbd;\r\n }\r\n\r\n & option {\r\n background-color: white;\r\n color: black;\r\n }\r\n`;\r\n\r\nexport const SmallText = styled.span`\r\n font-family: Verdana;\r\n font-size: 12px;\r\n`;\r\n\r\nexport const PreviewFill = styled.div`\r\n margin: 0;\r\n flex-grow: 1;\r\n padding: 5px;\r\n height: 450px;\r\n`;\r\n\r\nexport const ButtonTD = styled.td`\r\n text-align: center;\r\n color: #7d8fad;\r\n border: 2px solid #7d8fad;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n border: 2px solid #8d9fbd;\r\n color: aliceblue;\r\n }\r\n`;\r\n\r\nexport const Header = styled.div`\r\n font-size: 14px;\r\n text-decoration: underline;\r\n`;\r\n\r\nexport const ErrorMessage = styled.div`\r\n color: maroon;\r\n`;\r\n\r\nexport const SuccessMessage = styled.div`\r\n color: green;\r\n`;","const LoginState = JSON.parse(localStorage.getItem('user')) || {}\r\nexport default LoginState","import { CenterFixed, PageTitle, Link } from '../helpers/LayoutComponents';\r\nimport React, { Component } from 'react';\r\nimport LoginState from '../helpers/LoginState';\r\n\r\nexport default class HeaderComponent extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { \r\n state1: '',\r\n state2: ''\r\n };\r\n }\r\n\r\n logout() {\r\n LoginState.loggedIn = false;\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('token');\r\n this.props.history.push('/login');\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n
Notes\r\n {LoginState.loggedIn ? (<>\r\n this.logout() }>Log Out ({LoginState.userName})\r\n this.props.history.push(\"/converter\")}>Converter\r\n this.props.history.push(\"/findnote\")}>Find Note\r\n this.props.history.push(\"/createnote\")}>Create Note\r\n ) : (<>\r\n this.props.history.push(\"/login\")}>Log In\r\n this.props.history.push(\"/createUser\")}>Create User\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { Base64 } from 'js-base64';\r\n\r\nexport const encodeText = (textToEncode) => {\r\n let encoded = Base64.encode(textToEncode);\r\n return encoded.substr(encoded.length/2) + encoded.substr(0, encoded.length/2);\r\n}\r\n\r\nexport const decodeText = (textToDecode) => {\r\n try {\r\n var unscrambled = textToDecode.substr(textToDecode.length/2) + textToDecode.substr(0, textToDecode.length/2)\r\n return Base64.decode(unscrambled);\r\n }\r\n catch {\r\n return 'Error: Invalid Base64 String';\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Header, TextBox, Button, ErrorMessage } from '../helpers/LayoutComponents';\r\nimport { encodeText, decodeText } from '../helpers/utils';\r\nimport LoginState from '../helpers/LoginState';\r\nimport jwt from 'jsonwebtoken';\r\nimport axios from 'axios';\r\n\r\nexport default class Login extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n // if we are already logged in, redirect\r\n if(LoginState.loggedIn) {\r\n this.props.history.push(\"/findnote\");\r\n }\r\n\r\n this.state = { \r\n login: '',\r\n password: '',\r\n errorMsg: '',\r\n };\r\n }\r\n\r\n async attemptLogin() {\r\n const response = axios.get('/loginuser', {\r\n params: {\r\n pLogin: this.state.login,\r\n pPassword: encodeText(this.state.password)\r\n },\r\n });\r\n const resultMessage = ((await response).data).toString();\r\n if (resultMessage.startsWith('Success')) { \r\n LoginState.loggedIn = true;\r\n LoginState.userName = this.state.login;\r\n const token = jwt.sign({ LoginState }, decodeText('dXNpb24=TG9naWNs'), { algorithm: 'HS256', expiresIn: 300 });\r\n localStorage.setItem('user', JSON.stringify(LoginState));\r\n localStorage.setItem('token', token);\r\n this.props.history.push(\"/findnote\");\r\n } \r\n else {\r\n this.setState({errorMsg: resultMessage});\r\n }\r\n }\r\n\r\n captureInput = e => { this.setState({[e.target.name]: e.target.value}); }\r\n loginKeyPressed = e => { if(e.charCode === 13) { this.attemptLogin(); } }\r\n\r\n render () {\r\n return (\r\n
\r\n
Log In
\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 \r\n \r\n
UserName
Password
\r\n
\r\n
\r\n {this.state.errorMsg}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Header, TextBox, Button, ErrorMessage } from '../helpers/LayoutComponents';\r\nimport { encodeText, decodeText } from '../helpers/utils';\r\nimport LoginState from '../helpers/LoginState';\r\nimport jwt from 'jsonwebtoken';\r\nimport axios from 'axios';\r\n\r\nexport default class CreateUser extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n // if we are already logged in, redirect\r\n if(LoginState.loggedIn) {\r\n this.props.history.push(\"/findnote\");\r\n }\r\n\r\n this.state = { \r\n login: '',\r\n password: '',\r\n admin: '',\r\n errorMsg: '',\r\n };\r\n }\r\n\r\n async attemptCreate() {\r\n const response = axios.get('/createuser', {\r\n params: {\r\n pLogin: this.state.login,\r\n pPassword: encodeText(this.state.password),\r\n pAdmin: this.state.admin\r\n },\r\n });\r\n const resultMessage = ((await response).data).toString();\r\n if (resultMessage.startsWith('Success')) {\r\n LoginState.loggedIn = true;\r\n LoginState.userName = this.state.login;\r\n const token = jwt.sign({ LoginState }, decodeText('dXNpb24=TG9naWNs'), { algorithm: 'HS256', expiresIn: 300 });\r\n localStorage.setItem('user', JSON.stringify(LoginState));\r\n localStorage.setItem('token', token);\r\n this.props.history.push(\"/findnote\");\r\n } \r\n else {\r\n this.setState({errorMsg: resultMessage});\r\n }\r\n }\r\n\r\n captureInput = e => { this.setState({[e.target.name]: e.target.value}); }\r\n loginKeyPressed = e => { if(e.charCode === 13) { this.attemptCreate(); } }\r\n\r\n render () {\r\n return (\r\n
\r\n
Create User Account
\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Desired UserName
Desired Password
Admin Password
\r\n
\r\n
\r\n {this.state.errorMsg}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { encodeText } from '../helpers/utils';\r\nimport { TextBox, TextArea, Button, ErrorMessage, SuccessMessage, Header } from '../helpers/LayoutComponents';\r\nimport LoginState from '../helpers/LoginState';\r\nimport axios from 'axios';\r\n\r\nexport default class CreateNote extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n // if not logged in, redirect\r\n if(!LoginState.loggedIn) {\r\n this.props.history.push(\"/login\");\r\n }\r\n\r\n this.state = { \r\n keywords: '',\r\n description: '',\r\n errorMsg: '',\r\n successMsg: '',\r\n };\r\n }\r\n\r\n async attemptSubmit() {\r\n const response = axios.get('/encrypt', {\r\n params: {\r\n pUser: LoginState.userName,\r\n pKeywords: this.state.keywords,\r\n pDescription: encodeText(this.state.description)\r\n },\r\n });\r\n\r\n const resultMessage = ((await response).data).toString();\r\n if (resultMessage.startsWith('Success')) { \r\n this.setState({errorMsg: '', successMsg: 'Note Successfully Submitted', keywords: '', description: ''}); \r\n } \r\n else {\r\n this.setState({errorMsg: resultMessage, successMsg: ''});\r\n }\r\n }\r\n \r\n captureInput = e => { this.setState({[e.target.name]: e.target.value}); }\r\n\r\n render() {\r\n return (\r\n
\r\n
Create Note
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Keywords
Description