From a766e886f529a3f602ebacf70d7944678c027414 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sat, 15 Apr 2017 18:12:23 +0200 Subject: Add a registration form. --- src/components/registration/registration.js | 29 ++++++++++ src/components/registration/registration.vue | 86 ++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 src/components/registration/registration.js create mode 100644 src/components/registration/registration.vue (limited to 'src/components/registration') diff --git a/src/components/registration/registration.js b/src/components/registration/registration.js new file mode 100644 index 00000000..93be9baa --- /dev/null +++ b/src/components/registration/registration.js @@ -0,0 +1,29 @@ +const registration = { + data: () => ({ + user: {}, + error: false, + registering: false + }), + methods: { + submit () { + this.registering = true + this.user.nickname = this.user.username + this.$store.state.api.backendInteractor.register(this.user).then( + (response) => { + if (response.ok) { + this.$store.dispatch('loginUser', this.user) + this.$router.push('/main/all') + this.registering = false + } else { + this.registering = false + response.json().then((data) => { + this.error = data.error + }) + } + } + ) + } + } +} + +export default registration diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue new file mode 100644 index 00000000..b93b6cb3 --- /dev/null +++ b/src/components/registration/registration.vue @@ -0,0 +1,86 @@ + + + + -- cgit v1.2.3-70-g09d2 From 4228cfc3422a37e1e15f12d9211803f5a70d62b0 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sun, 16 Apr 2017 11:02:03 +0200 Subject: Add email field to registration. --- src/components/registration/registration.vue | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/components/registration') diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index b93b6cb3..1560bcff 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -13,6 +13,10 @@ +
+ + +
-- cgit v1.2.3-70-g09d2 From b3b6d43dcc56ba8828d4bd180676b46141c0f0b1 Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Mon, 17 Apr 2017 13:57:02 +0300 Subject: Add ToS field into registration form (still need to make it fetch it somewhere.) Make the register form look more polished. --- src/components/registration/registration.vue | 130 +++++++++++++++++---------- 1 file changed, 82 insertions(+), 48 deletions(-) (limited to 'src/components/registration') diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index 1560bcff..5267f0e1 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -5,32 +5,40 @@
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+

