From 1e8579425608ffcc05e5577eef5e6c98ef3bcaf0 Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Sun, 7 Jun 2020 18:54:52 +0800 Subject: [PATCH] add UI rows for auth pages --- app/Http/Controllers/AuthController.php | 18 +++++++++++++++++- resources/views/auth/login.twig | 15 +++------------ resources/views/auth/register.twig | 8 +++----- resources/views/auth/rows/login/form.twig | 1 + resources/views/auth/rows/login/message.twig | 5 +++++ resources/views/auth/rows/login/notice.twig | 1 + .../auth/rows/login/registration-link.twig | 3 +++ resources/views/auth/rows/register/form.twig | 1 + resources/views/auth/rows/register/notice.twig | 3 +++ .../ControllersTest/AuthControllerTest.php | 6 ++++++ 10 files changed, 43 insertions(+), 18 deletions(-) create mode 100644 resources/views/auth/rows/login/form.twig create mode 100644 resources/views/auth/rows/login/message.twig create mode 100644 resources/views/auth/rows/login/notice.twig create mode 100644 resources/views/auth/rows/login/registration-link.twig create mode 100644 resources/views/auth/rows/register/form.twig create mode 100644 resources/views/auth/rows/register/notice.twig diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 004a7d91..c8429f5f 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -29,7 +29,16 @@ class AuthController extends Controller $ip = $whip->getValidIpAddress(); $ip = $filter->apply('client_ip', $ip); + $rows = [ + 'auth.rows.login.notice', + 'auth.rows.login.message', + 'auth.rows.login.form', + 'auth.rows.login.registration-link', + ]; + $rows = $filter->apply('auth_page_rows:login', $rows); + return view('auth.login', [ + 'rows' => $rows, 'extra' => [ 'tooManyFails' => cache(sha1('login_fails_'.$ip)) > 3, 'recaptcha' => option('recaptcha_sitekey'), @@ -120,11 +129,18 @@ class AuthController extends Controller return json(trans('auth.logout.success'), 0); } - public function register() + public function register(Filter $filter) { + $rows = [ + 'auth.rows.register.notice', + 'auth.rows.register.form', + ]; + $rows = $filter->apply('auth_page_rows:register', $rows); + if (option('user_can_register')) { return view('auth.register', [ 'site_name' => option_localized('site_name'), + 'rows' => $rows, 'extra' => [ 'player' => (bool) option('register_with_player_name'), 'recaptcha' => option('recaptcha_sitekey'), diff --git a/resources/views/auth/login.twig b/resources/views/auth/login.twig index 3687a70c..ed44bc0f 100644 --- a/resources/views/auth/login.twig +++ b/resources/views/auth/login.twig @@ -3,18 +3,9 @@ {% block title %}{{ trans('auth.login.title') }}{% endblock %} {% block content %} -

{{ trans('auth.login.message') }}

- {% if session_has('msg') %} -
- {{ session_pull('msg') }} -
- {% endif %} -
-
- {{ include('auth.oauth') }} -
- {{ trans('auth.register-link') }} -
+ {% for row in rows %} + {{ include(row) }} + {% endfor %} {% endblock %} {% block before_foot %} diff --git a/resources/views/auth/register.twig b/resources/views/auth/register.twig index 1bb71d73..06d588aa 100644 --- a/resources/views/auth/register.twig +++ b/resources/views/auth/register.twig @@ -3,11 +3,9 @@ {% block title %}{{ trans('auth.register.title') }}{% endblock %} {% block content %} -

- {{ trans('auth.register.message', {sitename: site_name}) }} -

-
- {{ include('auth.oauth') }} + {% for row in rows %} + {{ include(row) }} + {% endfor %} {% endblock %} {% block before_foot %} diff --git a/resources/views/auth/rows/login/form.twig b/resources/views/auth/rows/login/form.twig new file mode 100644 index 00000000..7daf4c08 --- /dev/null +++ b/resources/views/auth/rows/login/form.twig @@ -0,0 +1 @@ +
diff --git a/resources/views/auth/rows/login/message.twig b/resources/views/auth/rows/login/message.twig new file mode 100644 index 00000000..9b0234e4 --- /dev/null +++ b/resources/views/auth/rows/login/message.twig @@ -0,0 +1,5 @@ +{% if session_has('msg') %} +
+ {{ session_pull('msg') }} +
+{% endif %} diff --git a/resources/views/auth/rows/login/notice.twig b/resources/views/auth/rows/login/notice.twig new file mode 100644 index 00000000..d27d6a0d --- /dev/null +++ b/resources/views/auth/rows/login/notice.twig @@ -0,0 +1 @@ +

{{ trans('auth.login.message') }}

diff --git a/resources/views/auth/rows/login/registration-link.twig b/resources/views/auth/rows/login/registration-link.twig new file mode 100644 index 00000000..f2962e35 --- /dev/null +++ b/resources/views/auth/rows/login/registration-link.twig @@ -0,0 +1,3 @@ +
+ {{ trans('auth.register-link') }} +
diff --git a/resources/views/auth/rows/register/form.twig b/resources/views/auth/rows/register/form.twig new file mode 100644 index 00000000..7daf4c08 --- /dev/null +++ b/resources/views/auth/rows/register/form.twig @@ -0,0 +1 @@ +
diff --git a/resources/views/auth/rows/register/notice.twig b/resources/views/auth/rows/register/notice.twig new file mode 100644 index 00000000..cfbe2758 --- /dev/null +++ b/resources/views/auth/rows/register/notice.twig @@ -0,0 +1,3 @@ +

+ {{ trans('auth.register.message', {sitename: site_name}) }} +

diff --git a/tests/HttpTest/ControllersTest/AuthControllerTest.php b/tests/HttpTest/ControllersTest/AuthControllerTest.php index 03f4a41c..3b36fec5 100644 --- a/tests/HttpTest/ControllersTest/AuthControllerTest.php +++ b/tests/HttpTest/ControllersTest/AuthControllerTest.php @@ -37,7 +37,10 @@ class AuthControllerTest extends TestCase public function testLogin() { + $filter = Fakes\Filter::fake(); + $this->get('/auth/login')->assertSee('Log in'); + $filter->assertApplied('auth_page_rows:login'); } public function testHandleLogin() @@ -239,7 +242,10 @@ class AuthControllerTest extends TestCase public function testRegister() { + $filter = Fakes\Filter::fake(); + $this->get('/auth/register')->assertSee('Register'); + $filter->assertApplied('auth_page_rows:register'); option(['user_can_register' => false]); $this->get('/auth/register')->assertSee(trans('auth.register.close'));