diff --git a/client/src/components/SvgIcon/index.vue b/client/src/components/SvgIcon/index.vue new file mode 100644 index 000000000..0ecc1286d --- /dev/null +++ b/client/src/components/SvgIcon/index.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/client/src/lang/en/app.js b/client/src/lang/en/app.js index 4412d942a..a377e1f56 100644 --- a/client/src/lang/en/app.js +++ b/client/src/lang/en/app.js @@ -2,4 +2,21 @@ export default { login: 'Login', password: 'Password', username_password: 'Username or Email', + with_your_account: 'With your Ratteb account.', + if_you_forget_your_password: 'If you forgot your password, well, enter your Moosher ID than secret key to reset your password.', + sign_in: 'Sign in', + dashboard: 'Dashboard', + reset_the_password: 'Reset the Password', + enter_your_new_password: 'Enter You New Password', + reset_password_link_is_invalid: 'The link is invalid or expired. Please reset your password again.', + your_password_has_been_changed: 'Success Your password has been changed.', + username_password_do_not_match: 'The username and password you entered did not match our records.', + the_account_suspended_please_contact: 'This account is suspended, Please contact the administrator.', + email_has_been_sent: 'An e-mail has been sent to {email} with further instructions.', + there_is_no_email_with_that_address: 'There is no email with that address, Please try again.', + reset_your_password: 'Reset Your Password', + return_to_login: 'Return to Login', + forget_password: 'Forget your password?', + reset_password: 'Reset Password', + email_password_do_not_match: 'Email and password do not match.', }; diff --git a/client/src/main.js b/client/src/main.js index 0dc34143d..840eda872 100644 --- a/client/src/main.js +++ b/client/src/main.js @@ -1,8 +1,9 @@ import Vue from 'vue'; -import {Form, FormItem, Input} from 'element-ui'; +import {Form, FormItem, Input, Tabs, TabPane, Button, Alert} from 'element-ui'; import App from '@/App'; import router from '@/router'; import store from '@/store'; +import '@/plugins/icons'; // Plugins import '@/plugins/i18n'; @@ -12,6 +13,10 @@ Vue.config.productionTip = false; Vue.use(Form); Vue.use(FormItem); Vue.use(Input); +Vue.use(Tabs); +Vue.use(TabPane); +Vue.use(Button); +Vue.use(Alert); const app = new Vue({ el: '#app', diff --git a/client/src/mixins/Reloadable.js b/client/src/mixins/Reloadable.js new file mode 100644 index 000000000..d1fed55d7 --- /dev/null +++ b/client/src/mixins/Reloadable.js @@ -0,0 +1,20 @@ +import Vue from 'vue'; + +export default Vue.extend({ + name: 'reloadable', + created() { + this.$eventBus.$on('reload-data', this.onReloadData); + }, + methods: { + async onReloadData() { + this.$nprogress.start(); + await this.reloadData(); + this.$nprogress.done(); + }, + + reloadData() {}, + }, + beforeDestroy() { + this.$eventBus.$off('reload-data', this.onReloadData); + }, +}); \ No newline at end of file diff --git a/client/src/pages/Auth/Auth.vue b/client/src/pages/Auth/Auth.vue deleted file mode 100644 index 4d1544682..000000000 --- a/client/src/pages/Auth/Auth.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/client/src/pages/Auth/AuthContainer.vue b/client/src/pages/Auth/AuthContainer.vue new file mode 100644 index 000000000..0484e80f6 --- /dev/null +++ b/client/src/pages/Auth/AuthContainer.vue @@ -0,0 +1,207 @@ + + + + + diff --git a/client/src/pages/Auth/AuthFooter.vue b/client/src/pages/Auth/AuthFooter.vue new file mode 100644 index 000000000..48fac7722 --- /dev/null +++ b/client/src/pages/Auth/AuthFooter.vue @@ -0,0 +1,15 @@ + + + diff --git a/client/src/pages/Auth/AuthMedia.vue b/client/src/pages/Auth/AuthMedia.vue new file mode 100644 index 000000000..d9bf188f4 --- /dev/null +++ b/client/src/pages/Auth/AuthMedia.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/client/src/pages/Auth/ForgetPassword.vue b/client/src/pages/Auth/ForgetPassword.vue index 606fcb1d5..d8154d0bc 100644 --- a/client/src/pages/Auth/ForgetPassword.vue +++ b/client/src/pages/Auth/ForgetPassword.vue @@ -1,5 +1,10 @@