explorak5_login_prueba 6.0.4 → 6.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2f11e380594f4c5096f9f4ce22a2e948276537da229041146b7d229e6f66465
4
- data.tar.gz: 5095070e9756f532663effba221105464d7400b900de62561c4f57afb73cfd83
3
+ metadata.gz: a688b28bdb8ddc5ef2a361ac5d3ae4303ab8a262279875b2e4dd07fa476458d8
4
+ data.tar.gz: e7a3c0981ffbd145c44b0b124bf360e037ce1714fa48e2e105477413408b7dfa
5
5
  SHA512:
6
- metadata.gz: 8c47d8439a3d5e63062a363486179e10ec67dfa7d37559de96e1b72805bf9e67d9cfacec6a56d6df09f982b12b2ff372558a4d0348f854def3b94aec6c204fca
7
- data.tar.gz: d627643797ee62c026712773ad5fe8d18186bf06fa958a687d4046deac56733864c602b98f175ce4987dbe7e3539c15343ff9814d70ab8a12dc1bd89c05c5c78
6
+ metadata.gz: dbfa35f7e98b3f39edbff21af23b00c200575547d87afecc32996646dd5a81fed6465f54d0e120bd30131d2dc857e3ccd32afe4b8bfeca76ef57e54e3b4c75aa
7
+ data.tar.gz: 951d2e8727db18c96933b12b3ab84315555a39961a05908cedf456567bcfc3deb34d0f4cf4a4e799d96054e9faacd926ea4a9ff4e51937e39fd722d6da7e1499
@@ -0,0 +1,20 @@
1
+ <%
2
+ # Copyright (C) 2015 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <% url = (params[:canvas_login] != '1' && @domain_root_account.try(:forgot_password_external_url)) || "#" %>
20
+ <%= link_to t('dont_know_password', "Forgot Password?"), url, :class => (url != '#' ? "ic-Login__link not_external" : "ic-Login__link forgot_password_link"), :id => "login_forgot_password" %>
@@ -0,0 +1,34 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="110" height="16" viewBox="25 265 743 80"><title>Instructure</title>
2
+ <g class="ic-Instructure-Logo">
3
+ <g>
4
+ <polygon class="st0" points="23.8,331.5 72.3,358.8 120.7,331.5 72.3,304.2 "/>
5
+ <polygon class="st0" points="98.4,293.7 120.7,281.1 98.3,268.5 76,281.1 "/>
6
+ <polygon class="st0" points="94.6,266.4 72.3,253.8 49.9,266.4 72.3,279 "/>
7
+ <polygon class="st0" points="68.5,281.1 46.2,268.5 23.8,281.1 46.2,293.7 "/>
8
+ </g>
9
+ <g>
10
+ <path class="st0" d="M166.3,344.9v-78.1h12.9v78.1H166.3z"/>
11
+ <path class="st0" d="M202,344.9v-78.1H215l16.4,48.3v-48.3h11.8v78.1h-12.3l-17.1-50.7v50.7H202z"/>
12
+ <path class="st0" d="M357.4,278.2h-13v66.7h-12.9v-66.7h-13v-11.4h39V278.2z"/>
13
+ <path class="st0" d="M404.6,344.9l-9.9-31.1h-6.5v31.1h-12.9v-78.1h20.2c11.8,0,19.6,4.7,19.6,16.5v13.9c0,7.5-3.1,12.2-8.5,14.5
14
+ l11.2,33.1H404.6z M388.2,302.7h6.8c4.2,0,7.1-1.6,7.1-7.1v-10.1c0-5.6-2.9-7.1-7.1-7.1h-6.8V302.7z"/>
15
+ <path class="st0" d="M475.4,329.3c0,12-7.6,16.5-19.4,16.5h-0.4c-11.8,0-19.4-4.4-19.4-16.5v-62.5h12.9v60.5
16
+ c0,5.6,2.5,7.1,6.7,7.1c4.2,0,6.7-1.6,6.7-7.1v-60.5h12.9V329.3z"/>
17
+ <path class="st0" d="M536.5,329.3c0,12-7.8,16.5-19.6,16.5h-0.2c-11.8,0-19.6-4.4-19.6-16.5v-46.8c0-11.6,7.8-16.5,19.6-16.5h0.2
18
+ c11.8,0,19.6,4.9,19.6,16.5v9h-12.9v-7c0-5.5-2.7-7.1-6.8-7.1c-4.1,0-6.8,1.7-6.8,7.1v42.8c0,5.5,2.7,7.1,6.8,7.1
19
+ c4.1,0,6.8-1.7,6.8-7.1v-8.9h12.9V329.3z"/>
20
+ <path class="st0" d="M592.1,278.2h-13v66.7h-12.9v-66.7h-13v-11.4h39V278.2z"/>
21
+ <path class="st0" d="M649,329.3c0,12-7.6,16.5-19.4,16.5h-0.4c-11.8,0-19.4-4.4-19.4-16.5v-62.5h12.9v60.5c0,5.6,2.5,7.1,6.7,7.1
22
+ c4.2,0,6.7-1.6,6.7-7.1v-60.5H649V329.3z"/>
23
+ <path class="st0" d="M700.4,344.9l-9.9-31.1H684v31.1H671v-78.1h20.2c11.8,0,19.6,4.7,19.6,16.5v13.9c0,7.5-3.1,12.2-8.5,14.5
24
+ l11.2,33.1H700.4z M684,302.7h6.8c4.2,0,7.1-1.6,7.1-7.1v-10.1c0-5.6-2.9-7.1-7.1-7.1H684V302.7z"/>
25
+ <path class="st0" d="M289.8,289.5v-5.7c0-4.9-2.8-6.7-6.6-6.7c-3.8,0-6.6,1.8-6.6,6.7v5.4c0,4,1.3,5.8,5,7.9l9.1,5.1
26
+ c7.5,4.2,11.9,7.7,11.9,16.1v11.3c0,12-7.5,16.3-19.3,16.3h-0.2c-11.8,0-19.3-4.1-19.3-16.3v-8.4h12.7v6.6c0,4.8,2.8,6.9,6.7,6.9
27
+ c3.9,0,6.7-2.1,6.7-6.9v-6.1c0-4-1.2-6-5.1-8.1l-9-5.1c-7.6-4.3-11.9-7.9-11.9-16.1V282c0-11.6,8.5-16.1,19.2-16.1h0.2
28
+ c10.7,0,19.2,4.5,19.2,16.1v7.5H289.8z"/>
29
+ <polygon class="st0" points="732.5,344.9 732.5,266.9 766.7,266.9 766.7,278.2 745.4,278.2 745.4,299.6 763.3,299.6 763.3,311
30
+ 745.4,311 745.4,333.5 767,333.5 767,344.9 "/>
31
+ </g>
32
+ </g>
33
+
34
+ </svg>
@@ -0,0 +1,49 @@
1
+ <%
2
+ # Copyright (C) 2015 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <% hide_self_reg_banner ||= false %>
20
+
21
+ <% if @domain_root_account && @domain_root_account.self_registration? && !hide_self_reg_banner %>
22
+ <% if @domain_root_account.self_registration_type == 'observer' %>
23
+ <% js_env :ACCOUNT => account_json(@domain_root_account, nil, session, ['registration_settings']),
24
+ :PASSWORD_POLICY => @domain_root_account.password_policy %>
25
+ <%= link_to '#',
26
+ :id => 'coenrollment_link',
27
+ :class => "ic-Login__link ic-Login__register-banner",
28
+ data: reg_link_data(nil) do %>
29
+ <div class="ic-Login__banner-title">
30
+ <%= t('Parent of a Canvas User?') %>
31
+ </div>
32
+ <div class="ic-Login__banner-subtitle">
33
+ <%= t('Click Here For an Account') %>
34
+ </div>
35
+ <% end %>
36
+ <% else %>
37
+ <%= link_to "/register_from_website",
38
+ :id => 'register_link',
39
+ :class => "ic-Login__link ic-Login__register-banner" do %>
40
+ <div class="ic-Login__banner-title">
41
+ <%= t('Need a Canvas Account?') %>
42
+ </div>
43
+ <div class="ic-Login__banner-subtitle">
44
+ <%= t("Click Here, It's Free!") %>
45
+ </div>
46
+ <% end %>
47
+ <% end %>
48
+ <% end %>
49
+
@@ -0,0 +1,40 @@
1
+ <%
2
+ # Copyright (C) 2015 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <% if aacs.present? %>
20
+ <div class="ic-Login__sso">
21
+ <ul class="ic-Login__sso-list">
22
+ <% aacs.each do |aac| %>
23
+ <% only_one = aacs.size < 2 %>
24
+ <% only_one_of_type = aacs.select { |a| a.auth_type == aac.auth_type }.size < 2 %>
25
+ <li class="ic-Login__sso-list__item">
26
+ <a href="/login/<%= aac.auth_type %><%= only_one_of_type ? '' : "/#{aac.id}" %>"
27
+ class="Button Button--primary <%= only_one ? 'ic-Login__sso-button--has-text ' : '' %>ic-Login__sso-button ic-Login__sso-button--<%= aac.auth_type %>">
28
+ <%= render partial: "shared/auth_type_icon",
29
+ locals: {
30
+ auth_type: aac.auth_type,
31
+ sr_message: only_one ? nil : aac.class.login_message,
32
+ with_login_text: only_one ? aac.class.login_message : nil
33
+ } %>
34
+ </a>
35
+
36
+ </li>
37
+ <% end %>
38
+ </ul>
39
+ </div>
40
+ <% end %>
@@ -0,0 +1,144 @@
1
+ <%
2
+ # Copyright (C) 2011 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <% js_bundle :mobile_login %>
20
+
21
+ <% extend Api::V1::Account %>
22
+ <%
23
+ unique_id = begin
24
+ params.dig(:pseudonym_session, :unique_id)&.to_s
25
+ rescue TypeError
26
+ nil
27
+ end
28
+ %>
29
+
30
+ <div class="mobileLogin-Header">
31
+ <span class="screenreader-only">
32
+ <%= t 'Canvas by Instructure' %>
33
+ <script type="text/javascript">
34
+ window.onload = function() {
35
+ var msg
36
+ var email = document.querySelector('[placeholder="Email"]')
37
+ function showMessage() {
38
+ var elt = document.querySelector('span#screenreader-errormsg')
39
+ if (elt) elt.innerText = msg
40
+ }
41
+ <% if request.post? && flash[:error] %>
42
+ msg = '<%= t "Error logging in: %{error_msg}", error_msg: flash[:error] %>'
43
+ setTimeout(showMessage, 1500)
44
+ if (email) email.focus()
45
+ <% end %>
46
+ }
47
+ </script>
48
+ <span aria-live="assertive" id="screenreader-errormsg"></span>
49
+ </span>
50
+ </div>
51
+ <%= form_for :pseudonym_session, :url => url_for({ action: :create }.merge(params.slice(:id).to_unsafe_h)), :html => {:id => "login_form", :class => "front face", :novalidate => 'novalidate', :autocomplete => "off" } do |f| %>
52
+
53
+ <div class="ic-Form-control">
54
+ <input
55
+ class="ic-Input"
56
+ autocomplete="off"
57
+ autocorrect="off"
58
+ placeholder="<%= @login_handle_name%>"
59
+ type="<%= @login_handle_is_email ? 'email' : 'text' %>"
60
+ name="pseudonym_session[unique_id]"
61
+ value="<%= unique_id %>" />
62
+ </div>
63
+ <div class="ic-Form-control">
64
+ <input
65
+ class="ic-Input"
66
+ type="password"
67
+ name="pseudonym_session[password]"
68
+ autocomplete="off"
69
+ autocorrect="off"
70
+ placeholder="<%= t :password, "Password" %>" />
71
+ </div>
72
+ <button
73
+ type="submit"
74
+ class="Button Button--primary Button--block"><%= t('log_in', 'Log In') %>
75
+ </button>
76
+
77
+ <% if request.post? && flash[:error] %>
78
+ <div aria-hidden="true" class="error"><%= flash[:error] %></div>
79
+ <% end %>
80
+
81
+ <div class="forgotBlock">
82
+ <% if url = params[:canvas_login].blank? && @domain_root_account.try(:forgot_password_external_url) %>
83
+ <%= link_to t('dont_know_password', "Forgot Password?"), url, :class => 'forgot-password' %>
84
+ <% else %>
85
+ <a tabindex="0" role="link" class="forgot-password flip-to-back"><%= t('dont_know_password', "Forgot Password?") %></a>
86
+ <% end %>
87
+ </div>
88
+ <% end %>
89
+ <%= form_for :pseudonym_session, :url => forgot_password_path, :html => {:id => "forgot_password_form", :class => 'back face', :autocomplete => "off" } do |f| %>
90
+ <div class="ic-Form-control">
91
+ <label for="pseudonym_session_unique_id_forgot" class="screenreader-only"><%= t('login_handle', "Enter your %{login_handle_name} and we'll send you a link to change your password.", :login_handle_name => @login_handle_name) %></label>
92
+ <input
93
+ class="ic-Input"
94
+ autocomplete="off"
95
+ autocorrect="off"
96
+ type="<%= @login_handle_is_email ? 'email' : 'text' %>"
97
+ name="pseudonym_session[unique_id_forgot]"
98
+ value=""
99
+ placeholder="<%= @login_handle_name %>"
100
+ id="pseudonym_session_unique_id_forgot" />
101
+ </div>
102
+ <button
103
+ type="submit"
104
+ class="Button Button--primary Button--block request-password-button"
105
+ data-text-while-loading="<%= t(:sending, "Sending...") %>"
106
+ data-text-when-loaded="<%= t(:sent, "Sent!") %>"
107
+ data-text-on-error="<%= t(:error, "An error occurred, please try again later.") %>"
108
+ >
109
+ <%= t('buttons.request_password', 'Request Password') %>
110
+ </button>
111
+ <div class="forgotBlock">
112
+ <a tabindex="0" role="link" class="flip-to-front"><%= t('back_to_login', "Back to Login") %></a>
113
+ </div>
114
+ <% end %>
115
+
116
+ <% if @domain_root_account && @domain_root_account.self_registration? %>
117
+ <% if @domain_root_account.self_registration_type == 'observer' %>
118
+ <% js_env :ACCOUNT => account_json(@domain_root_account, nil, session, ['registration_settings']),
119
+ :PASSWORD_POLICY => @domain_root_account.password_policy %>
120
+ <div id='coenrollment_link' class='enrollment_link'>
121
+ <div class="ic-Login__banner-title">
122
+ <%= t('Parent of a Canvas User?') %>
123
+ </div>
124
+ <%= link_to '#',
125
+ :class => "ic-Login__link ic-Login__register-banner ic-Login__banner-subtitle",
126
+ data: reg_link_data(nil) do %>
127
+ <%= t('Create Account') %>
128
+ <% end %>
129
+ </div>
130
+ <% else %>
131
+ <div class='enrollment_link'>
132
+ <%= link_to "/register_from_website",
133
+ :id => 'register_link',
134
+ :class => "ic-Login__link ic-Login__register-banner" do %>
135
+ <div class="ic-Login__banner-title">
136
+ <%= t('Need a Canvas Account?') %>
137
+ </div>
138
+ <div class="ic-Login__banner-subtitle">
139
+ <%= t("Click Here, It's Free!") %>
140
+ </div>
141
+ <% end %>
142
+ </div>
143
+ <% end %>
144
+ <% end %>
@@ -0,0 +1,32 @@
1
+ <%
2
+ # Copyright (C) 2015 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <%
20
+ css_bundle :login
21
+ js_bundle :login
22
+ provide :page_title, t(:page_title, "Log In to Canvas")
23
+ %>
24
+
25
+ <% extend Api::V1::Account %>
26
+
27
+ <% add_body_class "full-width ic-Login-Body" %>
28
+ <%= render "login/canvas/new_login_content" %>
29
+
30
+ <% if flash[:logged_out] && HostUrl.file_host(@domain_root_account, request.host_with_port) %>
31
+ <img class="hidden-readable" src="//<%= HostUrl.file_host(@domain_root_account, request.host_with_port) %>/file_session/clear"/>
32
+ <% end %>
@@ -0,0 +1,43 @@
1
+ <%
2
+ # Copyright (C) 2024 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <%
20
+ css_bundle :login_confirm
21
+ @headers = false
22
+ add_body_class "full-width modal body--login-confirmation"
23
+ provide :page_title, t("Account Verification Required")
24
+ %>
25
+
26
+ <div id="modal-box" class="ic-Login-confirmation">
27
+ <header class="ic-Login-confirmation__header">
28
+ <%= image_tag("login/canvas-logo@2x.png", class: "ic-Login-confirmation__logo", alt: "Canvas by Instructure") %>
29
+ </header>
30
+ <div class="ic-Login-confirmation__content">
31
+ <h2 class="ic-Login-confirmation__headline"><%= t("Account Verification Required") %></h2>
32
+ <p><%= t("To secure your account, you must validate your email before you can log in to Canvas.") %></p>
33
+ <p><%= t("A verification code has been sent to %{email}. Please provide this code below:", email: @verification_email) %></p>
34
+ <%= form_tag login_email_verify_url do %>
35
+ <%= hidden_field_tag :d, @jwt %>
36
+ <%= text_field_tag :code, nil, class: "ic-Input", placeholder: t("Verification Code"), autocomplete: "off" %>
37
+ <div class="button_box ic-Login-confirmation__actions">
38
+ <%= submit_tag(t("Submit"), class: "Button Button--primary") %>
39
+ <%= link_to(t("Cancel"), login_url, :class => "Button Button--secondary") %>
40
+ </div>
41
+ <% end %>
42
+ </div>
43
+ </div>
@@ -0,0 +1,53 @@
1
+ <%
2
+ # Copyright (C) 2014 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <%
20
+ css_bundle :login
21
+ @headers = false
22
+ provide :page_title, t(:page_title, "Log Out")
23
+ add_body_class "full-width ic-Login-Body"
24
+ %>
25
+ <div class="ic-Login">
26
+ <div class="ic-Login__container">
27
+ <div class="ic-Login__content">
28
+ <div class="ic-Login__innerContent">
29
+ <div class="ic-Login__header">
30
+ <%= render :partial => 'login/shared/header_logo' %>
31
+ </div>
32
+ <div class="ic-Login__body">
33
+ <h1 class="ic-Login__title">
34
+ <%= t 'log_out', 'Log Out' %>
35
+ </h1>
36
+ <p class="ic-Login__text">
37
+ <%= t 'details.log_out', 'Are you sure you want to log out of Canvas?' %>
38
+ </p>
39
+ <%= form_tag logout_path, method: :delete do %>
40
+ <div class="ic-Login__actions">
41
+ <%= link_to(t(:cancel, "Cancel"), '/', :class => "ic-Login__link") %>
42
+ <div class="ic-Login__actions--right">
43
+ <button type="submit" class="Button Button--login" id="Button--logout-confirm">
44
+ <%= t("Log Out") %>
45
+ </button>
46
+ </div>
47
+ </div>
48
+ <% end %>
49
+ </div> <!-- end ic-Login__body -->
50
+ </div> <!-- end ic-Login__innerContent -->
51
+ </div> <!-- end ic-Login__content -->
52
+ </div> <!-- end ic-Login__content -->
53
+ </div> <!-- end ic-Login__container -->
@@ -0,0 +1,46 @@
1
+ <%
2
+ # Copyright (C) 2014 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <%
20
+ css_bundle :login
21
+ @headers = false
22
+ provide :page_title, t(:page_title, "Logged Out")
23
+ add_body_class "full-width ic-Login-Body"
24
+ %>
25
+ <div class="ic-Login">
26
+ <div class="ic-Login__container">
27
+ <div class="ic-Login__content">
28
+ <div class="ic-Login__innerContent">
29
+ <div class="ic-Login__header">
30
+ <%= render :partial => 'login/shared/header_logo' %>
31
+ </div>
32
+ <div class="ic-Login__body">
33
+ <h1 class="ic-Login__title">
34
+ <%= t 'Logged Out' %>
35
+ </h1>
36
+ <p class="ic-Login__text">
37
+ <%= t 'You are logged out of Canvas.' %>
38
+ </p>
39
+ <div class="ic-Login__actions">
40
+ <%= link_to(t("Click here to log in again"), login_url, :class => "ic-Login__link") %>
41
+ </div>
42
+ </div> <!-- end ic-Login__body -->
43
+ </div> <!-- end ic-Login__innerContent -->
44
+ </div> <!-- end ic-Login__content -->
45
+ </div> <!-- end ic-Login__content -->
46
+ </div> <!-- end ic-Login__container -->
@@ -0,0 +1,36 @@
1
+ <%
2
+ # Copyright (C) 2015 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <% provide :page_title do %>
20
+ <%= t 'Failed to Log In' %>
21
+ <% end %>
22
+
23
+ <div id="unauthorized_holder">
24
+ <% css_bundle("unauthorized_message") %>
25
+ <div id="unauthorized_message">
26
+ <h2 class="ui-state-error">
27
+ <%= t 'Failed to Log In' %>
28
+ </h2>
29
+ <p>
30
+ <%= flash[:delegated_message] %>
31
+ </p>
32
+ <p>
33
+ <%= t "You can try to *log in again*.", wrapper: link_to('\1', login_url) %>
34
+ </p>
35
+ </div>
36
+ </div>
@@ -0,0 +1,144 @@
1
+ <%
2
+ # Copyright (C) 2012 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <%
20
+ css_bundle :otp_login
21
+ js_bundle :otp_login
22
+ @headers = false
23
+ add_body_class "full-width modal body--login-confirmation"
24
+ provide :page_title, t("Multi-Factor Authentication")
25
+ %>
26
+
27
+ <div id="modal-box" class="ic-Login-confirmation">
28
+ <header class="ic-Login-confirmation__header">
29
+ <%= image_tag("login/canvas-logo@2x.png", class:"ic-Login-confirmation__logo", alt:"Canvas by Instructure") %>
30
+ </header>
31
+ <div class="ic-Login-confirmation__content">
32
+ <h2 class="ic-Login-confirmation__headline"><%= t("Multi-Factor Authentication") %></h2>
33
+ <% if configuring? %>
34
+ <div>
35
+ <% if @current_user.mfa_settings(pseudonym_hint: @current_pseudonym) == :required %>
36
+ <p><%= t("You are required to set up Multi-Factor Authentication.") %></p>
37
+ <% end %>
38
+ <% otp_via_sms_message = otp_via_sms_in_us_region? ? mt(<<~MESSAGE) : ""
39
+ The device can be a code generator or a mobile phone that receives text messages.
40
+ **Using an authenticator app is strongly recommended for enhanced security.**
41
+ MESSAGE
42
+ %>
43
+ <%= mt(<<~BODY, otp_via_sms_message:)
44
+ Multi-Factor Authentication (MFA) enhances security by requiring a physical device and your Canvas login password.
45
+ %{otp_via_sms_message}
46
+
47
+ Configure MFA by scanning the QR code with a Time-based One-Time Password (TOTP) app on iPhone or Android
48
+ (e.g., Google Authenticator, Microsoft Authenticator, Authy). After setup, print backup codes from your profile
49
+ page if your primary MFA device is unavailable.
50
+ BODY
51
+ %>
52
+ <div class="content-box">
53
+ <div class="grid-row <%= otp_via_sms_in_us_region? ? "otp-login__grid-row-divider" : "center-xs" %>">
54
+ <div class="<%= otp_via_sms_in_us_region? ? "col-xs-12 col-sm-12 col-md-6" : "col-xs-12" %>">
55
+ <h3><%= t("Use Authenticator App") %></h3>
56
+ <%
57
+ provisioning_uri = ROTP::TOTP.new(session[:pending_otp_secret_key]).provisioning_uri("#{@domain_root_account.name} Canvas- #{@current_pseudonym.unique_id}")
58
+ qr_code = RQRCode::QRCode.new(provisioning_uri, level: :l)
59
+ %>
60
+ <div class="otp-qr-code">
61
+ <img src="data:image/png;base64,<%= Base64.encode64(qr_code.as_png(module_px_size: 4).to_s).strip %>" alt="<%= t("Time-based one-time password (TOTP) QR code") %>">
62
+ </div>
63
+ <p class="<%= "otp-login__text-align--xs-center" if otp_via_sms_in_us_region? %>">
64
+ <strong><%= t("Secret Key:") %></strong>
65
+ <br>
66
+ <span class="otp-login__secret-key"><%= session[:pending_otp_secret_key] %></span>
67
+ </p>
68
+ </div>
69
+ <% if otp_via_sms_in_us_region? %>
70
+ <div class="col-xs-12 col-sm-12 col-md-6">
71
+ <h3><%= t("Use SMS") %></h3>
72
+ <p><%= t("Only US mobile numbers are supported.") %></p>
73
+ <% ccs = @current_user.communication_channels.sms.unretired.map { |cc| [cc.path, cc.id] } %>
74
+ <% unless ccs.empty? %>
75
+ <% ccs << ["<< #{t("a new mobile number")} >>", "{{id}}"] %>
76
+ <%= form_for :otp_login, :url => send_otp_via_sms_path, :html => {:id => "select_phone_form", :class => "ic-Form-group ic-Form-group--horizontal"} do |f| %>
77
+ <div class="ic-Form-control">
78
+ <%= f.blabel :otp_communication_channel_id, en: "US Mobile Number", class: "ic-Label" %>
79
+ <div class="controls">
80
+ <%= f.select(:otp_communication_channel_id, ccs, { selected: @cc.try(:id) }, class: "ic-Input") %>
81
+ </div>
82
+ </div>
83
+ <div>
84
+ <button type="submit" class="Button Button--primary">
85
+ <%= t("Send") %>
86
+ </button>
87
+ </div>
88
+ <% end %>
89
+ <% end %>
90
+ <%= form_for :otp_login, url: send_otp_via_sms_path, html: { id: "new_phone_form", style: (hidden(false) unless ccs.empty?), class: "ic-Form-group" } do |f| %>
91
+ <div class="ic-Form-control">
92
+ <%= f.blabel :phone_number, :en => "US Mobile Number", :class => "ic-Label" %>
93
+ <div class="controls">
94
+ <%= f.text_field :phone_number, :class => "ic-Input" %>
95
+ </div>
96
+ </div>
97
+ <div>
98
+ <button type="submit" class="Button Button--primary">
99
+ <%= t("Send") %>
100
+ </button>
101
+ <% unless ccs.empty? %>
102
+ <a href="#" class="Button Button--link" id="back_to_choose_number_link">
103
+ <%= t("Choose an existing number") %>
104
+ </a>
105
+ <% end %>
106
+ </div>
107
+ <% end %>
108
+ </div>
109
+ <% end %>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ <% end %>
114
+ <% if @cc %>
115
+ <div>
116
+ <p><%= t("Please enter the verification code sent to your mobile phone number.") %></p>
117
+ </div>
118
+ <% if @cc.otp_impaired? %>
119
+ <div class="alert alert-warning">
120
+ <p><%= t("Please check your email if your SMS code does not arrive soon.") %></p>
121
+ </div>
122
+ <% end %>
123
+ <% else %>
124
+ <div>
125
+ <p><%= t("Please enter the verification code shown by your token.") %></p>
126
+ </div>
127
+ <% end %>
128
+ <%= form_for :otp_login, url: otp_login_path, html: { id: "login_form", class: "ic-Form-group" } do |f| %>
129
+ <div class="ic-Form-control">
130
+ <div class="ic-Input-group">
131
+ <%= f.blabel :verification_code, :en => "Verification Code", :class => "ic-Label" %>
132
+ <%= f.text_field :verification_code, :class => "ic-Input", :autocomplete => "off" %>
133
+ <button type="submit" class="Button Button--primary">
134
+ <%= t("Verify") %>
135
+ </button>
136
+ </div>
137
+ </div>
138
+ <div>
139
+ <%= f.check_box :remember_me %>
140
+ <%= f.label :remember_me, :en => "Remember this computer" %>
141
+ </div>
142
+ <% end %>
143
+ </div>
144
+ </div>
@@ -0,0 +1,21 @@
1
+ <%
2
+ # Copyright (C) 2015 - present Instructure, Inc.
3
+ #
4
+ # This file is part of Canvas.
5
+ #
6
+ # Canvas is free software: you can redistribute it and/or modify it under
7
+ # the terms of the GNU Affero General Public License as published by the Free
8
+ # Software Foundation, version 3 of the License.
9
+ #
10
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ # details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License along
16
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ %>
18
+
19
+ <div class="ic-Login-header__logo">
20
+ <%= image_tag(brand_variable("ic-brand-Login-logo"), :alt => alt_text_for_login_logo) %>
21
+ </div>
@@ -0,0 +1,542 @@
1
+ /*
2
+ * Copyright (C) 2015 - present Instructure, Inc.
3
+ *
4
+ * This file is part of Canvas.
5
+ *
6
+ * Canvas is free software: you can redistribute it and/or modify it under
7
+ * the terms of the GNU Affero General Public License as published by the Free
8
+ * Software Foundation, version 3 of the License.
9
+ *
10
+ * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
+ * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
+ * details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License along
16
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+
19
+ /// Below are the shared styles for our content pieces. Because our layout
20
+ /// changes based on whether our course menu is open or shut
21
+ /// we needed to ensure we share the right styles with these sections, but
22
+ /// still enforce different breakpoints when needed
23
+
24
+ @mixin shared-main-content {display: flex;}
25
+ @mixin shared-primary {
26
+ flex: 1;
27
+ // Fix Firefox and IE Edge issues with contents breaking out of flex container
28
+ // min-width: 1px;
29
+ min-width: 90%;
30
+ }
31
+ @mixin shared-secondary {
32
+ width: $ic-right-side-width;
33
+ padding-#{direction(left)}: $ic-sp*2;
34
+ }
35
+
36
+ $ic-left-side-width: $ic-sp*16;
37
+
38
+
39
+ body:not(.ic-no-flex-layout):not(.embedded) .ic-app-main-content {
40
+ box-sizing: border-box;
41
+ flex: 1;
42
+ // Fix Firefox and IE Edge issues with contents breaking out of flex container
43
+ min-width: 80%;
44
+ // Agregado por explora k5
45
+ // padding-left: 30px;
46
+ // margin-left: 3%;
47
+
48
+ @include mobile-only {
49
+ & {
50
+ min-width: 1px;
51
+ padding-left: 0%;
52
+ margin-left: 0.25%;
53
+ margin-right: 0.25%;
54
+ }
55
+ }
56
+ }
57
+
58
+ .ic-Layout-contentWrapper {
59
+ box-sizing: border-box;
60
+ }
61
+
62
+ .ic-Layout-contentMain {
63
+ padding: $ic-sp*2;
64
+ @include mobile-only {
65
+ & {
66
+ // padding-#{direction(left)}: $ic-sp;
67
+ // padding-#{direction(right)}: $ic-sp;
68
+ padding-#{direction(left)}: $ic-sp*0;
69
+ padding-#{direction(right)}: $ic-sp*0;
70
+ }
71
+ }
72
+
73
+
74
+
75
+ body.is-inside-submission-frame & {
76
+ padding-#{direction(left)}: $ic-sp;
77
+ padding-#{direction(right)}: $ic-sp;
78
+ }
79
+
80
+ body.no-headers & {
81
+ padding-top: 0;
82
+ }
83
+
84
+ body.embedded & {
85
+ padding: 0 1em 1em;
86
+ }
87
+
88
+ body.ic-framed-lti-tool & {
89
+ padding: 0 $ic-sp*2;
90
+ }
91
+
92
+ body.ic-full-screen-lti-tool & {
93
+ padding: 0;
94
+ }
95
+ }
96
+
97
+ .ic-app-main-content__secondary {
98
+ box-sizing: border-box;
99
+ min-width: 1px;
100
+ padding: $ic-sp*2;
101
+ @include mobile-only {
102
+ & {
103
+ padding-#{direction(left)}: $ic-sp;
104
+ padding-#{direction(right)}: $ic-sp;
105
+ }
106
+ }
107
+
108
+ position: relative; // note: this is also set for #right-side-wrapper in _#right-side.scss
109
+ // prevent safari bug where content disappears on scroll
110
+ -webkit-transform: translate3d(0, 0, 0);
111
+ }
112
+
113
+ /// Layout when the course nav IS OPEN
114
+ body.course-menu-expanded {
115
+ &:not(.ic-no-flex-layout):not(.embedded) .ic-app-main-content {
116
+ @include breakpoint(desktop--nav-open) { @include shared-main-content; }
117
+ }
118
+ &:not(.ic-no-flex-layout):not(.embedded) .ic-Layout-contentWrapper {
119
+ @include breakpoint(desktop--nav-open) {
120
+ @include shared-primary;
121
+ }
122
+ }
123
+ .ic-app-main-content__secondary {
124
+ @include breakpoint(desktop--nav-open) {
125
+ @include shared-secondary;
126
+ }
127
+ }
128
+ }
129
+
130
+ /// Layout when the course nav IS CLOSED
131
+ body:not(.course-menu-expanded) {
132
+ &:not(.ic-no-flex-layout):not(.embedded) .ic-app-main-content {
133
+ @include breakpoint(desktop) { @include shared-main-content; }
134
+ }
135
+ &:not(.ic-no-flex-layout):not(.embedded) .ic-Layout-contentWrapper {
136
+ @include breakpoint(desktop) {
137
+ @include shared-primary;
138
+ }
139
+ }
140
+ .ic-app-main-content__secondary {
141
+ @include breakpoint(desktop) {
142
+ @include shared-secondary;
143
+ }
144
+ }
145
+ }
146
+
147
+ .ic-app-footer {
148
+ .terms-of-service__link {
149
+ a {
150
+ @include ic-focus-base;
151
+ &:focus {
152
+ @include ic-focus-variant;
153
+ }
154
+ }
155
+ margin-top: -2px !important;
156
+ color: var(--ic-brand-font-color-dark-lightened-15) !important;
157
+ }
158
+ box-sizing: border-box;
159
+ padding: $ic-sp 0;
160
+ margin: 0 $ic-sp*2;
161
+ border-top: 1px solid $ic-border-light;
162
+ @include breakpoint(desktop) {
163
+ display: flex;
164
+ align-items: center;
165
+ }
166
+ body.modal & {
167
+ margin: 0;
168
+ padding: $ic-sp $ic-sp*2;
169
+ }
170
+ }
171
+ .ic-app-footer__links {
172
+ flex: 1;
173
+ display: flex;
174
+ a {
175
+ color: $ic-font-color--subdued;
176
+ margin-#{direction(right)}: $ic-sp;
177
+ @include fontSize($ic-font-size--xsmall);
178
+ }
179
+ @include breakpoint(desktop) {
180
+ justify-content: flex-end;
181
+ a { margin-#{direction(right)}: 0; margin-#{direction(left)}: $ic-sp; }
182
+ }
183
+
184
+ body.responsive_awareness & {
185
+ a {
186
+ @include mobile-only {
187
+ display: inline-block;
188
+ width: 100%;
189
+ }
190
+ }
191
+ @include mobile-only {
192
+ display: block;
193
+ }
194
+ }
195
+ }
196
+
197
+ .ic-app {
198
+ box-sizing: border-box;
199
+ min-height: 100vh;
200
+ }
201
+
202
+ // Agregado por explora k5
203
+
204
+ .login_links {
205
+ display: grid;
206
+ float: right;
207
+ grid-template-rows: 25px 25px 25px;
208
+ grid-row-gap: 75px;
209
+ margin-right: 50px;
210
+ width: 5%;
211
+ }
212
+
213
+ .btn-img-logout-text {
214
+ text-decoration: underline;
215
+ color: white;
216
+ background: transparent;
217
+ border: none;
218
+ }
219
+
220
+ .btn-img-logout {
221
+ background-size: 100px;
222
+ background-repeat: no-repeat;
223
+ height: 125px;
224
+ width: 125px;
225
+ background-color: transparent;
226
+ border: none;
227
+ background-position: center;
228
+ }
229
+
230
+ .btn-img-login-espol {
231
+ float: left;
232
+ width: 6%;
233
+ margin-left: 30px;
234
+ margin-top: 10px;
235
+ background-repeat: no-repeat;
236
+ height: 120px;
237
+ background-position: center;
238
+ background-size: contain;
239
+ background-color: transparent;
240
+ border: none;
241
+ }
242
+
243
+ .btn-img-login-pizarra {
244
+ width: auto;
245
+ background-repeat: no-repeat;
246
+ height: 120px;
247
+ background-position: center;
248
+ background-size: contain;
249
+ background-color: transparent;
250
+ border: none;
251
+ margin-top: 10px;
252
+ margin-bottom: 20px;
253
+ }
254
+
255
+ .btn-img-login-vinculos {
256
+ width: auto;
257
+ margin-top: 15px;
258
+ background-repeat: no-repeat;
259
+ height: 120px;
260
+ background-position: center;
261
+ background-size: contain;
262
+ background-color: transparent;
263
+ border: none;
264
+ }
265
+
266
+ .login_links-mobile {
267
+ display: grid;
268
+ float: right;
269
+ grid-template-rows: 25px 25px 25px;
270
+ grid-row-gap: 8px;
271
+ margin-top: -40px;
272
+ width: 15%;
273
+ }
274
+
275
+ .btn-img-login-espol-mobile {
276
+ float: left;
277
+ width: 12%;
278
+ background-repeat: no-repeat;
279
+ background-position: center;
280
+ background-size: contain;
281
+ background-color: transparent;
282
+ border: none;
283
+ height: 60px;
284
+ }
285
+
286
+ .btn-img-login-pizarra-mobile {
287
+ width: auto;
288
+ background-repeat: no-repeat;
289
+ background-position: center;
290
+ background-size: contain;
291
+ background-color: transparent;
292
+ border: none;
293
+ }
294
+
295
+ .btn-img-login-vinculos-mobile {
296
+ width: auto;
297
+ background-repeat: no-repeat;
298
+ background-position: center;
299
+ background-size: contain;
300
+ background-color: transparent;
301
+ border: none;
302
+ }
303
+
304
+ @include mobile-only {
305
+ .btn-img-login-espol {
306
+ float: left;
307
+ width: 10%;
308
+ margin-left: 30px;
309
+ margin-top: 10px;
310
+ background-repeat: no-repeat;
311
+ height: 120px;
312
+ background-position: center;
313
+ background-size: contain;
314
+ background-color: transparent;
315
+ border: none;
316
+ }
317
+
318
+ .login_links {
319
+ display: grid;
320
+ float: right;
321
+ grid-template-rows: 25px 25px 25px;
322
+ grid-row-gap: 75px;
323
+ margin-right: 50px;
324
+ width: 8%;
325
+ }
326
+ }
327
+
328
+ .ic-Layout-wrapper {
329
+ box-sizing: border-box;
330
+ min-height: 100vh;
331
+
332
+ body:not(.full-width):not(.outcomes):not(.body--login-confirmation) & {
333
+ // We want to add a max size to most pages in canvas
334
+ // unless it's a full-width app
335
+ max-width: 1366px;
336
+ }
337
+
338
+ body:not(.ic-no-flex-layout):not(.embedded) & {
339
+ display: flex;
340
+ flex-direction: column;
341
+ }
342
+
343
+ @include desktop-only {
344
+ body:not(.no-headers) & {
345
+ margin-#{direction(left)}: $ic-header-primary-width - 30;
346
+ }
347
+
348
+ body:not(.no-headers).primary-nav-expanded & {
349
+ margin-#{direction(left)}: $ic-header-primary-width;
350
+ }
351
+ }
352
+
353
+ body.embedded & {
354
+ height: 100%;
355
+ }
356
+ }
357
+
358
+ .ic-Layout-columns {
359
+ position: relative;
360
+ box-sizing: border-box;
361
+ z-index: 10;
362
+
363
+ body:not(.ic-no-flex-layout):not(.embedded):not(.is-inside-submission-frame) & {
364
+ flex: 1 0 auto;
365
+ // Fix Firefox and IE Edge issues with contents breaking out of flex container
366
+ min-width: 1px;
367
+ }
368
+
369
+ @include desktop-only {
370
+ body.course-menu-expanded:not(.ic-no-flex-layout):not(.embedded):not(.is-inside-submission-frame) & {
371
+ margin-#{direction(left)}: $ic-left-side-width;
372
+ // margin-#{direction(left)}: 90px;
373
+ // // Agregado por explora k5
374
+ // margin-right: -7%;
375
+
376
+ .ic-Layout-watermark {
377
+ #{direction(left)}: -$ic-left-side-width;
378
+ // #{direction(left)}: 90px;
379
+ }
380
+ }
381
+ }
382
+
383
+ body.ic-no-flex-layout & {
384
+ // min-height: 100vh;
385
+ }
386
+
387
+ body.no-headers &,
388
+ body.embedded & {
389
+ margin: 0;
390
+ border: 0 none;
391
+ background-color: transparent;
392
+ }
393
+
394
+ body.embedded & {
395
+ min-height: 0;
396
+ height: 100%;
397
+ }
398
+ }
399
+
400
+ .ic-Layout-watermark {
401
+ position: absolute;
402
+ #{direction(left)}: 0;
403
+ bottom: 0;
404
+ z-index: -1;
405
+ width: 100%;
406
+ height: 100%;
407
+ opacity: var(--ic-brand-watermark-opacity);
408
+ background-image: var(--ic-brand-watermark);
409
+ background-repeat: no-repeat;
410
+ background-position: direction(left) bottom;
411
+ }
412
+
413
+ .ic-app-course-menu {
414
+ transition: transform 1s ease-in-out;
415
+ transition-delay: 0.75s;
416
+ transform: translate3d(0,0,0);
417
+ box-sizing: border-box;
418
+ position: absolute;
419
+ top: 0; #{direction(right)}: 99.9999%;
420
+ // top: 0; #{direction(right)}: 100%;
421
+ width: $ic-left-side-width;
422
+ // padding: direction-sides($ic-sp*2 $ic-sp $ic-sp $ic-sp*2);
423
+ padding: direction-sides($ic-sp*2 $ic-sp $ic-sp $ic-sp*3);
424
+ opacity: 0;
425
+ body.course-menu-expanded & {
426
+ opacity: 1;
427
+ transform: translate3d(0,0,0);
428
+ }
429
+ &.ic-sticky-on {
430
+ bottom: 0;
431
+ padding: 0;
432
+ }
433
+ // account for the course term showing in the left-hand sub-nav
434
+ #section-tabs-header-subtitle {
435
+ padding: direction-sides(0 0 $ic-sp $ic-sp);
436
+ }
437
+ }
438
+
439
+ .ic-sticky-frame {
440
+ position: sticky;
441
+ top: 0;
442
+ max-height: 100vh;
443
+ padding: direction-sides($ic-sp*2 $ic-sp $ic-breadcrumbs-height $ic-sp*2);
444
+ box-sizing: border-box;
445
+ overflow-y: auto;
446
+ overscroll-behavior-y: contain;
447
+ }
448
+
449
+ .ic-sticky-frame.has-scrollbar {
450
+ padding: direction-sides($ic-sp*2 $ic-sp*0.2 $ic-breadcrumbs-height $ic-sp*2);
451
+ & .nav-icon{
452
+ padding: 0 3px;
453
+ }
454
+ }
455
+
456
+ .ic-app-nav-toggle-and-crumbs {
457
+ display: flex;
458
+ align-items: center;
459
+ //border-bottom: 1px solid $ic-border-light;
460
+ margin: 0 $ic-sp*2;
461
+ min-height: $ic-breadcrumbs-height;
462
+ box-sizing: border-box;
463
+ // Agregado por explora k5
464
+ max-width: 1000px;
465
+
466
+
467
+ .right-of-crumbs {
468
+ display: flex;
469
+ flex: 1;
470
+ flex-direction: row-reverse;
471
+ }
472
+
473
+ .right-of-crumbs > * {
474
+ margin-left: 12px;
475
+ }
476
+ }
477
+
478
+ .ic-app-course-nav-toggle {
479
+ margin-#{direction(right)}: $ic-sp;
480
+ padding: 0;
481
+ width: $ic-sp*3; height: ($ic-sp*3) - ($ic-sp*0.5);
482
+ // Agregado por explora k5
483
+ margin-top: 2%;
484
+ @include overwrite-default-icon-size(1.5rem);
485
+ i[class*=icon-], i[class^=icon-] { margin-#{direction(right)}: 0; }
486
+ }
487
+
488
+ .ic-app-crumbs {
489
+ flex: 1;
490
+ display: flex;
491
+ align-items: center;
492
+ box-sizing: border-box;
493
+ // Agregado por explora k5
494
+ max-width: 900px;
495
+ }
496
+
497
+ // Agregado por explora k5
498
+
499
+ @include mobile-only {
500
+
501
+ body:not(.ic-no-flex-layout):not(.embedded) .ic-app-main-content{
502
+ padding: 0;
503
+ }
504
+
505
+ #assignment_show{
506
+ display: flex;
507
+ flex-direction:column;
508
+ padding-right: 1em;
509
+ padding-left: 1em;
510
+ }
511
+
512
+ #assignment_show .assignment-buttons{
513
+ order: 6;
514
+ }
515
+
516
+ body:not(.ic-no-flex-layout):not(.embedded) .ic-app-main-content {
517
+ padding-left: 0px;
518
+ }
519
+
520
+ li.assignment.sort-disabled.search_show{
521
+ width: 100%;
522
+ margin: 0;
523
+ padding-right: 0;
524
+ padding-left: 13px;
525
+ flex-basis: max-content;
526
+ margin-top: 1em;
527
+ margin-bottom: 2em;
528
+ }
529
+
530
+ #assignment_show .assignment-title{
531
+ margin-bottom: 0!important;
532
+ .title{
533
+ margin: 0!important;
534
+ }
535
+ }
536
+
537
+ .ic-Layout-contentMain{
538
+ padding-top: 0;
539
+ margin-left: 3% !important;
540
+ }
541
+
542
+ }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Explorak5LoginPrueba
4
- VERSION = "6.0.4"
4
+ VERSION = "6.0.6"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: explorak5_login_prueba
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.4
4
+ version: 6.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Ibarra
@@ -19,7 +19,19 @@ executables: []
19
19
  extensions: []
20
20
  extra_rdoc_files: []
21
21
  files:
22
- - lib/explorak5_login_prueba/app/views/login_page/_login_content.html.erb
22
+ - lib/explorak5_login_prueba/app/views/login/canvas/_forgot_password_link.html.erb
23
+ - lib/explorak5_login_prueba/app/views/login/canvas/_instructure_logo.svg
24
+ - lib/explorak5_login_prueba/app/views/login/canvas/_login_banner.html.erb
25
+ - lib/explorak5_login_prueba/app/views/login/canvas/_login_content.html.erb
26
+ - lib/explorak5_login_prueba/app/views/login/canvas/_sso_buttons.html.erb
27
+ - lib/explorak5_login_prueba/app/views/login/canvas/mobile_login.html.erb
28
+ - lib/explorak5_login_prueba/app/views/login/canvas/new.html.erb
29
+ - lib/explorak5_login_prueba/app/views/login/email_verify/show.html.erb
30
+ - lib/explorak5_login_prueba/app/views/login/logout_confirm.html.erb
31
+ - lib/explorak5_login_prueba/app/views/login/logout_landing.html.erb
32
+ - lib/explorak5_login_prueba/app/views/login/new.html.erb
33
+ - lib/explorak5_login_prueba/app/views/login/otp/new.html.erb
34
+ - lib/explorak5_login_prueba/app/views/login/shared/_header_logo.html.erb
23
35
  - lib/explorak5_login_prueba/explorak5_login_prueba.rb
24
36
  - lib/explorak5_login_prueba/public/images/images_k5/1-cortar-y-pegar.png
25
37
  - lib/explorak5_login_prueba/public/images/images_k5/1.1 página materias_desglose.png
@@ -308,6 +320,7 @@ files:
308
320
  - lib/explorak5_login_prueba/public/images/images_k5/trash.png
309
321
  - lib/explorak5_login_prueba/public/images/images_k5/usuario.png
310
322
  - lib/explorak5_login_prueba/public/images/images_k5/videos.png
323
+ - lib/explorak5_login_prueba/stylesheets/_ic_app_style_layout.scss
311
324
  - lib/explorak5_login_prueba/version.rb
312
325
  homepage: https://github.com/kevin523523/explorak5_login
313
326
  licenses: []