rodauth_phlex 0.1.0.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.standard.yml +3 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +132 -0
- data/LICENSE.txt +21 -0
- data/README.md +90 -0
- data/Rakefile +10 -0
- data/lib/rodauth_phlex/component.rb +15 -0
- data/lib/rodauth_phlex/components/add_recovery_codes.rb +21 -0
- data/lib/rodauth_phlex/components/button.rb +33 -0
- data/lib/rodauth_phlex/components/change_login.rb +22 -0
- data/lib/rodauth_phlex/components/email_auth_request_form.rb +20 -0
- data/lib/rodauth_phlex/components/formatted_field_error.rb +23 -0
- data/lib/rodauth_phlex/components/global_logout_field.rb +20 -0
- data/lib/rodauth_phlex/components/input_field.rb +74 -0
- data/lib/rodauth_phlex/components/login_confirm_field.rb +18 -0
- data/lib/rodauth_phlex/components/login_display.rb +19 -0
- data/lib/rodauth_phlex/components/login_field.rb +18 -0
- data/lib/rodauth_phlex/components/login_form.rb +25 -0
- data/lib/rodauth_phlex/components/login_form_footer.rb +20 -0
- data/lib/rodauth_phlex/components/login_hidden_field.rb +16 -0
- data/lib/rodauth_phlex/components/otp_auth_code_field.rb +22 -0
- data/lib/rodauth_phlex/components/password_confirm_field.rb +18 -0
- data/lib/rodauth_phlex/components/password_field.rb +18 -0
- data/lib/rodauth_phlex/components/recovery_codes.rb +24 -0
- data/lib/rodauth_phlex/components/sms_code_field.rb +22 -0
- data/lib/rodauth_phlex/components/webauthn_autofill.rb +26 -0
- data/lib/rodauth_phlex/components.rb +27 -0
- data/lib/rodauth_phlex/email.rb +23 -0
- data/lib/rodauth_phlex/emails/email_auth_email.rb +21 -0
- data/lib/rodauth_phlex/emails/otp_disabled_email.rb +18 -0
- data/lib/rodauth_phlex/emails/otp_locked_out_email.rb +25 -0
- data/lib/rodauth_phlex/emails/otp_setup_email.rb +18 -0
- data/lib/rodauth_phlex/emails/otp_unlock_failed_email.rb +24 -0
- data/lib/rodauth_phlex/emails/otp_unlocked_email.rb +18 -0
- data/lib/rodauth_phlex/emails/password_changed_email.rb +18 -0
- data/lib/rodauth_phlex/emails/reset_password_email.rb +21 -0
- data/lib/rodauth_phlex/emails/reset_password_notify_email.rb +21 -0
- data/lib/rodauth_phlex/emails/unlock_account_email.rb +21 -0
- data/lib/rodauth_phlex/emails/verify_account_email.rb +20 -0
- data/lib/rodauth_phlex/emails/verify_login_change_email.rb +25 -0
- data/lib/rodauth_phlex/emails/webauthn_authenticator_added_email.rb +19 -0
- data/lib/rodauth_phlex/emails/webauthn_authenticator_removed_email.rb +19 -0
- data/lib/rodauth_phlex/emails.rb +22 -0
- data/lib/rodauth_phlex/feature.rb +71 -0
- data/lib/rodauth_phlex/version.rb +5 -0
- data/lib/rodauth_phlex/view.rb +17 -0
- data/lib/rodauth_phlex/views/change_password.rb +25 -0
- data/lib/rodauth_phlex/views/close_account.rb +20 -0
- data/lib/rodauth_phlex/views/confirm_password.rb +20 -0
- data/lib/rodauth_phlex/views/create_account.rb +23 -0
- data/lib/rodauth_phlex/views/email_auth.rb +19 -0
- data/lib/rodauth_phlex/views/login.rb +17 -0
- data/lib/rodauth_phlex/views/logout.rb +19 -0
- data/lib/rodauth_phlex/views/multi_phase_login.rb +17 -0
- data/lib/rodauth_phlex/views/otp_auth.rb +21 -0
- data/lib/rodauth_phlex/views/otp_disable.rb +20 -0
- data/lib/rodauth_phlex/views/otp_setup.rb +39 -0
- data/lib/rodauth_phlex/views/otp_unlock.rb +24 -0
- data/lib/rodauth_phlex/views/otp_unlock_not_available.rb +23 -0
- data/lib/rodauth_phlex/views/recovery_auth.rb +23 -0
- data/lib/rodauth_phlex/views/remember.rb +33 -0
- data/lib/rodauth_phlex/views/reset_password.rb +21 -0
- data/lib/rodauth_phlex/views/reset_password_request.rb +25 -0
- data/lib/rodauth_phlex/views/sms_auth.rb +20 -0
- data/lib/rodauth_phlex/views/sms_confirm.rb +20 -0
- data/lib/rodauth_phlex/views/sms_disable.rb +20 -0
- data/lib/rodauth_phlex/views/sms_request.rb +19 -0
- data/lib/rodauth_phlex/views/sms_setup.rb +30 -0
- data/lib/rodauth_phlex/views/two_factor_auth.rb +19 -0
- data/lib/rodauth_phlex/views/two_factor_disable.rb +20 -0
- data/lib/rodauth_phlex/views/two_factor_manage.rb +28 -0
- data/lib/rodauth_phlex/views/unlock_account.rb +21 -0
- data/lib/rodauth_phlex/views/unlock_account_request.rb +21 -0
- data/lib/rodauth_phlex/views/verify_account.rb +21 -0
- data/lib/rodauth_phlex/views/verify_account_resend.rb +25 -0
- data/lib/rodauth_phlex/views/verify_login_change.rb +19 -0
- data/lib/rodauth_phlex/views/webauthn_auth.rb +27 -0
- data/lib/rodauth_phlex/views/webauthn_remove.rb +33 -0
- data/lib/rodauth_phlex/views/webauthn_setup.rb +28 -0
- data/lib/rodauth_phlex/views.rb +39 -0
- data/lib/rodauth_phlex.rb +13 -0
- metadata +162 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/confirm-password.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class ConfirmPassword < RodauthPhlex::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "confirm-password-form") do
|
|
13
|
+
safe_html rodauth.confirm_password_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
render PasswordField(rodauth)
|
|
16
|
+
Button(rodauth, rodauth.confirm_password_button)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/create-account.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class CreateAccount < RodauthPhlex::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "create-account-form") do
|
|
13
|
+
safe_html rodauth.create_account_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
LoginField(rodauth)
|
|
16
|
+
LoginConfirmField(rodauth) if rodauth.require_login_confirmation?
|
|
17
|
+
PasswordField(rodauth) if rodauth.create_account_set_password?
|
|
18
|
+
PasswordConfirmField(rodauth) if rodauth.create_account_set_password? && rodauth.require_password_confirmation?
|
|
19
|
+
Button(rodauth, rodauth.create_account_button)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/email-auth.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class EmailAuth < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "email-auth-form") do
|
|
13
|
+
safe_html rodauth.email_auth_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
Button(rodauth, rodauth.login_button)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/login.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class Login < RodauthPhlex::View
|
|
11
|
+
def view_template
|
|
12
|
+
safe_html rodauth.login_form_header
|
|
13
|
+
LoginForm(rodauth)
|
|
14
|
+
safe_html rodauth.login_form_footer
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/logout.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class Logout < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "logout-form") do
|
|
13
|
+
safe_html rodauth.logout_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
Button(rodauth, rodauth.logout_button, class: "btn btn-warning")
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/multi-phase-login.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class MultiPhaseLogin < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
safe_html rodauth.login_form_header
|
|
13
|
+
safe_html rodauth.render_multi_phase_login_forms
|
|
14
|
+
safe_html rodauth.login_form_footer
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/otp-auth.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class OtpAuth < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "otp-auth-form") do
|
|
13
|
+
safe_html rodauth.otp_auth_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
OtpAuthCodeField(rodauth)
|
|
16
|
+
Button(rodauth, rodauth.otp_auth_button)
|
|
17
|
+
end
|
|
18
|
+
safe_html rodauth.otp_auth_form_footer
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/otp-disable.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class OtpDisable < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "otp-disable-form") do
|
|
13
|
+
safe_html rodauth.otp_disable_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
PasswordField(rodauth) if rodauth.two_factor_modifications_require_password?
|
|
16
|
+
Button(rodauth, rodauth.otp_disable_button, class: "btn btn-warning")
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/otp-setup.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class OtpSetup < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "otp-setup-form") do
|
|
13
|
+
safe_html rodauth.otp_setup_additional_form_tags
|
|
14
|
+
input(type: "hidden", id: "otp-key", name: rodauth.otp_setup_param, value: rodauth.otp_user_key)
|
|
15
|
+
input(type: "hidden", id: "otp-hmac-secret", name: rodauth.otp_setup_raw_param, value: rodauth.otp_key) if rodauth.otp_keys_use_hmac?
|
|
16
|
+
safe_html rodauth.csrf_tag
|
|
17
|
+
|
|
18
|
+
div(class: "form-group mb-3") do
|
|
19
|
+
p { "#{rodauth.otp_secret_label}: #{rodauth.otp_user_key}" }
|
|
20
|
+
p { "#{rodauth.otp_provisioning_uri_label}: #{rodauth.otp_provisioning_uri}" }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
div(class: "row") do
|
|
24
|
+
div(class: "col-lg-6 col-lg") do
|
|
25
|
+
div(class: "form-group mb-3") do
|
|
26
|
+
p { rodauth.otp_qr_code }
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
div(class: "col-lg-6 col-lg") do
|
|
31
|
+
PasswordField(rodauth) if rodauth.two_factor_modifications_require_password?
|
|
32
|
+
OtpAuthCodeField(rodauth)
|
|
33
|
+
Button(rodauth, rodauth.otp_setup_button)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/otp-unlock.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class OtpUnlock < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "otp-unlock-form") do
|
|
13
|
+
safe_html rodauth.otp_unlock_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
p { "#{rodauth.otp_unlock_consecutive_successes_label}: #{rodauth.otp_unlock_num_successes}" }
|
|
16
|
+
p { "#{rodauth.otp_unlock_required_consecutive_successes_label}: #{rodauth.otp_unlock_auths_required}" }
|
|
17
|
+
p { "#{rodauth.otp_unlock_next_auth_deadline_label}: #{rodauth.otp_unlock_deadline.strftime(rodauth.strftime_format)}" }
|
|
18
|
+
OtpAuthCodeField(rodauth)
|
|
19
|
+
Button(rodauth, rodauth.otp_unlock_button)
|
|
20
|
+
end
|
|
21
|
+
plain rodauth.otp_unlock_form_footer
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/otp-unlock-not-available.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class OtpUnlockNotAvailable < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
p { "#{rodauth.otp_unlock_consecutive_successes_label}: #{rodauth.otp_unlock_num_successes}" }
|
|
13
|
+
p { "#{rodauth.otp_unlock_required_consecutive_successes_label}: #{rodauth.otp_unlock_auths_required}" }
|
|
14
|
+
p { "#{rodauth.otp_unlock_next_auth_attempt_label}: #{otp_unlock_next_auth_attempt_after}" }
|
|
15
|
+
p { rodauth.otp_unlock_next_auth_attempt_refresh_label }
|
|
16
|
+
safe_html rodauth.otp_unlock_refresh_tag
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def otp_unlock_next_auth_attempt_after
|
|
20
|
+
rodauth.otp_unlock_next_auth_attempt_after.strftime(rodauth.strftime_format)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/recovery-auth.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class RecoveryAuth < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "recovery-auth-form") do
|
|
13
|
+
safe_html rodauth.recovery_auth_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
div(class: "form-group mb-3") do
|
|
16
|
+
label(for: "recovery-code", class: "form-label") { "#{rodauth.recovery_codes_label}#{rodauth.input_field_label_suffix}" }
|
|
17
|
+
InputField(rodauth, rodauth.recovery_codes_param, "recovery-code", value: "", autocomplete: "off")
|
|
18
|
+
end
|
|
19
|
+
Button(rodauth, rodauth.recovery_auth_button)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/remember.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class Remember < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "remember-form") do
|
|
13
|
+
safe_html rodauth.remember_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
fieldset(class: "form-group mb-3") do
|
|
16
|
+
div(class: "form-check radio") do
|
|
17
|
+
input(type: "radio", name: rodauth.remember_param, id: "remember-remember", value: rodauth.remember_remember_param_value, class: "form-check-input")
|
|
18
|
+
label(class: "form-check-label", for: "remember-remember") { rodauth.remember_remember_label }
|
|
19
|
+
end
|
|
20
|
+
div(class: "form-check radio") do
|
|
21
|
+
input(type: "radio", name: rodauth.remember_param, id: "remember-forget", value: rodauth.remember_forget_param_value, class: "form-check-input")
|
|
22
|
+
label(class: "form-check-label", for: "remember-forget") { rodauth.remember_forget_label }
|
|
23
|
+
end
|
|
24
|
+
div(class: "form-check radio") do
|
|
25
|
+
input(type: "radio", name: rodauth.remember_param, id: "remember-disable", value: rodauth.remember_disable_param_value, class: "form-check-input")
|
|
26
|
+
label(class: "form-check-label", for: "remember-disable") { rodauth.remember_disable_label }
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
Button(rodauth, rodauth.remember_button)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/reset-password.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class ResetPassword < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "reset-password-form") do
|
|
13
|
+
safe_html rodauth.reset_password_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
PasswordField(rodauth)
|
|
16
|
+
PasswordConfirmField(rodauth) if rodauth.require_password_confirmation?
|
|
17
|
+
Button(rodauth, rodauth.reset_password_button)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/reset-password-request.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class ResetPasswordRequest < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(action: rodauth.reset_password_request_path, method: "post", class: "rodauth", role: "form", id: "reset-password-request-form") do
|
|
13
|
+
safe_html rodauth.reset_password_request_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag(rodauth.reset_password_request_path)
|
|
15
|
+
safe_html rodauth.reset_password_explanatory_text
|
|
16
|
+
if rodauth.param_or_nil(rodauth.login_param) && !rodauth.field_error(rodauth.login_param)
|
|
17
|
+
LoginHiddenField(rodauth)
|
|
18
|
+
else
|
|
19
|
+
LoginField(rodauth)
|
|
20
|
+
end
|
|
21
|
+
Button(rodauth, rodauth.reset_password_request_button)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/sms-auth.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class SmsAuth < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "sms-auth-form") do
|
|
13
|
+
safe_html rodauth.sms_auth_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
SmsCodeField(rodauth)
|
|
16
|
+
Button(rodauth, rodauth.sms_auth_button)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/sms-confirm.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class SmsConfirm < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "sms-confirm-form") do
|
|
13
|
+
safe_html rodauth.sms_confirm_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
SmsCodeField(rodauth)
|
|
16
|
+
Button(rodauth, rodauth.sms_confirm_button)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/sms-disable.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class SmsDisable < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "sms-disable-form") do
|
|
13
|
+
safe_html rodauth.sms_disable_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
PasswordField(rodauth) if rodauth.two_factor_modifications_require_password?
|
|
16
|
+
Button(rodauth, rodauth.sms_disable_button)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/sms-request.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class SmsRequest < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "sms-request-form") do
|
|
13
|
+
safe_html rodauth.sms_request_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
Button(rodauth, rodauth.sms_request_button)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/sms-setup.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class SmsSetup < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "sms-setup-form") do
|
|
13
|
+
safe_html rodauth.sms_setup_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
PasswordField(rodauth) if rodauth.two_factor_modifications_require_password?
|
|
16
|
+
|
|
17
|
+
div(class: "form-group mb-3") do
|
|
18
|
+
label(for: "sms-phone", class: "form-label") { "#{rodauth.sms_phone_label}#{rodauth.input_field_label_suffix}" }
|
|
19
|
+
div(class: "row") do
|
|
20
|
+
div(class: "col-sm-3") do
|
|
21
|
+
InputField(rodauth, rodauth.sms_phone_param, "sms-phone", type: rodauth.sms_phone_input_type, autocomplete: "tel")
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
Button(rodauth, rodauth.sms_setup_button)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/two-factor-auth.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class TwoFactorAuth < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
ul(class: "rodauth-links rodauth-two-factor-auth-links") do
|
|
13
|
+
rodauth.two_factor_auth_links.each do |_, link, text|
|
|
14
|
+
li { a(href: link) { text } }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/two-factor-disable.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class TwoFactorDisable < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "multifactor-disable-form") do
|
|
13
|
+
safe_html rodauth.two_factor_disable_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
PasswordField(rodauth) if rodauth.two_factor_modifications_require_password?
|
|
16
|
+
Button(rodauth, rodauth.two_factor_disable_button)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/two-factor-manage.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class TwoFactorManage < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
safe_html rodauth.two_factor_setup_heading unless rodauth.two_factor_setup_links.empty?
|
|
13
|
+
ul(class: "rodauth-links rodauth-multifactor-setup-links") do
|
|
14
|
+
rodauth.two_factor_setup_links.each do |_, link, text|
|
|
15
|
+
li { a(href: link) { text } }
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
safe_html rodauth.two_factor_remove_heading unless rodauth.two_factor_remove_links.empty?
|
|
20
|
+
ul(class: "rodauth-links rodauth-multifactor-remove-links") do
|
|
21
|
+
rodauth.two_factor_remove_links.each do |_, link, text|
|
|
22
|
+
li { a(href: link) { text } }
|
|
23
|
+
end
|
|
24
|
+
li { a(href: rodauth.two_factor_disable_path) { rodauth.two_factor_disable_link_text } } if rodauth.two_factor_remove_links.length > 1
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/unlock-account.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class UnlockAccount < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "unlock-account-form") do
|
|
13
|
+
safe_html rodauth.unlock_account_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
safe_html rodauth.unlock_account_explanatory_text
|
|
16
|
+
PasswordField(rodauth) if rodauth.unlock_account_requires_password?
|
|
17
|
+
Button(rodauth, rodauth.unlock_account_button)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/unlock-account-request.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class UnlockAccountRequest < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(action: rodauth.unlock_account_request_path, method: "post", class: "rodauth", role: "form", id: "unlock-account-request-form") do
|
|
13
|
+
safe_html rodauth.unlock_account_request_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag(rodauth.unlock_account_request_path)
|
|
15
|
+
LoginHiddenField(rodauth)
|
|
16
|
+
safe_html rodauth.unlock_account_request_explanatory_text
|
|
17
|
+
Button(rodauth, rodauth.unlock_account_request_button)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/verify-account.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class VerifyAccount < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(method: "post", class: "rodauth", role: "form", id: "verify-account-form") do
|
|
13
|
+
safe_html rodauth.verify_account_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag
|
|
15
|
+
PasswordField(rodauth) if rodauth.verify_account_set_password?
|
|
16
|
+
PasswordConfirmField(rodauth) if rodauth.verify_account_set_password? && rodauth.require_password_confirmation?
|
|
17
|
+
Button(rodauth, rodauth.verify_account_button)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RodauthPhlex::Views
|
|
4
|
+
# This is a Phlex version of the Rodauth template:
|
|
5
|
+
# https://github.com/jeremyevans/rodauth/blob/2.37.0/templates/verify-account-resend.str
|
|
6
|
+
#
|
|
7
|
+
# Copyright (c) 2024 Robert Schulze
|
|
8
|
+
# Copyright (c) 2015-2023 Jeremy Evans
|
|
9
|
+
# MIT License
|
|
10
|
+
class VerifyAccountResend < Rodauth::View
|
|
11
|
+
def view_template
|
|
12
|
+
form(action: "rodauth.verify_account_resend_path", method: "post", class: "rodauth", role: "form", id: "verify-account-resend-form") do
|
|
13
|
+
safe_html rodauth.verify_account_resend_additional_form_tags
|
|
14
|
+
safe_html rodauth.csrf_tag(rodauth.verify_account_resend_path)
|
|
15
|
+
safe_html rodauth.verify_account_resend_explanatory_text
|
|
16
|
+
if rodauth.param_or_nil(rodauth.login_param)
|
|
17
|
+
LoginHiddenField(rodauth)
|
|
18
|
+
else
|
|
19
|
+
LoginField(rodauth)
|
|
20
|
+
end
|
|
21
|
+
Button(rodauth, rodauth.verify_account_resend_button)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|