{"version":3,"sources":["images/Ailurus.png","components/AuthorizeRoute.jsx","api.js","components/LoginMenu.jsx","config.js","components/NavBar.jsx","components/Layout.js","components/Index.jsx","components/Settings/Index.jsx","components/Settings/ChangeEmail.jsx","components/Settings/ChangePassword.jsx","components/Settings/Connect.jsx","components/Settings/Notifications.jsx","App.js","actions/index.js","reducers/users.js","reducers/auth.js","reducers/applications.js","reducers/index.js","index.js"],"names":["module","exports","AuthorizeRoute","this","props","Component","component","rest","render","isAuthenticated","returnUrl","window","location","pathname","redirectUrl","encodeURIComponent","replace","connect","state","auth","instance","axios","create","baseURL","headers","LoginMenu","logOut","a","api","post","reload","authenticatedView","user","name","anonymousView","userName","profilePath","logoutPath","NavDropdown","title","id","Item","as","Link","to","className","onClick","registerPath","loginPath","Nav","Mode","identifyMode","NavBar","renderAppBrand","Navbar","Brand","src","AilurusLogo","alt","height","variant","bg","expand","sticky","Toggle","aria-controls","Collapse","React","Layout","Container","children","displayName","Index","Row","Col","Card","Body","Title","Text","applications","map","x","sm","lg","clientName","description","Footer","Button","block","href","uri","CardDeck","icon","ChangeEmail","changeEmail","newEmail","email","toast","isEmailValid","Form","Group","Label","Control","type","placeholder","onChange","e","setState","target","value","disabled","action","ChangePassword","changePassword","password","currentPassword","newPassword","canChangePassword","newPasswordConfirmation","Connect","connections","provider","loadData","isLoading","get","data","console","log","enabledConnections","isConnected","filter","loginProvider","length","disconnectConnection","updatedConnections","method","providers","sendNotifications","sources","updateProvider","updateSource","source","clientId","md","ListGroup","Switch","defaultChecked","label","aria-label","checked","discord","App","themes","lazy","isReady","setAuthenticationState","setUserData","setAvailableApplications","BrandSelector","mode","exact","path","SettingsChangeEmail","SettingsChangePassword","SettingsConnect","SettingsNotifications","SettingsIndex","transition","Slide","limit","pauseOnFocusLoss","undefined","dispatch","combineReducers","library","add","fas","faDiscord","baseUrl","document","getElementsByTagName","getAttribute","rootElement","getElementById","store","createStore","reducer","ReactDOM","basename"],"mappings":"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","file":"static/js/main.847a3788.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/Ailurus.664a523e.png\";","import React from 'react'\n\nimport { connect } from 'react-redux';\n\nimport { Component } from 'react'\nimport { Route } from 'react-router-dom'\n\nclass AuthorizeRoute extends Component {\n componentDidMount() {\n }\n\n componentWillUnmount() {\n }\n\n render() {\n const { component: Component, ...rest } = this.props;\n return {\n if (this.props.isAuthenticated) {\n return \n } else {\n const returnUrl = window.location.pathname;\n const redirectUrl = `/login?returnUrl=${encodeURIComponent(returnUrl)}`;\n\n window.location.replace(redirectUrl);\n\n return null;\n }\n }} />\n }\n}\n\nconst mapStateToProps = state => ({\n isAuthenticated: state.auth.isAuthenticated\n})\n\nexport default connect(mapStateToProps)(AuthorizeRoute);","import axios from 'axios';\n\nconst instance = axios.create({\n baseURL: `/api/internal/`,\n headers: {\n 'Content-Type': 'application/json'\n }\n});\n\nexport default instance;","import React, { Component, Fragment } from 'react';\n\nimport { connect } from 'react-redux';\n\nimport { Nav, NavDropdown } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nimport api from '../api';\n\nexport class LoginMenu extends Component {\n logOut = async () => {\n await api.post('/logout', {}, {\n baseURL: '/'\n });\n\n window.location.reload();\n }\n\n render() {\n if (!this.props.isAuthenticated) {\n return this.anonymousView('/register', '/login');\n } else {\n return this.authenticatedView(this.props.user.name, '/settings', '');\n }\n }\n\n authenticatedView(userName, profilePath, logoutPath) {\n return (\n \n Settings\n Logout\n \n );\n }\n\n anonymousView(registerPath, loginPath) {\n return (\n \n Register\n \n \n Login\n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n user: state.user,\n isAuthenticated: state.auth.isAuthenticated\n})\n\nexport default connect(mapStateToProps)(LoginMenu);","import { identifyMode } from '@atlas2d/webcx';\n\nexport const Mode = identifyMode() || 'Atlas';","import React from 'react';\n\nimport { connect } from 'react-redux';\n\nimport { Navbar, Nav, Container } from 'react-bootstrap';\n\nimport LoginMenu from './LoginMenu';\n\nimport { Link } from 'react-router-dom';\n\nimport AilurusLogo from '../images/Ailurus.png'\n\nimport { Mode } from '../config'\n\nclass NavBar extends React.Component {\n renderAppBrand = () => {\n switch (Mode) {\n case 'Ailurus': {\n return (\n \n \"logo\"\n \n )\n }\n default: {\n return (\n Home\n )\n }\n }\n \n }\n\n render() {\n return (\n
\n \n \n {this.renderAppBrand()}\n \n \n \n \n \n \n \n
\n )\n }\n}\n\nconst mapStateToProps = state => ({\n auth: state.auth,\n user: state.user\n})\n\nexport default connect(mapStateToProps)(NavBar);","import React, { Component } from 'react';\nimport { Container } from 'reactstrap';\nimport NavBar from './NavBar';\n\nexport class Layout extends Component {\n static displayName = Layout.name;\n\n render () {\n return (\n
\n \n \n {this.props.children}\n \n
\n );\n }\n}\n","import React, { Fragment } from 'react';\n\nimport { connect } from 'react-redux';\n\nimport { Row, Col, Card, Button } from 'react-bootstrap';\n\nclass Index extends React.Component {\n render () {\n return (\n \n \n \n \n \n Welcome, {this.props.user.name}\n Where would you like to go?\n \n {this.props.applications.map(x => (\n \n \n \n {x.clientName}\n {x.description}\n \n \n \n \n \n \n ))}\n \n \n \n \n \n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n user: state.user,\n applications: state.applications.applications\n})\n\nexport default connect(mapStateToProps)(Index)","import React from 'react';\n\nimport { Link } from 'react-router-dom';\n\nimport { Button, CardDeck, Card } from 'react-bootstrap';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nclass Index extends React.Component {\n render() {\n return (\n \n \n Account Settings\n \n \n \n Email\n Update the email used on your account.\n \n \n \n \n \n \n \n Change Password\n Change your account password.\n \n \n \n \n \n \n \n Notifications\n Configure what type of notifications to receive, and how they are delivered.\n \n \n \n \n \n \n \n Connect\n Connect your account with external providers.\n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default Index;","import React from 'react';\n\nimport { Card, Row, Col, Form } from 'react-bootstrap';\n\nimport { ActionButton } from '@atlas2d/webcx';\n\nimport { toast } from 'react-toastify';\n\nimport api from '../../api';\n\nclass ChangeEmail extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n email: null\n }\n }\n\n changeEmail = async () => {\n await api.post('/settings/email/change', {\n newEmail: this.state.email\n });\n\n toast('An email has been sent to your new email address for confirmation.');\n }\n\n isEmailValid = () => {\n if (!this.state.email) {\n return false;\n }\n\n return true;\n }\n\n render() {\n return (\n \n \n Change Email\n \n \n \n Email\n this.setState({ email: e.target.value })} />\n \n \n \n \n \n Change Email\n \n \n \n \n )\n }\n}\n\nexport default ChangeEmail;","import React from 'react';\n\nimport { Card, Row, Col, Form } from 'react-bootstrap';\n\nimport { ActionButton } from '@atlas2d/webcx';\n\nimport { toast } from 'react-toastify';\n\nimport api from '../../api';\n\nclass ChangePassword extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n currentPassword: null,\n newPassword: null,\n newPasswordConfirmation: null\n }\n }\n\n changePassword = async () => {\n await api.post('/settings/password/change', {\n password: this.state.currentPassword,\n newPassword: this.state.newPassword\n });\n\n toast('Your password has been updated!');\n }\n\n canChangePassword = () => {\n if (!this.state.currentPassword || !this.state.newPassword || !this.state.newPasswordConfirmation) {\n return false;\n }\n\n if (this.state.newPassword !== this.state.newPasswordConfirmation) {\n return false;\n }\n\n return true;\n }\n\n render() {\n return (\n \n \n Change Password\n \n \n \n Current Password\n this.setState({ currentPassword: e.target.value })} />\n \n \n \n \n \n \n New Password\n this.setState({ newPassword: e.target.value })} />\n \n \n \n \n \n \n Confirm Password\n this.setState({ newPasswordConfirmation: e.target.value })} />\n \n \n \n \n \n Change Password\n \n \n \n \n )\n }\n}\n\nexport default ChangePassword;","import React from 'react';\n\nimport { Card, Form, Button } from 'react-bootstrap';\n\nimport { ActionButton, Loading } from '@atlas2d/webcx';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport { toast } from 'react-toastify';\n\nimport api from '../../api';\n\nclass Connect extends React.Component {\n connections = [\n { provider: 'Discord', icon: ['fab', 'discord'] }\n ]\n\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: false,\n enabledConnections: []\n }\n }\n\n async componentDidMount() {\n await this.loadData();\n }\n\n loadData = async () => {\n this.setState({ isLoading: true });\n\n const { data } = await api.get('settings/connections');\n\n console.log(data);\n\n this.setState({ isLoading: false, enabledConnections: data });\n }\n\n isConnected = (provider) => {\n return this.state.enabledConnections.filter(x => x.loginProvider === provider).length > 0;\n }\n\n disconnectConnection = async (provider) => {\n await api.post('settings/connections/remove', {\n loginProvider: provider\n });\n\n const updatedConnections = this.state.enabledConnections.filter(x => x.loginProvider !== provider);\n\n this.setState({ enabledConnections: updatedConnections });\n\n toast(`Your ${provider} account has been disconnected!`);\n }\n\n render() {\n return (\n \n \n Connect\n \n {this.connections.map(x => (\n <>\n {!this.isConnected(x.provider) && (\n
\n \n \n\n \n \n )}\n\n {this.isConnected(x.provider) && (\n Disconnect {x.provider}\n )}\n \n ))}\n
\n
\n
\n )\n }\n}\n\nexport default Connect;","import React from 'react';\n\nimport { Card, Row, Col, Form, ListGroup } from 'react-bootstrap';\n\nimport { Loading } from '@atlas2d/webcx';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport api from '../../api';\n\nclass Connect extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: true,\n providers: {},\n sources: []\n }\n }\n\n async componentDidMount() {\n await this.loadData();\n }\n\n loadData = async () => {\n this.setState({ isLoading: true });\n\n const { data } = await api.get('settings/notifications');\n\n this.setState({ isLoading: false, providers: data.sendNotifications, sources: data.sources });\n }\n\n updateProvider = async (provider, value) => {\n await api.post('settings/notifications/providers', {\n provider: provider,\n state: value\n })\n }\n\n updateSource = async (source, value) => {\n await api.post('settings/notifications/sources', {\n source: source.clientId,\n state: value\n })\n }\n\n render() {\n return (\n \n \n \n \n Send notifications through...\n \n \n \n Email\n this.updateProvider('email', e.target.checked)} />\n \n {/* \n SMS\n \n */}\n \n Discord\n this.updateProvider('discord', e.target.checked)} />\n \n \n \n \n \n \n \n \n \n Enable notifications for...\n \n \n {this.state.sources.map(x => (\n \n {x.clientName}\n this.updateSource(x, e.target.checked)} />\n \n ))}\n \n \n \n \n \n \n )\n }\n}\n\nexport default Connect;","import 'react-toastify/dist/ReactToastify.css';\n\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nimport { ToastContainer, Slide } from 'react-toastify';\n\nimport { setUserData, setAuthenticationState, setAvailableApplications } from './actions';\n\nimport AuthorizeRoute from './components/AuthorizeRoute';\n\nimport { Layout } from './components/Layout';\nimport Index from './components/Index';\nimport SettingsIndex from './components/Settings/Index';\nimport SettingsChangeEmail from './components/Settings/ChangeEmail';\nimport SettingsChangePassword from './components/Settings/ChangePassword';\nimport SettingsConnect from './components/Settings/Connect';\nimport SettingsNotifications from './components/Settings/Notifications';\n\nimport { Mode } from './config';\n\nimport { Branding } from '@atlas2d/webcx';\n\nimport api from './api';\n\nimport './custom.css'\n\nexport class App extends Component {\n themes = {\n 'Ailurus': React.lazy(() => import('./themes/DarkRed')),\n 'Atlas': React.lazy(() => import('./themes/DarkBlue')),\n 'EclipseOrigins': React.lazy(() => import('./themes/DarkBlue'))\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n isReady: false\n }\n }\n\n async componentDidMount() {\n const { data } = await api.get(`store/initial`);\n\n console.log(data);\n\n this.props.setAuthenticationState(data.isAuthenticated);\n\n if (data.user) {\n this.props.setUserData(data.user);\n this.props.setAvailableApplications(data.applications);\n }\n\n this.setState({ isReady: true });\n }\n\n render() {\n if (!this.state.isReady) {\n return (\n \n
\n
\n )\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = dispatch => ({\n setUserData: user => dispatch(setUserData(user)),\n setAuthenticationState: isAuthenticated => dispatch(setAuthenticationState(isAuthenticated)),\n setAvailableApplications: applications => dispatch(setAvailableApplications(applications))\n})\n\nexport default connect(undefined, mapDispatchToProps)(App);\n","export const setUserData = (user) => ({\n type: 'SET_USER_DATA',\n user: user\n})\n\nexport const setAuthenticationState = (isAuthenticated) => ({\n type: 'SET_AUTHENTICATION_STATE',\n isAuthenticated: isAuthenticated\n})\n\nexport const setAvailableApplications = (applications) => ({\n type: 'SET_AVAILABLE_APPLICATIONS',\n applications: applications\n})","const user = (state = {}, action) => {\n switch (action.type) {\n case 'SET_USER_DATA':\n return action.user\n default:\n return state\n }\n}\n\nexport default user","const auth = (state = {}, action) => {\n switch (action.type) {\n case 'SET_AUTHENTICATION_STATE':\n return {\n ...state,\n isAuthenticated: action.isAuthenticated\n }\n default:\n return state\n }\n }\n \n export default auth","const applications = (state = [], action) => {\n switch (action.type) {\n case 'SET_AVAILABLE_APPLICATIONS':\n return {\n applications: action.applications\n }\n default:\n return state\n }\n }\n \n export default applications","import { combineReducers } from 'redux'\nimport user from './users'\nimport auth from './auth';\nimport applications from './applications';\n\nexport default combineReducers({\n user,\n auth,\n applications\n})","import 'bootstrap/dist/css/bootstrap.css';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Provider } from 'react-redux'\nimport { createStore } from 'redux'\n\nimport { BrowserRouter } from 'react-router-dom';\nimport App from './App';\n\nimport reducer from './reducers';\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { fas } from '@fortawesome/free-solid-svg-icons'\nimport { faDiscord } from '@fortawesome/free-brands-svg-icons';\n\nlibrary.add(fas, faDiscord);\n\n//import registerServiceWorker from './registerServiceWorker';\n\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\nconst rootElement = document.getElementById('root');\n\nconst store = createStore(reducer);\n\nReactDOM.render(\n \n \n \n \n ,\n rootElement);\n\n// Uncomment the line above that imports the registerServiceWorker function\n// and the line below to register the generated service worker.\n// By default create-react-app includes a service worker to improve the\n// performance of the application by caching static assets. This service\n// worker can interfere with the Identity UI, so it is\n// disabled by default when Identity is being used.\n//\n//registerServiceWorker();\n\n"],"sourceRoot":""}