Terms of Service

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
{{error}}
@@ -44,28 +52,45 @@ -- cgit v1.2.3-70-g09d2 From 143aa3b990c0e0fac98c4a097d68e9f7518f1940 Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Fri, 21 Apr 2017 18:52:42 +0300 Subject: Started captcha and better avatar control, improved login form to fit register link better. --- src/components/login_form/login_form.vue | 22 +++++++++++---- src/components/registration/registration.vue | 14 +++++++++- src/components/settings/settings.js | 20 +++++++++++--- src/components/settings/settings.vue | 40 ++++++++++++++++++++++++++-- 4 files changed, 84 insertions(+), 12 deletions(-) (limited to 'src/components/registration') diff --git a/src/components/login_form/login_form.vue b/src/components/login_form/login_form.vue index bf3f24e7..585af6f6 100644 --- a/src/components/login_form/login_form.vue +++ b/src/components/login_form/login_form.vue @@ -15,14 +15,14 @@
- +
{{authError}}
-
- Register new account -
@@ -42,8 +42,8 @@ } .btn { - margin-top: 1.0em; min-height: 28px; + width: 10em; } .error { @@ -53,6 +53,18 @@ min-height: 28px; line-height: 28px; } + + .register { + flex: 1 1; + } + + .login-bottom { + margin-top: 1.0em; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + } } diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index 5267f0e1..f010d8ab 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -31,6 +31,13 @@ +
@@ -63,7 +70,7 @@ } .terms-of-service { - flex: 0 1 55%; + flex: 0 1 50%; margin: 0.8em; } @@ -99,6 +106,11 @@ padding: 0.1em 0.2em 0.2em 0.2em; } + .captcha { + max-width: 350px; + margin-bottom: 0.4em; + } + .btn { //align-self: flex-start; //width: 10em; diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js index 883e5caa..e4ea56f6 100644 --- a/src/components/settings/settings.js +++ b/src/components/settings/settings.js @@ -7,7 +7,8 @@ const settings = { hideAttachmentsLocal: this.$store.state.config.hideAttachments, hideAttachmentsInConvLocal: this.$store.state.config.hideAttachmentsInConv, hideNsfwLocal: this.$store.state.config.hideNsfw, - muteWordsString: this.$store.state.config.muteWords.join('\n') + muteWordsString: this.$store.state.config.muteWords.join('\n'), + previewfile: null } }, components: { @@ -25,15 +26,26 @@ const settings = { const reader = new FileReader() reader.onload = ({target}) => { const img = target.result - - this.$store.state.api.backendInteractor.updateAvatar({params: {img}}).then((user) => { + this.previewfile = img + /*this.$store.state.api.backendInteractor.updateAvatar({params: {img}}).then((user) => { if (!user.error) { this.$store.commit('addNewUsers', [user]) this.$store.commit('setCurrentUser', user) } - }) + })*/ } reader.readAsDataURL(file) + }, + submitAvatar () { + if (!this.previewfile) + return + const img = this.previewfile + this.$store.state.api.backendInteractor.updateAvatar({params: {img}}).then((user) => { + if (!user.error) { + this.$store.commit('addNewUsers', [user]) + this.$store.commit('setCurrentUser', user) + } + }) } }, watch: { diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 7ceac828..bdc0f351 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -8,12 +8,17 @@

Theme

-
+

Avatar

- +

Your current avatar:

+ +

Set new avatar:

+ +
+

Filtering

@@ -51,6 +56,37 @@ width: 100%; height: 100px; } + + .old-avatar { + width: 128px; + border-radius: 5px; + } + + .new-avatar { + max-width: 100%; + border-radius: 5px; + } + + .btn { + margin-top: 1em; + min-height: 28px; + width: 10em; + } + + .cropper { + //position: absolute; + cursor: move; + width: 128px; + height: 128px; + border:1px solid #fff; + background-color: #000000; + .sub { + width: 100%; + height: 100%; + margin: -1px -1px -1px -1px ; + border:1px dashed #000; + } + } } .setting-list { list-style-type: none; -- cgit v1.2.3-70-g09d2 From bfbc94d697df9e80e0454fbae776b6dec85dfc9b Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Mon, 19 Jun 2017 16:35:35 +0300 Subject: Move customizable terms-of-service into its separate .html file. --- src/components/registration/registration.js | 3 +++ src/components/registration/registration.vue | 4 +--- src/main.js | 8 +++++++- static/terms-of-service.html | 7 +++++++ 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 static/terms-of-service.html (limited to 'src/components/registration') diff --git a/src/components/registration/registration.js b/src/components/registration/registration.js index 93be9baa..9e99197c 100644 --- a/src/components/registration/registration.js +++ b/src/components/registration/registration.js @@ -4,6 +4,9 @@ const registration = { error: false, registering: false }), + computed: { + termsofservice () { return this.$store.state.config.tos } + }, methods: { submit () { this.registering = true diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index f010d8ab..bb3e5e04 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -42,9 +42,7 @@
-
-

Terms of Service

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
diff --git a/src/main.js b/src/main.js index dd59dea7..52b820c2 100644 --- a/src/main.js +++ b/src/main.js @@ -86,9 +86,15 @@ new Vue({ window.fetch('/static/config.json') .then((res) => res.json()) - .then(({name, theme, background, logo}) => { + .then(({name, theme, background, logo, tos}) => { store.dispatch('setOption', { name: 'name', value: name }) store.dispatch('setOption', { name: 'theme', value: theme }) store.dispatch('setOption', { name: 'background', value: background }) store.dispatch('setOption', { name: 'logo', value: logo }) }) + +window.fetch('/static/terms-of-service.html') + .then((res) => res.text()) + .then((html) => { + store.dispatch('setOption', { name: 'tos', value: html }) + }) diff --git a/static/terms-of-service.html b/static/terms-of-service.html new file mode 100644 index 00000000..c02cb719 --- /dev/null +++ b/static/terms-of-service.html @@ -0,0 +1,7 @@ +

Terms of Service

+ +

This is a placeholder ToS.

+ +

Edit "/static/terms-of-service.html" to make it fit the needs of your instance.

+
+ -- cgit v1.2.3-70-g09d2 From 1a5ee95ee4e7b739158bc7571b01b32b1af792ad Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Tue, 20 Jun 2017 10:37:51 +0300 Subject: Add a config.json option for enabling registration, don't link and redirect away from register page when it's disabled. --- src/components/login_form/login_form.js | 3 ++- src/components/login_form/login_form.vue | 2 +- src/components/registration/registration.js | 5 +++++ src/main.js | 3 ++- static/config.json | 3 ++- 5 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src/components/registration') diff --git a/src/components/login_form/login_form.js b/src/components/login_form/login_form.js index 1a6f6015..a117b76f 100644 --- a/src/components/login_form/login_form.js +++ b/src/components/login_form/login_form.js @@ -4,7 +4,8 @@ const LoginForm = { authError: false }), computed: { - loggingIn () { return this.$store.state.users.loggingIn } + loggingIn () { return this.$store.state.users.loggingIn }, + registrationOpen () { return this.$store.state.config.registrationOpen } }, methods: { submit () { diff --git a/src/components/login_form/login_form.vue b/src/components/login_form/login_form.vue index 585af6f6..d6291148 100644 --- a/src/components/login_form/login_form.vue +++ b/src/components/login_form/login_form.vue @@ -16,7 +16,7 @@
diff --git a/src/components/registration/registration.js b/src/components/registration/registration.js index 9e99197c..771b3b27 100644 --- a/src/components/registration/registration.js +++ b/src/components/registration/registration.js @@ -4,6 +4,11 @@ const registration = { error: false, registering: false }), + created () { + if (!this.$store.state.config.registrationOpen || !!this.$store.state.users.currentUser) { + this.$router.push('/main/all') + } + }, computed: { termsofservice () { return this.$store.state.config.tos } }, diff --git a/src/main.js b/src/main.js index 52b820c2..4b7891ed 100644 --- a/src/main.js +++ b/src/main.js @@ -86,11 +86,12 @@ new Vue({ window.fetch('/static/config.json') .then((res) => res.json()) - .then(({name, theme, background, logo, tos}) => { + .then(({name, theme, background, logo, registrationOpen}) => { store.dispatch('setOption', { name: 'name', value: name }) store.dispatch('setOption', { name: 'theme', value: theme }) store.dispatch('setOption', { name: 'background', value: background }) store.dispatch('setOption', { name: 'logo', value: logo }) + store.dispatch('setOption', { name: 'registrationOpen', value: registrationOpen }) }) window.fetch('/static/terms-of-service.html') diff --git a/static/config.json b/static/config.json index 3b6d56c4..195ee046 100644 --- a/static/config.json +++ b/static/config.json @@ -2,5 +2,6 @@ "name": "Pleroma FE", "theme": "base16-pleroma-dark.css", "background": "/static/bg.jpg", - "logo": "/static/logo.png" + "logo": "/static/logo.png", + "registrationOpen": false } -- cgit v1.2.3-70-g09d2