├── src ├── components │ ├── Settings │ │ ├── WebChat │ │ │ ├── WebChatSettings.css │ │ │ └── WebchatSettings.react.js │ │ ├── ThemeChanger.css │ │ ├── PreviewThemeChat.css │ │ ├── PreviewThemeChat.js │ │ └── Settings.css │ ├── images │ │ ├── cms.png │ │ ├── ios.png │ │ ├── android.png │ │ ├── android1.png │ │ ├── susi-white.png │ │ ├── network-icon.png │ │ ├── not-found-bg.jpg │ │ ├── settings-128.png │ │ ├── edit-icon-png-24.png │ │ ├── map_marker_icon.png │ │ ├── android.svg │ │ ├── susi.svg │ │ ├── android1.svg │ │ └── susi-logo.svg │ ├── Auth │ │ ├── SignUp │ │ │ ├── SignupMobileFix.min.css │ │ │ ├── Description.js │ │ │ └── SignUp.css │ │ ├── VerifyAccount │ │ │ ├── VerifyAccount.css │ │ │ └── VerifyAccount.react.js │ │ ├── DeleteAccount │ │ │ ├── DeleteAccount.css │ │ │ └── DeleteAccount.react.js │ │ ├── ResetPassword │ │ │ ├── ResetPassword.css │ │ │ └── ResetPassword.react.js │ │ ├── Logout.react.js │ │ ├── ForgotPassword │ │ │ ├── ForgotPassword.css │ │ │ └── ForgotPassword.react.js │ │ ├── ChangePassword │ │ │ ├── ChangePassword.css │ │ │ └── ChangePassword.react.js │ │ └── Login │ │ │ ├── Login.css │ │ │ └── Login.react.js │ ├── TableComplex │ │ ├── RemoveDeviceDialog.css │ │ ├── RemoveDeviceDialog.react.js │ │ └── TableComplex.react.js │ ├── Admin │ │ ├── ListSkills │ │ │ └── ListSkills.css │ │ ├── ListUser │ │ │ └── ListUser.css │ │ ├── Admin.css │ │ ├── SystemSettings │ │ │ └── SystemSettings.js │ │ └── SystemLogs │ │ │ └── SystemLogs.js │ ├── CircleImage │ │ ├── CircleImage.css │ │ └── CircleImage.js │ ├── ProtectedRoute │ │ └── ProtectedRoute.js │ ├── StaticAppBar │ │ ├── StaticAppBar.css │ │ └── StaticAppBar.js │ ├── NotFound │ │ ├── NotFound.css │ │ └── NotFound.react.js │ ├── Footer │ │ ├── Footer.react.js │ │ └── Footer.css │ └── MapContainer │ │ └── MapContainer.react.js ├── Utils │ ├── isMobileView.js │ ├── isProduction.js │ ├── index.js │ ├── isPhoneNumber.js │ ├── urls.js │ ├── isEmail.js │ └── getGravatarProps.js ├── dispatcher │ └── ChatAppDispatcher.js ├── images │ ├── susi-logo-white.png │ └── susi-logo.svg ├── index.css ├── __tests__ │ ├── components │ │ ├── Admin │ │ │ ├── Admin.js │ │ │ ├── ListUser │ │ │ │ └── ListUser.js │ │ │ ├── ListSkills │ │ │ │ └── ListSkills.js │ │ │ ├── SystemLogs │ │ │ │ └── SystemLogs.js │ │ │ └── SystemSettings │ │ │ │ └── SystemSettings.js │ │ ├── Auth │ │ │ ├── Logout.js │ │ │ ├── Login │ │ │ │ └── Login.js │ │ │ ├── SignUp │ │ │ │ ├── SignUp.js │ │ │ │ └── Description.js │ │ │ ├── DeleteAccount │ │ │ │ └── DeleteAccount.js │ │ │ ├── ResetPassword │ │ │ │ └── ResetPassword.js │ │ │ ├── VerifyAccount │ │ │ │ └── VerifyAccount.js │ │ │ ├── ChangePassword │ │ │ │ └── ChangePassword.js │ │ │ └── ForgotPassword │ │ │ │ └── ForgotPassword.js │ │ ├── Footer │ │ │ └── Footer.react.js │ │ ├── NotFound │ │ │ └── NotFound.react.js │ │ ├── Settings │ │ │ ├── Settings.react.js │ │ │ ├── PreviewThemeChat.js │ │ │ └── WebChat │ │ │ │ └── WebchatSettings.react.js │ │ ├── CircleImage │ │ │ └── CircleImage.js │ │ ├── StaticAppBar │ │ │ └── StaticAppBar.js │ │ ├── MapContainer │ │ │ └── MapContainer.react.js │ │ ├── TableComplex │ │ │ ├── TableComplex.react.js │ │ │ └── RemoveDeviceDialog.react.js │ │ └── ProtectedRoute │ │ │ └── ProtectedRoute.js │ └── Utils │ │ ├── isEmailTest.js │ │ └── Utils.js ├── actions │ ├── index.js │ ├── Settings.actions.js │ └── API.actions.js ├── setupTests.js ├── config.js ├── constants │ └── ChatConstants.js ├── stores │ └── UserPreferencesStore.js └── index.js ├── deploy_key.enc ├── public ├── favicon.ico ├── defaultAvatar.png ├── favicon-16x16.png ├── favicon-32x32.png └── index.html ├── .prettierrc ├── .gitignore ├── .github ├── PULL_REQUEST_TEMPLATE └── ISSUE_TEMPLATE ├── .travis.yml ├── surge_deploy.sh ├── commitStyle.md ├── deploy.sh ├── docs └── Accounting.md ├── package.json └── README.md /src/components/Settings/WebChat/WebChatSettings.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deploy_key.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/deploy_key.enc -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/public/favicon.ico -------------------------------------------------------------------------------- /src/Utils/isMobileView.js: -------------------------------------------------------------------------------- 1 | export default function() { 2 | return window.innerWidth <= 520; 3 | } 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all", 4 | "parser": "flow" 5 | } 6 | -------------------------------------------------------------------------------- /public/defaultAvatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/public/defaultAvatar.png -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/public/favicon-32x32.png -------------------------------------------------------------------------------- /src/dispatcher/ChatAppDispatcher.js: -------------------------------------------------------------------------------- 1 | import { Dispatcher } from 'flux'; 2 | 3 | export default new Dispatcher(); 4 | -------------------------------------------------------------------------------- /src/components/images/cms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/cms.png -------------------------------------------------------------------------------- /src/components/images/ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/ios.png -------------------------------------------------------------------------------- /src/images/susi-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/images/susi-logo-white.png -------------------------------------------------------------------------------- /src/components/Settings/ThemeChanger.css: -------------------------------------------------------------------------------- 1 | .div{ 2 | overflow-y: hidden; 3 | } 4 | 5 | *{ 6 | overflow-y: hidden; 7 | } 8 | -------------------------------------------------------------------------------- /src/components/images/android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/android.png -------------------------------------------------------------------------------- /src/components/images/android1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/android1.png -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | position: relative; 5 | font-family: 'Lato', sans-serif; 6 | } 7 | -------------------------------------------------------------------------------- /src/components/images/susi-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/susi-white.png -------------------------------------------------------------------------------- /src/components/images/network-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/network-icon.png -------------------------------------------------------------------------------- /src/components/images/not-found-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/not-found-bg.jpg -------------------------------------------------------------------------------- /src/components/images/settings-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/settings-128.png -------------------------------------------------------------------------------- /src/components/images/edit-icon-png-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/edit-icon-png-24.png -------------------------------------------------------------------------------- /src/components/images/map_marker_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fossasia/accounts.susi.ai/master/src/components/images/map_marker_icon.png -------------------------------------------------------------------------------- /src/Utils/isProduction.js: -------------------------------------------------------------------------------- 1 | let isProduction = () => { 2 | let domain = window.location.hostname; 3 | return domain.indexOf('.susi.ai') > 0; 4 | }; 5 | 6 | export default isProduction; 7 | -------------------------------------------------------------------------------- /src/Utils/index.js: -------------------------------------------------------------------------------- 1 | export { default as urls } from './urls'; 2 | export { default as isProduction } from './isProduction'; 3 | export { default as getGravatarProps } from './getGravatarProps'; 4 | -------------------------------------------------------------------------------- /src/Utils/isPhoneNumber.js: -------------------------------------------------------------------------------- 1 | export default function(phone = '') { 2 | if (!phone) { 3 | return false; 4 | } 5 | const re = /^(?:[0-9] ?){6,14}[0-9]$/; 6 | return re.test(phone); 7 | } 8 | -------------------------------------------------------------------------------- /src/components/Auth/SignUp/SignupMobileFix.min.css: -------------------------------------------------------------------------------- 1 | @media screen and (max-width:508px){.form,.form div{float:none!important}.form button,.form div{max-width:100%!important}.form{width:90%;margin:auto}} 2 | -------------------------------------------------------------------------------- /src/Utils/urls.js: -------------------------------------------------------------------------------- 1 | let urls = { 2 | API_URL: 'https://api.susi.ai', 3 | CHAT_URL: 'https://chat.susi.ai', 4 | CMS_URL: 'https://skills.susi.ai', 5 | ACC_URL: 'https://accounts.susi.ai', 6 | GRAVATAR_URL: 'https://www.gravatar.com/avatar', 7 | }; 8 | 9 | export default urls; 10 | -------------------------------------------------------------------------------- /src/components/Auth/VerifyAccount/VerifyAccount.css: -------------------------------------------------------------------------------- 1 | .app-bar{ 2 | position: absolute; 3 | } 4 | .app-bar-div{ 5 | position: fixed; 6 | top: 0; 7 | left: 0; 8 | z-index: 1000; 9 | height: 46px; 10 | width: 100vw; 11 | user-select: none; 12 | -webkit-user-select: none; 13 | } 14 | -------------------------------------------------------------------------------- /src/__tests__/components/Admin/Admin.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Admin from '../../../components/Admin//Admin.js'; 3 | import { shallow } from 'enzyme'; 4 | 5 | describe('', () => { 6 | it('render Admin without crashing', () => { 7 | shallow(); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /src/__tests__/components/Auth/Logout.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Logout from '../../../components/Auth/Logout.react'; 3 | import { shallow } from 'enzyme'; 4 | 5 | describe('', () => { 6 | it('render Logout without crashing', () => { 7 | shallow(); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /src/actions/index.js: -------------------------------------------------------------------------------- 1 | import { pushSettingsToServer } from './API.actions'; 2 | import { 3 | serverChanged, 4 | themeChanged, 5 | avatarTypeChanged, 6 | } from './Settings.actions'; 7 | 8 | // exports 9 | export { pushSettingsToServer }; 10 | export { serverChanged, themeChanged, avatarTypeChanged }; 11 | -------------------------------------------------------------------------------- /src/__tests__/components/Auth/Login/Login.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Login from '../../../../components/Auth/Login/Login.react'; 3 | import { shallow } from 'enzyme'; 4 | 5 | describe('', () => { 6 | it('render Login without crashing', () => { 7 | shallow(); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /src/__tests__/components/Footer/Footer.react.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Footer from '../../../components/Footer/Footer.react'; 3 | import { shallow } from 'enzyme'; 4 | 5 | describe('