diff --git a/app/assets/stylesheets/extranet/_default/layouts/_nav.sass b/app/assets/stylesheets/extranet/_default/layouts/_nav.sass index e7b67e6af3d7d1af2a5f43f1d089be761a7ca6c9..680d799a3f0633dbd0317f075e62a399211c0ff5 100644 --- a/app/assets/stylesheets/extranet/_default/layouts/_nav.sass +++ b/app/assets/stylesheets/extranet/_default/layouts/_nav.sass @@ -3,22 +3,34 @@ .navbar-brand img max-width: 100px + .nav-link + color: black .active .nav-link color: $navbar-link-active-color .navbar-collapse flex-grow: 0 + + .dropdown-menu + border: 0 + padding: 0 .navbar-toggler border: 0 font-size: px2rem(14) line-height: px2rem(28) + padding-right: 0 text-transform: uppercase @include media-breakpoint-up(md) margin-bottom: 100px - .nav + .navbar-nav li:last-child .nav-link padding-right: 0 @include media-breakpoint-down(md) - .nav + .navbar-nav + background: white display: block + left: 0 + position: fixed + right: 0 text-align: right + padding: 1rem diff --git a/app/assets/stylesheets/extranet/_default/pages/_person.sass b/app/assets/stylesheets/extranet/_default/pages/_person.sass index 457d66a451f8e4a14f61b8ef7c8de267511aca22..503783c9aecc124b36aed60fe741b9d2ccb8dddf 100644 --- a/app/assets/stylesheets/extranet/_default/pages/_person.sass +++ b/app/assets/stylesheets/extranet/_default/pages/_person.sass @@ -1,4 +1,5 @@ -.persons-show +.persons-show, +.account-show .top h1 font-weight: normal diff --git a/app/services/simple_navigation/bootstrap_renderer.rb b/app/services/simple_navigation/bootstrap_renderer.rb index 21646e9f9a18cc926ae4e1e890d68a7aea9b3ada..185db87e1e5e9057724b8ee33c33158351dd3039 100644 --- a/app/services/simple_navigation/bootstrap_renderer.rb +++ b/app/services/simple_navigation/bootstrap_renderer.rb @@ -1,6 +1,6 @@ class SimpleNavigation::BootstrapRenderer < SimpleNavigation::Renderer::Base def render(item_container) - content = '<ul class="nav">' + content = '<ul class="navbar-nav">' item_container.items.each do |item| content << make(item) end @@ -11,34 +11,39 @@ class SimpleNavigation::BootstrapRenderer < SimpleNavigation::Renderer::Base protected def make(item) - li = "<li class=\"sidebar-item #{ item.html_options[:class] } #{ ' disabled' unless item.url }\">" + has_sub_navigation = consider_sub_navigation?(item) + li = "<li class=\"nav-item" + li += " active" if item.selected? + li += " dropdown" if has_sub_navigation + li += "\">" li += make_a(item) - li += make_subnavigation(item) if consider_sub_navigation?(item) - li += '</li>' - li - end - - def make_item(item) - li = "<li class=\"nav-item #{ item.html_options[:class] } #{ ' disabled' unless item.url }\">" - li += make_a(item) - li += make_subnavigation(item) if consider_sub_navigation?(item) + li += make_subnavigation(item) if has_sub_navigation li += '</li>' li end def make_a(item) - icon = item.send(:options)[:icon] - a = "<a href=\"#{ item.url }\" class=\"nav-link#{ item.selected? ? '' : ' collapsed' }\"" - a += " data-bs-target=\"##{ item.key }\" data-bs-toggle=\"collapse\"" if consider_sub_navigation?(item) + has_sub_navigation = consider_sub_navigation?(item) + a = "<a href=\"#{ item.url }\" class=\"nav-link" + a += " dropdown-toggle" if has_sub_navigation + a += "\"" + a += " data-bs-toggle=\"dropdown\" aria-expanded=\"false\"" if has_sub_navigation a += ">" - a += "<i class=\"fas fa-#{ icon }\"></i>" if icon - a += "<span class=\"align-middle\">#{ item.name }</span></a>" + a += item.name + a += "</a>" a end def make_subnavigation(item) - "<ul id=\"#{ item.key }\" class=\"sidebar-dropdown list-unstyled #{ item.selected? ? 'show' : 'collapse' }\"> - #{ render_sub_navigation_for item } - </ul>" + ul = "<ul class=\"dropdown-menu\">" + item.sub_navigation.items.each do |i| + ul += "<li>" + ul += "<a href=\"#{ i.url }\" class=\"dropdown-item\">" + ul += i.name + ul += "</a>" + ul += "</li>" + end + ul += "</ul>" + ul end end diff --git a/app/views/extranet/account/show.html.erb b/app/views/extranet/account/show.html.erb index a0b28a37eb1969c9d549368db24f0d0a05f16faf..dde3ac4d0c2176b31f52ab174210c5ca8d1a83b8 100644 --- a/app/views/extranet/account/show.html.erb +++ b/app/views/extranet/account/show.html.erb @@ -3,9 +3,23 @@ <%= render 'extranet/persons/header', person: @person unless @person.nil? %> <%= link_to t('extranet.account.edit'), edit_account_path, class: 'btn btn-primary' %> +<%= link_to t('extranet.account.logout'), destroy_user_session_path, method: :delete, class: 'btn text-danger' %> <div class="row"> <div class="col-md-9"> + <div class="biography"> + <p><%= @person.biography %></p> + </div> + <% if @person.experiences.any? %> + <div class="experiences"> + <p class="mb-4">Parcours professionel</p> + <ul> + <% @person.experiences.ordered.each do |experience| %> + <li><%= render 'extranet/persons/experience', experience: experience %></li> + <% end %> + </ul> + </div> + <% end %> </div> <div class="col-md-3"> <%= render 'extranet/persons/details', person: @person unless @person.nil? %> diff --git a/app/views/extranet/persons/_experience.html.erb b/app/views/extranet/persons/_experience.html.erb new file mode 100644 index 0000000000000000000000000000000000000000..4b8839d94fdc30fd1b43aa17aa4f7445097d1383 --- /dev/null +++ b/app/views/extranet/persons/_experience.html.erb @@ -0,0 +1,24 @@ +<div> + <p><b><%= experience.description %></b></p> + <p class="mb-0"> + <%= "#{experience.from_year} —" if experience.from_year %> + <%= experience.to_year || t('today') %> + </p> +</div> +<div> + <% if experience.organization.present? %> + <p><%= link_to experience.organization, experience.organization %></p> + <% if experience.organization.url %> + <p class="mb-0"><small><%= link_to experience.organization.url, experience.organization.url %></small></p> + <% end %> + <% end %> +</div> +<div> + <% if experience.organization.present? %> + <% if experience.organization.logo.attached? %> + <%= link_to experience.organization do %> + <%= kamifusen_tag experience.organization.logo, height: 80, class: 'img-fluid' %> + <% end %> + <% end %> + <% end %> +</div> diff --git a/app/views/extranet/persons/show.html.erb b/app/views/extranet/persons/show.html.erb index 6ae31ae89d1e1640513d86222dc904b929b99e44..46d6642a60cba3c6b1ad33f4a9bef65a50a5c9a1 100644 --- a/app/views/extranet/persons/show.html.erb +++ b/app/views/extranet/persons/show.html.erb @@ -5,43 +5,18 @@ <div class="row"> <div class="col-md-9"> <div class="biography"> - <p><%= @person.biography %></p> + <p><%= @person&.biography %></p> </div> - <% if @person.experiences.any? %> + <% if @person&.experiences.any? %> <div class="experiences"> <p class="mb-4">Parcours professionel</p> <ul> <% @person.experiences.ordered.each do |experience| %> - <li> - <div> - <p><b><%= experience.description %></b></p> - <p class="mb-0"> - <%= "#{experience.from_year} —" if experience.from_year %> - <%= experience.to_year || t('today') %> - </p> - </div> - <div> - <% if experience.organization.present? %> - <p><%= link_to experience.organization, experience.organization %></p> - <% if experience.organization.url %> - <p class="mb-0"><small><%= link_to experience.organization.url, experience.organization.url %></small></p> - <% end %> - <% end %> - </div> - <div> - <% if experience.organization.present? %> - <% if experience.organization.logo.attached? %> - <%= link_to experience.organization do %> - <%= kamifusen_tag experience.organization.logo, height: 80, class: 'img-fluid' %> - <% end %> - <% end %> - <% end %> - </div> - </li> + <li><%= render 'extranet/persons/experience', experience: experience %></li> <% end %> </ul> </div> - <% end %> + <% end %> </div> <div class="col-md-3"> <%= render 'extranet/persons/details', person: @person %> diff --git a/config/navigation.rb b/config/navigation.rb index 098c9bb14e1d89a9ad7ab1bd57a2361a30eb31b3..c3f27ac3c1cd5c88e3645a32172d488d45127d3d 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -17,15 +17,7 @@ SimpleNavigation::Configuration.run do |navigation| University::Organization.model_name.human(count: 2), university_organizations_path primary.item :account, - current_user, - nil do |secondary| - secondary.item :edit, - t('extranet.account.my'), - account_path - secondary.item :logout, - t('extranet.account.logout'), - destroy_user_session_path, - method: :delete - end + t('extranet.account.my'), + account_path end end