gema_explorak5 0.7.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: fb8ddf17b803066b1d7bece7909708d5e16ff2dda986b1017e55d141a1751a45
4
+ data.tar.gz: 9a70ef1673ba95857c50cb4527443942706b065d1dec0e4012ec79da3cb7a68f
5
+ SHA512:
6
+ metadata.gz: 703c75c79660010788e59b6955e1827ee809bf1a90aa893a444cdc1988b78bbc6a778be7906da3bcf9126dbe26437c86ac34e69a19a44f7b5ddf16e0e6a42c5d
7
+ data.tar.gz: 76477532b1484fae8210dce53b86fa19b881bc373a38be6b3698df891d92e428aee4435846035493cb6ec4beb050f2cafd7228ede54e6bba7715a897d23f0303
@@ -0,0 +1,284 @@
1
+ <style>
2
+ .ic-DashboardCard__box {
3
+ margin: auto;
4
+ text-align: center;
5
+ padding-left: 10px;
6
+ }
7
+ .unpublished_courses_redesign .ic-DashboardCard__box__header {
8
+ margin-bottom: $ic-sp*5 !important;
9
+ }
10
+ .ic-DashboardCard__box__container {
11
+ margin: direction-sides($ic-sp*-1 0 0 $ic-sp*-3) !important;
12
+ }
13
+ @supports (position: sticky) or (position: -webkit-sticky) {
14
+ .ic-DashboardCard__box {
15
+ margin: auto;
16
+ text-align: center;
17
+ }
18
+ }
19
+
20
+ .ic-DashboardCard {
21
+ overflow: visible !important;
22
+ background: unset !important;
23
+ width: 240px !important;
24
+ display: inline-block;
25
+ vertical-align: top;
26
+ margin: direction-sides(0 $ic-sp*3 $ic-sp*3 0);
27
+ text-align: center;
28
+ position: relative;
29
+ }
30
+
31
+ .ic-DashboardCard__header {
32
+ overflow: hidden;
33
+ border-radius: 4px;
34
+ }
35
+
36
+ .ic-DashboardCard__header_hero {
37
+ border: unset !important;
38
+ background-color: transparent !important;
39
+ }
40
+
41
+ .ic-DashboardCard__header_image {
42
+ background-size: 80% 100% !important;
43
+ background-position: top center !important;
44
+ }
45
+
46
+ .ic-DashboardCard__header_content {
47
+ height: 90px;
48
+ margin-top: -15px;
49
+ display: grid;
50
+ align-content: center;
51
+ }
52
+ .ic-DashboardCard__header-title {
53
+ font-size: unset !important;
54
+ white-space: normal;
55
+ text-align: center;
56
+ font-family: 'QuickSand';
57
+ margin-top: -5px;
58
+ padding-bottom: 5% !important;
59
+ }
60
+
61
+ .ic-DashboardCard__header-title > span{
62
+ color: white !important;
63
+ }
64
+ .ic-DashboardCard__header-subtitle {
65
+ visibility: hidden;
66
+ display: none !important;
67
+ }
68
+ .ic-DashboardCard__header-term {
69
+ visibility: hidden;
70
+ display: none !important;
71
+ }
72
+
73
+ .ic-DashboardCard__action-layout {
74
+ visibility: hidden;
75
+ display: none !important;
76
+ }
77
+
78
+ .ic-DashboardCard__action-badge {
79
+ visibility: hidden;
80
+ display: none !important;
81
+ }
82
+ .ic-DashboardCard__action-container {
83
+ visibility: hidden;
84
+ display: none !important;
85
+ }
86
+
87
+ .ic-DashboardCard__link + div{
88
+ display: none !important;
89
+ visibility: hidden !important;
90
+ }
91
+ .ic-DashboardCard__link {
92
+ color: white !important;
93
+ }
94
+ .punto-notificacion-verde {
95
+ border-radius: 30px;
96
+ background-color: limegreen;
97
+ width: 30px;
98
+ height: 30px;
99
+ position: absolute;
100
+ z-index: 2;
101
+ top: -10px;
102
+ padding: 0;
103
+ margin: 0;
104
+ box-shadow: 0 0 1px rgb(0 0 0 / 8%), 0 1px 6px rgb(0 0 0 / 8%), 0 5px 5px rgb(0 0 0 /8%);
105
+ }
106
+ .punto-notificacion-gris {
107
+ border-radius: 30px;
108
+ background-color: gray;
109
+ width: 30px;
110
+ height: 30px;
111
+ position: absolute;
112
+ z-index: 2;
113
+ top: -10px;
114
+ padding: 0;
115
+ margin: 0;
116
+ box-shadow: 0 0 1px rgb(0 0 0 / 8%), 0 1px 6px rgb(0 0 0 / 8%), 0 5px 5px rgb(0 0 0 /8%);
117
+ }
118
+ .img-logout{
119
+ height: 50px !important;
120
+ width: 50px !important;
121
+ }
122
+ .avatar-img {
123
+ height: 100% !important;
124
+ width: 50px !important;
125
+ }
126
+
127
+ .avatar-img{
128
+ width: 100px !important;
129
+ height: 100% !important
130
+ }
131
+ .ic-avatar {
132
+ margin-right: 50px;
133
+ border: 2px solid #3d88d9 !important;
134
+ width: 70px !important;
135
+ height: 70px !important;
136
+ box-sizing: border-box;
137
+ display: inline-block;
138
+ vertical-align: middle;
139
+ }
140
+ .ic-Dashboard-header__layout {
141
+ border-bottom: unset !important;
142
+ color: #3d88d9
143
+ }
144
+ .unpublished_courses_redesign {
145
+ color: #3d88d9
146
+ }
147
+
148
+ @media (max-width: 767px) {
149
+ .ic-DashboardCard__header_hero {
150
+ box-sizing: border-box;
151
+ background-color: transparent !important;
152
+ }
153
+ }
154
+ @media (max-width: 767px) {
155
+ .unpublished_courses_redesign .ic-DashboardCard__box__header {
156
+ font-size: 1em !important;
157
+ margin-bottom: 0% !important;
158
+ }
159
+ }
160
+ @media only screen and (max-width: 620px) {
161
+ body.responsive_awareness .ic-DashboardCard {
162
+ margin-right: 0 !important;
163
+ }
164
+ }
165
+ @media (max-width: 767px) {
166
+ .ic-DashboardCard__box__container .ic-DashboardCard {
167
+ width: 100% !important;
168
+ height: 80% !important;
169
+ padding-top: 0% !important;
170
+ }
171
+ }
172
+
173
+ @media (max-width: 767px) {
174
+ .ic-DashboardCard__box__container {
175
+ margin: 0 !important;;
176
+ display: grid !important;;
177
+ grid-template-columns: 1fr 1fr !important;;
178
+ grid-template-rows: auto !important;;
179
+ justify-content: space-between !important;;
180
+ width: 95% !important;;
181
+ margin-top: 0% !important;;
182
+ padding-top: 0% !important;;
183
+ grid-column-gap: 5% !important;
184
+ }
185
+ }
186
+ @media (max-width: 767px) {
187
+ .unpublished_courses_redesign .ic-DashboardCard__box__container {
188
+ margin: 0 !important;;
189
+ }
190
+ }
191
+
192
+ @media (max-width: 767px) {
193
+ .ic-DashboardCard__header-title > span{
194
+ font-size: 12px !important;
195
+ }
196
+ }
197
+ </style>
198
+ <%
199
+ # Copyright (C) 2015 - present Instructure, Inc.
200
+ #
201
+ # This file is part of Canvas.
202
+ #
203
+ # Canvas is free software: you can redistribute it and/or modify it under
204
+ # the terms of the GNU Affero General Public License as published by the Free
205
+ # Software Foundation, version 3 of the License.
206
+ #
207
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
208
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
209
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
210
+ # details.
211
+ #
212
+ # You should have received a copy of the GNU Affero General Public License along
213
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
214
+
215
+ css_bundle :dashboard_card
216
+
217
+ default_number_of_fake_dashcards_to_show = 5
218
+
219
+ number_of_fake_published_cards_to_show =
220
+ Rails.cache.read(['last_known_dashboard_cards_published_count', @current_user.global_id].cache_key) ||
221
+ default_number_of_fake_dashcards_to_show
222
+
223
+ number_of_fake_unpublished_cards_to_show =
224
+ Rails.cache.read(['last_known_dashboard_cards_unpublished_count', @current_user.global_id].cache_key) ||
225
+ default_number_of_fake_dashcards_to_show
226
+
227
+ number_of_fake_cards_to_show =
228
+ Rails.cache.read(['last_known_dashboard_cards_count', @current_user.global_id].cache_key) ||
229
+ default_number_of_fake_dashcards_to_show
230
+
231
+ render_on_pageload = user_dashboard_view == 'cards'
232
+ %>
233
+ <% if render_on_pageload %>
234
+ <%# fire off these `fetch` requests now so they are ready sooner %>
235
+ <% if @current_user.roles(@domain_root_account).include?("observer") && @cards_prefetch_observed_param.present? %>
236
+ <% if !Account.site_admin.feature_enabled?(:dashboard_graphql_integration) %>
237
+ <%= prefetch_xhr("/api/v1/dashboard/dashboard_cards?observed_user_id=#{@cards_prefetch_observed_param}") %>
238
+ <% end %>
239
+ <%= prefetch_xhr("/dashboard-sidebar?observed_user_id=#{@cards_prefetch_observed_param}") %>
240
+ <% else %>
241
+ <% if !Account.site_admin.feature_enabled?(:dashboard_graphql_integration) %>
242
+ <%= prefetch_xhr("/api/v1/dashboard/dashboard_cards") %>
243
+ <% end %>
244
+ <%= prefetch_xhr("/dashboard-sidebar") %>
245
+ <% end %>
246
+ <% end %>
247
+ <div id="DashboardCard_Container" style="display: <%= render_on_pageload ? 'block' : 'none' %>">
248
+ <div class="ic-DashboardCard__box">
249
+ <% for i in 1..number_of_fake_published_cards_to_show do %>
250
+ <div class="ic-DashboardCard">
251
+ <svg xmlns="http://www.w3.org/2000/svg" class="ic-DashboardCard__placeholder-svg" version="1.1" x="0" y="0" viewBox="-1087 618 260 254" xml:space="preserve">
252
+ <title>Empty Card</title>
253
+ <g class="ic-DashboardCard__placeholder-animates">
254
+ <path d="M-1087 618h260v126h-260V618z"/>
255
+ <rect x="-1062" y="759.5" class="st0" width="184" height="16"/>
256
+ <rect x="-1062" y="785.5" class="st0" width="106" height="9"/>
257
+ <circle cx="-1054" cy="842.5" r="8"/>
258
+ <circle cx="-989" cy="842.5" r="8"/>
259
+ <circle cx="-924" cy="842.5" r="8"/>
260
+ <circle cx="-859" cy="842.5" r="8"/>
261
+ </g>
262
+ </svg>
263
+ </div>
264
+ <% end %>
265
+ <br/>
266
+ <% for i in 1..number_of_fake_unpublished_cards_to_show do %>
267
+ <div class="ic-DashboardCard">
268
+ <svg xmlns="http://www.w3.org/2000/svg" class="ic-DashboardCard__placeholder-svg" version="1.1" x="0" y="0" viewBox="-1087 618 260 254" xml:space="preserve">
269
+ <title>Empty Card</title>
270
+ <g class="ic-DashboardCard__placeholder-animates">
271
+ <path d="M-1087 618h260v126h-260V618z"/>
272
+ <rect x="-1062" y="759.5" class="st0" width="184" height="16"/>
273
+ <rect x="-1062" y="785.5" class="st0" width="106" height="9"/>
274
+ <circle cx="-1054" cy="842.5" r="8"/>
275
+ <circle cx="-989" cy="842.5" r="8"/>
276
+ <circle cx="-924" cy="842.5" r="8"/>
277
+ <circle cx="-859" cy="842.5" r="8"/>
278
+ </g>
279
+ </svg>
280
+ </div>
281
+ <% end %>
282
+ </div>
283
+
284
+ </div>
@@ -0,0 +1,292 @@
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
+ css_bundle(:instructure_eportfolio) if @eportfolio_view === true
20
+ css_bundle(:new_user_tutorials) if tutorials_enabled?
21
+ js_bundle(:navigation_header) unless @headers == false
22
+
23
+ if @domain_root_account&.feature_enabled?(:top_navigation_placement)
24
+ js_env INIT_DRAWER_LAYOUT_MUTEX: "init-drawer-layout"
25
+ js_bundle(:top_navigation_tools)
26
+ end
27
+
28
+ load_blueprint_courses_ui
29
+ @has_content_notices = load_content_notices
30
+ provide :head, include_common_stylesheets
31
+ set_badge_counts_for(@context, @current_user) if @set_badge_counts
32
+ js_env notices: flash_notices()
33
+ -%>
34
+ <%= render :partial => "layouts/head" %>
35
+ <%-
36
+ left_side = nil
37
+ left_side_custom = nil
38
+ right_side = (yield :right_side).presence
39
+
40
+ # Collapse the course menu according to user preference, unless a certain action
41
+ # requests that it default to collapsed for that page
42
+ @collapse_course_menu ||= @current_user&.reload&.collapse_course_nav?
43
+ context_is_course_or_account = @context&.is_a?(Course) || @context&.is_a?(Account)
44
+ @enhanced_rubrics_enabled = context_is_course_or_account ? @context.feature_enabled?(:enhanced_rubrics) : false
45
+
46
+ if @collapse_course_menu
47
+ subnav_menu_text = t('Show Navigation Menu')
48
+ subnav_menu_text = t('Show Courses Navigation Menu') if active_path?('/courses')
49
+ subnav_menu_text = t('Show Account Navigation Menu') if active_path?('/profile')
50
+ subnav_menu_text = t('Show Admin Navigation Menu') if active_path?('/accounts')
51
+ subnav_menu_text = t('Show Groups Navigation Menu') if active_path?('/groups')
52
+ else
53
+ subnav_menu_text = t('Hide Navigation Menu')
54
+ subnav_menu_text = t('Hide Courses Navigation Menu') if active_path?('/courses')
55
+ subnav_menu_text = t('Hide Account Navigation Menu') if active_path?('/profile')
56
+ subnav_menu_text = t('Hide Admin Navigation Menu') if active_path?('/accounts')
57
+ subnav_menu_text = t('Hide Groups Navigation Menu') if active_path?('/groups')
58
+ end
59
+
60
+ @collapse_global_nav = @current_user.try(:collapse_global_nav?)
61
+ @body_class_no_headers = @headers == false
62
+ @show_embedded_chat = embedded_chat_visible
63
+ @show_fixed_bottom = (@fixed_warnings.present? || (@real_current_user && @real_current_user != @current_user)) && (!@body_class_no_headers || @outer_frame)
64
+ body_classes << "no-headers" if @body_class_no_headers
65
+ unless (body_classes.include? "no-headers") || (@show_left_side == false)
66
+ left_side = nil
67
+ skip_for_streaming :left_side, except: ["eportfolios/show", "eportfolio_categories/show", "eportfolio_entries/show"] do
68
+ left_side = (yield :left_side).presence
69
+ end
70
+ @show_left_side ||= (section_tabs.length > 0)
71
+ end
72
+ body_classes << "with-left-side" if @show_left_side
73
+ body_classes << "course-menu-expanded" if body_classes.include?("with-left-side") && !@collapse_course_menu
74
+ #we dont want to render a right side unless there is actually content in it.
75
+ body_classes << "with-right-side" if right_side and not right_side.strip.empty?
76
+ body_classes << "padless-content" if @padless
77
+ body_classes << "with-embedded-chat" if @show_embedded_chat
78
+ body_classes << 'with-fixed-bottom' if @show_fixed_bottom
79
+ body_classes << 'pages' if controller.js_env[:WIKI_PAGE].present?
80
+ body_classes << get_active_tab
81
+ body_classes << 'Underline-All-Links__enabled' if @current_user && @current_user.feature_enabled?(:underline_all_links)
82
+ body_classes << 'is-masquerading-or-student-view' if @real_current_user && @real_current_user != @current_user
83
+ body_classes << 'primary-nav-expanded' unless @collapse_global_nav
84
+ body_classes << 'primary-nav-transitions' if @collapse_global_nav
85
+ # We probably want to consider doing this everywhere, all the time, but when I did
86
+ # for LS-1745, people complained a lot, so maybe not.
87
+ body_classes << 'full-width' if @domain_root_account.try(:feature_enabled?, :new_user_tutorial)
88
+ body_classes << "context-#{@context.asset_string}" if @context
89
+ body_classes << "responsive_student_grades_page" if !!@domain_root_account&.feature_enabled?(:responsive_student_grades_page)
90
+ -%>
91
+ <body class="<%= (body_classes).uniq.join(" ") %>">
92
+ <%if @current_user && @real_current_user && @real_current_user != @current_user %>
93
+ <div role="alert" class="screenreader-only">
94
+ <% if @current_user.fake_student? %>
95
+ <%= t("You are currently logged into Student View") %>
96
+ <% else %>
97
+ <%= t("You are currently acting as %{user_name}", :user_name => @current_user.short_name) %>
98
+ <% end %>
99
+ </div>
100
+ <% end %>
101
+ <%# Flash messages must be outside of #application or they won't work in screenreaders with modals open. %>
102
+ <%= render :partial => 'shared/static_notices' %>
103
+ <%= render :partial => 'shared/flash_notices' %>
104
+ <%if @domain_root_account&.feature_enabled?(:top_navigation_placement) %>
105
+ <div id="drawer-layout-mount-point"></div>
106
+ <% end %>
107
+ <div id="application" class="ic-app">
108
+ <%= render(:partial => 'shared/new_nav_header') unless @headers == false %>
109
+
110
+ <div id="instructure_ajax_error_box">
111
+ <div style="text-align: <%= direction('right') %>; background-color: #fff;"><a href="#" class="close_instructure_ajax_error_box_link"><%= t('links.close', 'Close') %></a></div>
112
+ <iframe id="instructure_ajax_error_result" src="about:blank" style="border: 0;" title="<%= t('Error') %>"></iframe>
113
+ </div>
114
+
115
+ <div id="wrapper" class="ic-Layout-wrapper">
116
+ <% if crumbs.length > 1 %>
117
+ <% if @instui_topnav %>
118
+ <div class="instui-topnav-container">
119
+ <div id="react-instui-topnav"></div>
120
+ </div>
121
+ <% else %>
122
+ <div class="ic-app-nav-toggle-and-crumbs no-print">
123
+ <% if @show_left_side %>
124
+ <button type="button" id="courseMenuToggle" class="Button Button--link ic-app-course-nav-toggle" aria-live="polite" aria-label="<%= subnav_menu_text %>">
125
+ <i class="icon-hamburger" aria-hidden="true"></i>
126
+ </button>
127
+ <% end %>
128
+
129
+ <div class="ic-app-crumbs <%= 'ic-app-crumbs-enhanced-rubrics' if @enhanced_rubrics_enabled %>">
130
+ <% if @context&.is_a?(Course) && @context.elementary_subject_course? %>
131
+ <%= link_to course_path(id: @context.id), :class => "btn k5-back-to-subject", :id => "back_to_subject" do %>
132
+ <i class="icon-arrow-open-left"></i> <%= t('Back to Subject') %>
133
+ <% end %>
134
+ <% else %>
135
+ <%= render_crumbs %>
136
+ <% end %>
137
+ </div>
138
+
139
+ <% if @context&.is_a?(Course) && @context.elementary_subject_course? %>
140
+ <span class="k5-heading-course-name"><%= @context.nickname_for(@current_user) %></span>
141
+ <% end %>
142
+
143
+ <div class="right-of-crumbs">
144
+ <% if tutorials_enabled? %>
145
+ <div class="TutorialToggleHolder"></div>
146
+ <% end %>
147
+ <%if @domain_root_account&.feature_enabled?(:top_navigation_placement) %>
148
+ <div id="top-nav-tools-mount-point"></div>
149
+ <% end %>
150
+ <% if show_immersive_reader? %>
151
+ <div id="immersive_reader_mount_point"></div>
152
+ <% end %>
153
+ <% if show_student_view_button? %>
154
+ <%= link_to course_student_view_path(course_id: @context, redirect_to_referer: 1), :class => "btn btn-top-nav", :id => "easy_student_view", :method => :post, :role => "complementary", :"aria-label" => t("View as Student") do %>
155
+ <i class="icon-student-view"></i> <%= t('View as Student') %>
156
+ <% end %>
157
+ <% end %>
158
+ <% if (@context&.is_a?(Course) || @context&.is_a?(Assignment)) && @context_enrollment&.observer? %>
159
+ <div id='observer-picker-mountpoint' style="margin: 3px;"></div>
160
+ <% end %>
161
+ </div>
162
+
163
+ </div>
164
+ <% end %>
165
+ <% end %>
166
+ <div id="main" class="ic-Layout-columns">
167
+ <% if !@body_class_no_headers %>
168
+ <div class="ic-Layout-watermark"></div>
169
+ <% end %>
170
+ <% if @show_left_side %>
171
+ <% if @no_left_side_list_view
172
+ list_view_class = ''
173
+ else
174
+ list_view_class = 'list-view'
175
+ end
176
+ %>
177
+ <div id="left-side"
178
+ class="ic-app-course-menu ic-sticky-on <%= list_view_class %>"
179
+ style="display: <%= @collapse_course_menu ? "none" : "block" %>"
180
+ >
181
+ <div id="sticky-container" class="ic-sticky-frame">
182
+ <% if left_side %>
183
+ <%= left_side %>
184
+ <% else %>
185
+ <% if @context && @context.is_a?(Group) && can_do(@context, @current_user, :manage) && @context.group_category %>
186
+ <span id="group-switch-mount-point"></span>
187
+ <% end %>
188
+ <% if @context && @context.respond_to?(:enrollment_term) && !@context.enrollment_term.default_term? %>
189
+ <span id="section-tabs-header-subtitle" class="ellipsis"><%= @context.enrollment_term.name %></span>
190
+ <% end %>
191
+ <%= section_tabs %>
192
+ <% end %>
193
+ </div>
194
+ </div>
195
+ <% end %>
196
+ <div id="not_right_side" class="ic-app-main-content">
197
+ <div id="content-wrapper" class="ic-Layout-contentWrapper">
198
+ <% if should_show_migration_limitation_message %>
199
+ <% js_bundle :quiz_migration_alerts %>
200
+ <div class="ic-notification ic-notification--info quiz_migration_notification">
201
+ <div class="ic-notification__icon" role="presentation">
202
+ <i class="icon-info"></i>
203
+ <span class="screenreader-only">
204
+ <%= accessible_message_icon_text('information') %>
205
+ </span>
206
+ </div>
207
+ <div class="ic-notification__content">
208
+ <div class="ic-notification__message notification_message" style="margin-bottom:1rem;">
209
+ <%= t 'Your Classic Quizzes have been migrated to New Quizzes! ' %><br />
210
+ <%= t 'Please note:' %>
211
+ <ul>
212
+ <li><%= t 'Text No Question has moved to a Stimulus; please add a question so it can display within the quiz.' %></li>
213
+ </ul>
214
+ <%= t 'We apologize for the inconvenience and thank you for your patience as we continue to improve the migration experience!' %>
215
+ </div>
216
+ <div class="ic-notification__actions">
217
+ <a href="#"
218
+ rel="<%= api_v1_course_dismiss_migration_limitation_msg_url(@context.id) %>"
219
+ class="close_migration_notification_link Button Button--info"
220
+ role="button"
221
+ >
222
+ <%= t('Close') %>
223
+ </a>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ <% end %>
228
+ <%= render :partial => 'shared/content_notices' if @has_content_notices && @show_left_side %>
229
+ <div id="content" class="ic-Layout-contentMain" role="main">
230
+ <%= yield %>
231
+ </div>
232
+ </div>
233
+ </div>
234
+ </div>
235
+ <% if @show_footer %>
236
+ <%= render :partial => 'shared/canvas_footer' %>
237
+ <% end %>
238
+ </div>
239
+
240
+ <% if @show_embedded_chat %>
241
+ <%= render :partial => 'shared/embedded_chat' %>
242
+ <% end %>
243
+
244
+ <% if @show_fixed_bottom %>
245
+ <%= render :partial => 'layouts/fixed_bottom' %>
246
+ <% end %>
247
+
248
+ <% if (wizard = (yield :wizard_box).presence) %>
249
+ <div id="wizard_box" tabindex="-1">
250
+ <div class="wizard_content">
251
+ <div class="links">
252
+ <a href="#" class="close_wizard_link"><i class="icon-x"></i><span class="screenreader-only"><%= t('links.close', 'Close') %></span></a>
253
+ </div>
254
+ <%= wizard %>
255
+ </div>
256
+ </div>
257
+ <% end %>
258
+ <% if (keyboard_navigation = (yield :keyboard_navigation).presence) %>
259
+ <div id="keyboard_navigation">
260
+ <%= keyboard_navigation %>
261
+ <div class='hidden-readable' tabindex='0'>
262
+ <%= t('keyboard_navigation.close', 'Press comma to close this dialog') %>
263
+ </div>
264
+ </div>
265
+ <% end %>
266
+ <div style="display:none;"><!-- Everything inside of this should always stay hidden -->
267
+ <% if @context && session && temp_type = session["role_#{@context.asset_string}"] %>
268
+ <span id="switched_role_type" class="<%= @context.asset_string %>" data-role="<%= temp_type %>"><%= Enrollment.readable_type(temp_type) %></span>
269
+ <% end %>
270
+ <% if @page_view %>
271
+ <div id="page_view_id"><%= @page_view.id %></div>
272
+ <% end %>
273
+ <% if equella_enabled? %>
274
+ <a id="equella_endpoint_url" href="<%= @equella_settings[:endpoint] %>">&nbsp;</a>
275
+ <a id="equella_callback_url" href="<%= external_content_success_url('equella') %>">&nbsp;</a>
276
+ <a id="equella_cancel_url" href="<%= external_content_cancel_url('equella') %>">&nbsp;</a>
277
+ <a id="equella_action" href="<%= @equella_settings[:default_action] %>">&nbsp;</a>
278
+ <% if @equella_settings[:teaser] %>
279
+ <div id="equella_teaser"><%= @equella_settings[:teaser] %></div>
280
+ <% end %>
281
+ <% end %>
282
+ </div>
283
+ <div id='aria_alerts' class='hide-text affix' role="alert" aria-live="assertive"></div>
284
+ <div id='StudentTray__Container'></div>
285
+ <% if tutorials_enabled? %>
286
+ <div class="NewUserTutorialTray__Container"></div>
287
+ <% end %>
288
+ <div id="react-router-portals"></div>
289
+ <%= render :partial => 'layouts/foot', :locals => { :include_common_bundle => true } %>
290
+ </div> <!-- #application -->
291
+ </body>
292
+ </html>
@@ -0,0 +1,189 @@
1
+ <style>
2
+
3
+ body.ic-Login-Body {
4
+ background-image: url("/images/images_k5/fondo.png") !important;
5
+ }
6
+
7
+ .ic-Login__title {
8
+ text-align: center;
9
+ }
10
+
11
+
12
+ .login_links {
13
+ display: grid;
14
+ float: right;
15
+ grid-template-rows: 25px 25px 25px;
16
+ grid-row-gap: 75px;
17
+ margin-right: 50px;
18
+ width: 5%;
19
+ }
20
+
21
+ .ic-Form-control--login .ic-Label {
22
+ color: var(--ic-brand-Login-Content-label-text-color) !important;
23
+ }
24
+
25
+ .ic-Login__body__error {
26
+ display: block;
27
+ position:relative;
28
+ top: auto;
29
+ #{direction(left)}: auto;
30
+ max-width: 400px;
31
+ }
32
+
33
+ .btn-img-login-espol {
34
+ float: left;
35
+ width: 6%;
36
+ margin-left: 30px;
37
+ margin-top: 10px;
38
+ background-repeat: no-repeat;
39
+ height: 120px;
40
+ background-position: center;
41
+ background-size: contain;
42
+ background-color: transparent;
43
+ border: none;
44
+ }
45
+
46
+
47
+ .btn-img-login-vinculos {
48
+ width: auto;
49
+ margin-top: 15px;
50
+ background-repeat: no-repeat;
51
+ height: 120px;
52
+ background-position: center;
53
+ background-size: contain;
54
+ background-color: transparent;
55
+ border: none;
56
+ }
57
+ .ic-Input{
58
+ border-radius: 10px !important;
59
+ }
60
+ input[type="text"], input[type="password"]{
61
+ color: #3d88d9 !important;
62
+ }
63
+
64
+ .ic-Login__actions {
65
+ display: contents !important;
66
+ }
67
+ .ic-Login__actions .Button--login {
68
+ width: 100% !important;
69
+ border-radius: 20px !important;
70
+ }
71
+ </style>
72
+ <%
73
+ # Copyright (C) 2015 - present Instructure, Inc.
74
+ #
75
+ # This file is part of Canvas.
76
+ #
77
+ # Canvas is free software: you can redistribute it and/or modify it under
78
+ # the terms of the GNU Affero General Public License as published by the Free
79
+ # Software Foundation, version 3 of the License.
80
+ #
81
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
82
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
83
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
84
+ # details.
85
+ #
86
+ # You should have received a copy of the GNU Affero General Public License along
87
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
88
+ %>
89
+
90
+ <%
91
+ login_handle_name = @domain_root_account.login_handle_name_with_inference
92
+ # disable form submission when previewing from theme editor
93
+ if params[:previewing_from_themeeditor]
94
+ login_btn_type = forgot_password_btn_type = "button"
95
+ else
96
+ login_btn_type = forgot_password_btn_type = "submit"
97
+ end
98
+ unique_id = begin
99
+ params.dig(:pseudonym_session, :unique_id)&.to_s
100
+ rescue TypeError
101
+ nil
102
+ end
103
+ %>
104
+
105
+ <div>
106
+ <button onclick="window.open('http://www.espol.edu.ec')" style="background-image:url('/images/images_k5/logoespol.png')" class="btn-img-login-espol" alt="Logo Espol"></button>
107
+ </div>
108
+
109
+ <div class="login_links">
110
+ <button onclick="window.open('http://www.vinculacion.espol.edu.ec')" style="background-image:url('/images/images_k5/logovinculos.png')" class="btn-img-login-vinculos" alt="Logo Vinculos"></button>
111
+ </div>
112
+
113
+ <div class="ic-Login<%= params[:previewing_from_themeeditor] ? ' ic-Login--previewing' : '' %>">
114
+ <div class="ic-Login__container">
115
+ <div class="ic-Login__content">
116
+ <div class="ic-Login__innerContent">
117
+
118
+ <div class="ic-Login-header">
119
+ <div class="ic-Login-header__logo">
120
+ <img alt="Explora K5" style="max-width: 75%;" src="https://explorak5.espol.edu.ec/accounts/2/files/27/download?verifier=ptUlRoCsAAAu6FzgMPHeVcNlG7C38fqPE3c4X2vY">
121
+ </div>
122
+ </div>
123
+
124
+ <div class="ic-Login__body">
125
+ <%= render "shared/login_fft_helper" %>
126
+ <%= form_for :pseudonym_session, :url => url_for({ action: :create }.merge(params.slice(:id).to_unsafe_h)), :html => {:id => "login_form"} do |f| %>
127
+ <h1 class="ui-helper-hidden-accessible">
128
+ <%= t('log_in', 'Log In') %>
129
+ </h1>
130
+ <% login_inner_dialog = yield :login_inner_dialog %>
131
+ <%= login_inner_dialog if login_inner_dialog && !login_inner_dialog.strip.empty? %>
132
+ <input type="hidden" name="redirect_to_ssl" value="1"/>
133
+ <div class="ic-Form-control ic-Form-control--login">
134
+ <%= f.label :unique_id, login_handle_name, :class => "ic-Label" %>
135
+ <%= f.text_field :unique_id, :class => "ic-Input text", :value => unique_id, :autofocus => !params[:previewing_from_themeeditor] %>
136
+ </div>
137
+ <div class="ic-Form-control ic-Form-control--login">
138
+ <%= f.label :password, :en => "Password", :class => "ic-Label" %>
139
+ <%= f.password_field :password, :class => "ic-Input text", :role => "textbox" %>
140
+ </div>
141
+ <div class="ic-Login__actions">
142
+ <div class="ic-Login__actions-timeout">
143
+ <% unless session_timeout_enabled? %>
144
+ <%= f.check_box :remember_me, :checked => session[:used_remember_me_token] %>
145
+ <%= f.label :remember_me, :en => "Stay signed in" %>
146
+ <% end %>
147
+
148
+ <div class="ic-Login__forgot">
149
+ <%= render "login/canvas/forgot_password_link" %>
150
+ </div>
151
+ </div>
152
+ <br>
153
+ <div class="ic-Form-control ic-Form-control--login">
154
+ <button type="<%= login_btn_type %>" class="Button Button--login">
155
+ <%= t('log_in', 'Log In') %>
156
+ <img src='/images/images_k5/flecha.svg' style="width: 10%; margin-left: 5%"/>
157
+ </button>
158
+ </div>
159
+ </div> <!-- ic-Login__actions -->
160
+ <%= render partial: "sso_buttons", locals: { aacs: @aacs_with_buttons } %>
161
+ <% end %>
162
+ <%= form_for :pseudonym_session, :url => forgot_password_path, :html => {:id => "forgot_password_form", :style => "display: none;"} do |f| %>
163
+ <h1 class="ui-helper-hidden-accessible"><%= t('Forgot Password?') %></h1>
164
+ <p id="forgot_password_instructions" class="ic-Login__forgot-text">
165
+ <%= 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) %>
166
+ </p>
167
+ <div class="ic-Form-control ic-Form-control--login">
168
+ <label for="pseudonym_session_unique_id_forgot" class="ic-Label">
169
+ <%= login_handle_name %>
170
+ </label>
171
+ <input aria-describedby="forgot_password_instructions" class="ic-Input email_address text" type="text" name="pseudonym_session[unique_id_forgot]" value="" id="pseudonym_session_unique_id_forgot" />
172
+ </div>
173
+ <div class="ic-Form-control ic-Form-control--login">
174
+ <div class="ic-Login__actions">
175
+ <a href="/" ><img src='/images/images_k5/flecha.png' style="width: 10%; transform: rotate(-180deg);"/></a>
176
+ <%=link_to t('back_to_login', "Back to Login"), login_path, :class => "ic-Login__actions--left ic-Login__link login_link"%>
177
+ <p></p>
178
+ <button type="<%= forgot_password_btn_type %>" class="Button Button--login">
179
+ <%= t('buttons.request_password', 'Request Password') %>
180
+ <img src='/images/images_k5/flecha.png' style="width: 10%; margin-left: 5%"/>
181
+ </button>
182
+ </div> <!-- end ic-Login__actions -->
183
+ </div>
184
+ <% end %>
185
+ </div> <!-- end ic-Login__body -->
186
+ </div> <!-- end ic-Login__innerContent -->
187
+ </div> <!-- end ic-Login__content -->
188
+ </div>
189
+ </div> <!-- end ic-Login -->
@@ -0,0 +1,131 @@
1
+ <style>
2
+ body{
3
+ font-size : 0.9rem !important;
4
+ }
5
+ body.ic-Login-Body {
6
+ background-image: url("/images/images_k5/fondo.png") !important;
7
+ }
8
+ .ic-Login__title {
9
+ text-align: center;
10
+ }
11
+
12
+ .btn-img-logout {
13
+ background-size: 100px;
14
+ background-repeat: no-repeat;
15
+ height: 125px;
16
+ width: 125px;
17
+ background-color: transparent;
18
+ border: none;
19
+ background-position: center;
20
+ }
21
+
22
+ .btn-img-login-espol {
23
+ float: left;
24
+ width: 6%;
25
+ margin-left: 30px;
26
+ margin-top: 10px;
27
+ background-repeat: no-repeat;
28
+ height: 120px;
29
+ background-position: center;
30
+ background-size: contain;
31
+ background-color: transparent;
32
+ border: none;
33
+ }
34
+ .login_links {
35
+ display: grid;
36
+ float: right;
37
+ grid-template-rows: 25px 25px 25px;
38
+ grid-row-gap: 75px;
39
+ margin-right: 50px;
40
+ width: 5%;
41
+ }
42
+
43
+ .btn-img-logout-text {
44
+ text-decoration: underline;
45
+ color: white;
46
+ background: transparent;
47
+ border: none;
48
+ }
49
+ .btn-img-login-vinculos {
50
+ width: auto;
51
+ margin-top: 15px;
52
+ background-repeat: no-repeat;
53
+ height: 120px;
54
+ background-position: center;
55
+ background-size: contain;
56
+ background-color: transparent;
57
+ border: none;
58
+ }
59
+ </style>
60
+ <%
61
+ # Copyright (C) 2014 - present Instructure, Inc.
62
+ #
63
+ # This file is part of Canvas.
64
+ #
65
+ # Canvas is free software: you can redistribute it and/or modify it under
66
+ # the terms of the GNU Affero General Public License as published by the Free
67
+ # Software Foundation, version 3 of the License.
68
+ #
69
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
70
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
71
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
72
+ # details.
73
+ #
74
+ # You should have received a copy of the GNU Affero General Public License along
75
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
76
+ %>
77
+
78
+ <%
79
+ css_bundle :login
80
+ @headers = false
81
+ provide :page_title, t(:page_title, "Log Out")
82
+ add_body_class "full-width ic-Login-Body"
83
+ %>
84
+ <div>
85
+ <button onclick="window.open('http://www.espol.edu.ec')" style="background-image:url('/images/images_k5/logoespol.png')" class="btn-img-login-espol" alt="Logo Espol"></button>
86
+ <!--button onclick="window.open('http://www.midi.espol.edu.ec')" style="background-image: url('/images/images_k5/logomidi.png')" class="btn-img-login-midi" alt="Logo Midi"></button-->
87
+ </div>
88
+
89
+ <div class="login_links">
90
+ <button onclick="window.open('http://www.vinculacion.espol.edu.ec')" style="background-image:url('/images/images_k5/logovinculos.png')" class="btn-img-login-vinculos" alt="Logo Vinculos"></button>
91
+ </div>
92
+
93
+ <div class="ic-Login">
94
+ <div class="ic-Login__container">
95
+ <div class="ic-Login__content">
96
+ <div class="ic-Login__innerContent">
97
+ <div class="ic-Login__header" style="max-width: 60%; margin-left: 27%;">
98
+ <div class="ic-Login-header__logo">
99
+ <img alt="Explora K5" style="max-width: 75%;" src="https://explorak5.espol.edu.ec/accounts/2/files/27/download?verifier=ptUlRoCsAAAu6FzgMPHeVcNlG7C38fqPE3c4X2vY">
100
+ </div>
101
+ </div>
102
+ <div class="ic-Login__body">
103
+ <h1 class="ic-Login__title" style="font-family: Quicksand">
104
+ <%= t 'log_out', 'Log Out' %>
105
+ </h1>
106
+ <p class="ic-Login__text" style="font-family: Quicksand; text-align: center">
107
+ <%= t 'details.log_out', 'Are you sure you want to log out of Canvas?' %>
108
+ </p>
109
+ <%= form_tag logout_path, method: :delete do %>
110
+ <div class="ic-Login__actions" style="display: flex; gap: 10%; margin-right: 10%; margin-left: 10%;">
111
+ <div style="display: grid;">
112
+ <button type="submit" class="btn-img-logout" id="Button--logout-confirm" style="background-image: url('/images/images_k5/salir.svg'); background-size: 90px" alt="Cerrar sesión"></button>
113
+ <button type="submit" id="Button--logout-confirm" class="btn-img-logout-text" style="font-family: Quicksand">
114
+ <%= t("Log Out") %>
115
+ </button>
116
+ </div>
117
+ <div style="display: grid;">
118
+ <button class="btn-img-logout" style="background-image:url('/images/images_k5/cancelar.svg'); font-family: Quicksand" alt="Cancelar">
119
+ <%= link_to(t(:cancel, "Cancel"), '/', :class => "ic-Login__link", :style => "color: transparent !important") %>
120
+ </button>
121
+ <button class="btn-img-logout-text" style="font-family: Quicksand">
122
+ <%= link_to(t(:cancel, "Cancel"), '/', :class => "ic-Login__link") %>
123
+ </button>
124
+ </div>
125
+ </div>
126
+ <% end %>
127
+ </div> <!-- end ic-Login__body -->
128
+ </div> <!-- end ic-Login__innerContent -->
129
+ </div> <!-- end ic-Login__content -->
130
+ </div> <!-- end ic-Login__content -->
131
+ </div> <!-- end ic-Login__container -->
@@ -0,0 +1,198 @@
1
+ <style>
2
+ .ic-app-header__logomark {
3
+ background-image: url("/images/images_k5/logo_k5.png") !important;
4
+ }
5
+ .ic-app-header, .no-print, .ic-app-header__logomark-container {
6
+ background-color: #f4f3f3 !important;
7
+ }
8
+ @media (max-width: 767px) {
9
+ .avatar {
10
+ height: 75px !important;
11
+ width: 75px !important;
12
+ }
13
+ .perfil{
14
+ border: none;
15
+ }
16
+ .ic-app-header__logomark {
17
+ width: 75px !important;
18
+ }
19
+ }
20
+ #mobile-header{
21
+ background-color: white !important
22
+ }
23
+ </style>
24
+ <%
25
+ # Copyright (C) 2015 - present Instructure, Inc.
26
+ #
27
+ # This file is part of Canvas.
28
+ #
29
+ # Canvas is free software: you can redistribute it and/or modify it under
30
+ # the terms of the GNU Affero General Public License as published by the Free
31
+ # Software Foundation, version 3 of the License.
32
+ #
33
+ # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
34
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
35
+ # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
36
+ # details.
37
+ #
38
+ # You should have received a copy of the GNU Affero General Public License along
39
+ # with this program. If not, see <http://www.gnu.org/licenses/>.
40
+ %>
41
+
42
+ <% js_bundle :navigation_header %>
43
+
44
+ <% if @domain_root_account && @domain_root_account.feature_enabled?(:product_tours) %>
45
+ <% js_bundle :nav_tourpoints %>
46
+ <% end %>
47
+
48
+ <%
49
+ if k5_user?
50
+ dashboard_title = t('Home')
51
+ dashboard_icon_path = "shared/svg/svg_icon_home"
52
+ courses_title = t('Subjects')
53
+ else
54
+ dashboard_title = t('Dashboard')
55
+ dashboard_icon_path = "shared/svg/#{'k12/' if k12?}svg_icon_dashboard"
56
+ courses_title = t('Courses')
57
+ end
58
+ %>
59
+
60
+
61
+ <header id="mobile-header" class="no-print">
62
+ <div aria-hidden="true" style="display: grid; grid-template-columns: repeat(3, 1fr);min-width: 100%;gap: 1rem;padding: 1rem;" class="fs-exclude <% if @real_current_user && @real_current_user != @current_user %>ic-avatar--fake-student<% end %>">
63
+ <a id="hamburguer-menu" class="ic-app-header__logomark"></a>
64
+ <div id="myLinks" style="display: none;">
65
+ <ul id="menu" class="ic-app-header__menu-list">
66
+ <li class="menu-item ic-app-header__menu-list-item">
67
+ <a id="global_nav_calendar_link" href="/" class="ic-app-header__menu-list-link">
68
+ <div class="menu-item-icon-container" aria-hidden="true">
69
+ <img src='/images/images_k5/Página de Inicio.png' alt="Tablero"></img>
70
+ </div>
71
+ <div class="menu-item__text">Inicio | Mis Materias</div>
72
+ </a>
73
+ </li>
74
+ <li class="menu-item ic-app-header__menu-list-item <%= ' ic-app-header__menu-list-item--active' if active_path?('/calendar') %>">
75
+ <a id="global_nav_calendar_link" href="/calendar" class="ic-app-header__menu-list-link">
76
+ <div class="menu-item-icon-container" aria-hidden="true">
77
+ <!--<%= render(partial: "shared/svg/#{'k12/' if k12?}svg_icon_calendar_new_styles", formats: [:svg]) %>-->
78
+ <img src='/images/images_k5/2._calendario.png' alt="Calendario"></img>
79
+ </div>
80
+ <div class="menu-item__text">Calendario</div>
81
+ </a>
82
+ </li>
83
+ <li class="menu-item ic-app-header__menu-list-item <%= ' ic-app-header__menu-list-item--active' if active_path?('/conversations') %>">
84
+ <a id="global_nav_conversations_link" href="/conversations" class="ic-app-header__menu-list-link">
85
+ <div class="menu-item-icon-container">
86
+ <%# <span aria-hidden="true"> %>
87
+ <!--<%= render(partial: "shared/svg/#{'k12/' if k12?}svg_icon_inbox", formats: [:svg]) %>-->
88
+ <img src='/images/images_k5/3._mensajes.png' alt="Mensajes"></img>
89
+ <%# </span> %>
90
+ </div>
91
+ <div class="menu-item__text">Conversaciones</div>
92
+ </a>
93
+ </li>
94
+ <li class="menu-item ic-app-header__menu-list-item <%= ' ic-app-header__menu-list-item--active' if active_path?('/agenda') %>">
95
+ <a id="global_nav_conversations_link" href="/agenda" class="ic-app-header__menu-list-link">
96
+ <div class="menu-item-icon-container">
97
+ <img src='/images/images_k5/agenda.png' alt="Agenda"></img>
98
+ </div>
99
+ <div class="menu-item__text">Agenda</div>
100
+ </a>
101
+ </li>
102
+ <li class="menu-item ic-app-header__menu-list-item">
103
+ <a class="logout ic-app-header__menu-list-link" href="/logout">
104
+ <div class="menu-item-icon-container">
105
+ <img src='/images/images_k5/logout_blue.png' alt="Salir" class="img-logout"></img>
106
+ </div>
107
+ <div class="menu-item__text">Salir</div>
108
+ </a>
109
+ </li>
110
+ <li class="menu-item ic-app-header__menu-list-item <%= ' ic-app-header__menu-list-item--active' if active_path?('/conversations') %>">
111
+ <a id="global_nav_conversations_link" class="ic-app-header__menu-list-link">
112
+ <div class="menu-item-icon-container">
113
+ <img src='/images/images_k5/gracias.png' alt="" class="img-logout"></img>
114
+ </div>
115
+ <div class="menu-item__text">Gracias</div>
116
+ </a>
117
+ </li>
118
+ <% unless @current_user.nil? %>
119
+ <%= render(:partial => 'external_tools/global_nav_menu_items') %>
120
+ <% end %>
121
+ </ul>
122
+ </div>
123
+
124
+ <a class="ic-sidebar-logo__image" >
125
+ <img src="" alt="" />
126
+ </a>
127
+
128
+ <a id="global_nav_profile_link" role="button" href="/profile" class="perfil">
129
+ <div aria-hidden="true" class="fs-exclude ic-avatar <% if @real_current_user && @real_current_user != @current_user %>ic-avatar--fake-student<% end %>">
130
+ <img class="fs-exclude avatar profile_pic_link approved perfil" src="<%= @current_user.try { |usr| avatar_image_attrs(usr).first } %>" />
131
+ </div>
132
+ </a>
133
+
134
+ </div>
135
+ <div>
136
+ <% if crumbs.length > 1 %>
137
+ <h3 class="title_responsive" ><%= render_crumbs %></h3>
138
+ <% end %>
139
+ </div>
140
+ </header>
141
+
142
+ <header id="header" class="ic-app-header no-print <%= 'no-user' unless @current_user %>">
143
+ <a href="#content" id="skip_navigation_link"><%= t 'links.skip_to_content', "Skip To Content" %></a>
144
+ <div role="region" class="ic-app-header__main-navigation" aria-label="<%= t('Global Navigation') %>">
145
+ <% unless @current_user.try(:prefers_high_contrast?) %>
146
+ <div class="ic-app-header__logomark-container">
147
+ <a href="<%= dashboard_url %>" class="ic-app-header__logomark" style="margin-right: 5px; margin-left: 5px; margin-top: 10px; margin-bottom: 10px; width: auto">
148
+ <span class="screenreader-only"><%= dashboard_title %></span>
149
+ </a>
150
+ </div>
151
+ <% end %>
152
+
153
+ <li class="menu-item ic-app-header__menu-list-item <%= ' ic-app-header__menu-list-item--active' if active_path?('/calendar') %>">
154
+ <a id="global_nav_calendar_link" href="/calendar" class="ic-app-header__menu-list-link">
155
+ <div class="menu-item-icon-container" aria-hidden="true">
156
+ <!--<%= render(partial: "shared/svg/#{'k12/' if k12?}svg_icon_calendar_new_styles", formats: [:svg]) %>-->
157
+ <img src='/images/images_k5/2._calendario.png' alt="Calendario"></img>
158
+ </div>
159
+ <div class="menu-item__text"></div>
160
+ </a>
161
+ </li>
162
+
163
+ <li class="menu-item ic-app-header__menu-list-item <%= ' ic-app-header__menu-list-item--active' if active_path?('/conversations') %>">
164
+ <a id="global_nav_conversations_link" href="/conversations" class="ic-app-header__menu-list-link">
165
+ <div class="menu-item-icon-container">
166
+ <span aria-hidden="true">
167
+ <!--<%= render(partial: "shared/svg/#{'k12/' if k12?}svg_icon_inbox", formats: [:svg]) %></span>-->
168
+ <img src='/images/images_k5/3._mensajes.png' alt="Mensajes"></img>
169
+ <span class="menu-item__badge"></span>
170
+ </div>
171
+ <div class="menu-item__text"></div>
172
+ </a>
173
+ </li>
174
+ <li class="menu-item ic-app-header__menu-list-item <%= ' ic-app-header__menu-list-item--active' if active_path?('/agenda') %>">
175
+ <a id="global_nav_conversations_link" href="/agenda" class="ic-app-header__menu-list-link">
176
+ <div class="menu-item-icon-container">
177
+ <img src='/images/images_k5/agenda.png' alt="Agenda"></img>
178
+ </div>
179
+ </a>
180
+ </li>
181
+ <% unless @current_user.nil? %>
182
+ <%= render(:partial => 'external_tools/global_nav_menu_items') %>
183
+ <% end %>
184
+ </ul>
185
+ </div>
186
+
187
+ <div class="ic-app-header__secondary-navigation">
188
+ <ul class="ic-app-header__menu-list">
189
+ <li class="menu-item ic-app-header__menu-list-item" style="text-align: center;">
190
+ <span aria-hidden="true">
191
+ <a href='http://www.vinculacion.espol.edu.ec' target="_blank" style="background-image:url('/images/images_k5/logovinculos.png'); width: 70%; margin-left: 5px;" class="btn-img-login-vinculos" alt="Logo Vinculos"></a>
192
+ <img src="/images/images_k5/logovinculos.png" alt="Logo Vinculos" style="width: 70%; margin-bottom:10px;" />
193
+ </span>
194
+ </li>
195
+ </ul>
196
+ </div>
197
+ <div id="global_nav_tour"></div>
198
+ </header>
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GemaExplorak5
4
+ VERSION = "0.7.0"
5
+ end
metadata ADDED
@@ -0,0 +1,52 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gema_explorak5
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.0
5
+ platform: ruby
6
+ authors:
7
+ - Explorak5
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2024-09-27 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This gem provides a comprehensive solution for implementing login functionality
14
+ in Ruby applications. Features include user authentication, password management,
15
+ and customizable login forms and other functionality
16
+ email:
17
+ - explorak99@gmail.com
18
+ executables: []
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - lib/gema_explorak5/app/views/dashboard/_dashboard_card.html.erb
23
+ - lib/gema_explorak5/app/views/layout/_application_content.html.erb
24
+ - lib/gema_explorak5/app/views/login/_login_content.html.erb
25
+ - lib/gema_explorak5/app/views/login/_logout_confirm_content.html.erb
26
+ - lib/gema_explorak5/app/views/navbar/_new_nav_header.html.erb
27
+ - lib/gema_explorak5/version.rb
28
+ homepage: http://gitlab.espol.edu.ec/uvs/explora/gema_explorak5
29
+ licenses: []
30
+ metadata:
31
+ homepage_uri: http://gitlab.espol.edu.ec/uvs/explora/gema_explorak5
32
+ source_code_uri: http://gitlab.espol.edu.ec/uvs/explora/gema_explorak5
33
+ post_install_message:
34
+ rdoc_options: []
35
+ require_paths:
36
+ - lib
37
+ required_ruby_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 3.0.0
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ requirements: []
48
+ rubygems_version: 3.3.7
49
+ signing_key:
50
+ specification_version: 4
51
+ summary: A Ruby gem for adding functionality to Explora K5
52
+ test_files: []