Clean up main navigation

- Move main navigation into views/navigation
- Split guest navigation into seperate file
- Move main navigation partials into subfolder
- Further adjustments for Bootstrap 4 compatibility
This commit is contained in:
Andreas Nedbal 2020-04-26 14:29:23 +02:00
parent 18d4fad00e
commit 1885343900
6 changed files with 47 additions and 40 deletions

View file

@ -1,34 +0,0 @@
%nav.navbar.navbar-dark.navbar-expand-lg.bg-primary.fixed-top{role: "navigation"}
.container{class: ios_web_app? ? "ios-web-app" : ''}
%a.navbar-brand{href: "/"}= APP_CONFIG['site_name']
%button.navbar-toggler{"data-target" => "#j2-main-navbar-collapse", "data-toggle" => "collapse", type: "button"}
%span.sr-only Toggle navigation
%span.navbar-toggler-icon
#j2-main-navbar-collapse.collapse.navbar-collapse
- if user_signed_in?
%ul.nav.navbar-nav.mr-auto
= nav_entry t('views.navigation.timeline'), root_path
= nav_entry t('views.navigation.inbox'), "/inbox", badge: inbox_count
- if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod?
= nav_entry t('views.navigation.discover'), discover_path
%ul.nav.navbar-nav
- unless @user.nil?
- unless @user == current_user
%li.nav-item.hidden-xs{"data-toggle" => "tooltip", "data-placement" => "bottom", title: t('views.actions.group')}
%a.nav-link{href: '#', data: { target: "#modal-group-memberships", toggle: :modal }}
%i.fa.fa-users.hidden-xs
%span.d-none.d-sm-inline.d-md-none= t('views.actions.group')
= render "layouts/notifications"
%li.nav-item.hidden-xs{"data-toggle" => "tooltip", "data-placement" => "bottom", title: t('views.actions.ask_question')}
.btn.btn-link.navbar-btn{name: "toggle-all-ask", "data-target" => "#modal-ask-followers", "data-toggle" => "modal", :type => "button"}
%i.fa.fa-pencil-square-o
= render "layouts/profile"
- else
%ul.nav.navbar-nav.ml-auto
= nav_entry t('views.sessions.create'), new_user_session_path
= nav_entry t('views.sessions.new'), new_user_registration_path
- if user_signed_in?
= render 'modal/ask'
%button.btn.btn-primary.btn-fab.d-block.d-sm-none{"data-target" => "#modal-ask-followers", "data-toggle" => "modal", :type => "button"}
%i.fa.fa-pencil-square-o

View file

@ -24,7 +24,10 @@
= javascript_include_tag 'moderation', 'data-turbolinks-track' => true
= csrf_meta_tags
%body#version1
= render 'layouts/header'
- if user_signed_in?
= render 'navigation/main'
- else
= render 'navigation/guest'
= render 'shared/announcements'
= yield
= render 'shared/locales'

View file

@ -0,0 +1,10 @@
%nav.navbar.navbar-dark.navbar-expand-lg.bg-primary.fixed-top{role: "navigation"}
.container{class: ios_web_app? ? "ios-web-app" : ''}
%a.navbar-brand{href: "/"}= APP_CONFIG['site_name']
%button.navbar-toggler{"data-target" => "#j2-main-navbar-collapse", "data-toggle" => "collapse", type: "button"}
%span.sr-only Toggle navigation
%span.navbar-toggler-icon
#j2-main-navbar-collapse.collapse.navbar-collapse
%ul.nav.navbar-nav.ml-auto
= nav_entry t('views.sessions.create'), new_user_session_path
= nav_entry t('views.sessions.new'), new_user_registration_path

View file

@ -0,0 +1,28 @@
%nav.navbar.navbar-dark.navbar-expand-lg.bg-primary.fixed-top{role: "navigation"}
.container{class: ios_web_app? ? "ios-web-app" : ''}
%a.navbar-brand{href: "/"}= APP_CONFIG['site_name']
%button.navbar-toggler{"data-target" => "#j2-main-navbar-collapse", "data-toggle" => "collapse", type: "button"}
%span.sr-only Toggle navigation
%span.navbar-toggler-icon
#j2-main-navbar-collapse.collapse.navbar-collapse
%ul.nav.navbar-nav.mr-auto
= nav_entry t('views.navigation.timeline'), root_path
= nav_entry t('views.navigation.inbox'), "/inbox", badge: inbox_count
- if APP_CONFIG.dig(:features, :discover, :enabled) || current_user.mod?
= nav_entry t('views.navigation.discover'), discover_path
%ul.nav.navbar-nav
- unless @user.nil?
- unless @user == current_user
%li.nav-item.d-none.d-sm-block{"data-toggle" => "tooltip", "data-placement" => "bottom", title: t('views.actions.group')}
%a.nav-link{href: '#', data: { target: "#modal-group-memberships", toggle: :modal }}
%i.fa.fa-users.hidden-xs
%span.d-none.d-sm-inline.d-md-none= t('views.actions.group')
= render "navigation/main/notifications"
%li.nav-item.d-none.d-sm-block{"data-toggle" => "tooltip", "data-placement" => "bottom", title: t('views.actions.ask_question')}
%a.nav-link{href: "#", name: "toggle-all-ask", "data-target" => "#modal-ask-followers", "data-toggle" => "modal"}
%i.fa.fa-pencil-square-o
= render "navigation/main/profile"
= render 'modal/ask'
%button.btn.btn-primary.btn-fab.d-block.d-sm-none{"data-target" => "#modal-ask-followers", "data-toggle" => "modal", :type => "button"}
%i.fa.fa-pencil-square-o

View file

@ -1,7 +1,7 @@
= nav_entry t('views.navigation.notifications'), notifications_path, badge: notification_count, class: 'visible-xs'
= nav_entry t('views.navigation.notifications'), notifications_path, badge: notification_count, class: 'd-block d-sm-none'
- notifications = Notification.for(current_user).where(new: true).limit(4)
%li.dropdown.hidden-xs
%a.dropdown-toggle{href: "#", "data-toggle" => "dropdown"}
%li.nav-item.dropdown.d-none.d-sm-block
%a.nav-link.dropdown-toggle{href: "#", "data-toggle" => "dropdown"}
- if notification_count.nil?
%i.fa.fa-bell-o
- else

View file

@ -1,5 +1,5 @@
%li.dropdown.profile--image-dropdown
%a.dropdown-toggle{href: "#", "data-toggle" => "dropdown"}
%li.nav-item.dropdown.profile--image-dropdown
%a.nav-link.dropdown-toggle{href: "#", "data-toggle" => "dropdown"}
%img.profile--image-avatar.hidden-xs{src: current_user.profile_picture.url(:small)}
%span.d-none.d-sm-inline.d-md-none
= current_user.screen_name