diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 227437675..425510b94 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -43,4 +43,6 @@ @import "steps/*"; @import "themes/*"; +@import "navigation/*"; + @import "*" diff --git a/app/assets/stylesheets/navigation/general.scss b/app/assets/stylesheets/navigation/general.scss new file mode 100644 index 000000000..aa079d312 --- /dev/null +++ b/app/assets/stylesheets/navigation/general.scss @@ -0,0 +1,69 @@ +.sci--layout { + --breadcrumbs-navigation: 56px; + --left-navigation: 83px; + --navigator-navigation: 280px; + --top-navigation: 52px; + display: grid; + grid-template-areas: "top top top" + "left breadcrumbs breadcrumbs" + "left navigator content"; + grid-template-columns: var(--left-navigation) var(--navigator-navigation) auto; + grid-template-rows: var(--top-navigation) var(--breadcrumbs-navigation) auto; + height: 100vh; + position: relative; + transition: .4s $timing-function-standard; + width: 100%; + + &[data-breadcrumbs-collapsed="true"] { + --breadcrumbs-navigation: 0px; + } + + &[data-navigator-collapsed="true"] { + --navigator-navigation: 0px; + } + + .sci--layout-navigation-top { + grid-area: top; + height: var(--top-navigation); + position: fixed; + width: 100vw; + z-index: 600; + } + + .sci--layout-navigation-left { + grid-area: left; + height: calc(100vh - var(--top-navigation)); + left: 0; + position: fixed; + top: var(--top-navigation); + width: var(--left-navigation); + z-index: 600; + } + + .sci--layout-navigation-navigator { + grid-area: navigator; + height: calc(100vh - var(--top-navigation) - var(--breadcrumbs-navigation)); + left: var(--left-navigation); + position: fixed; + top: calc(var(--top-navigation) + var(--breadcrumbs-navigation)); + transition: .4s $timing-function-standard; + width: var(--navigator-navigation); + z-index: 550; + } + + .sci--layout-navigation-breadcrumbs { + grid-area: breadcrumbs; + height: var(--breadcrumbs-navigation); + left: var(--left-navigation); + position: fixed; + top: var(--top-navigation); + transition: .4s $timing-function-standard; + width: calc(100vw - var(--left-navigation)); + z-index: 600; + } + + .sci--layout-content { + grid-area: content; + padding: 0 1em; + } +} diff --git a/app/assets/stylesheets/themes/menu_bar.scss b/app/assets/stylesheets/themes/menu_bar.scss index 5fb5c9b1a..2d77e4dc0 100644 --- a/app/assets/stylesheets/themes/menu_bar.scss +++ b/app/assets/stylesheets/themes/menu_bar.scss @@ -7,13 +7,6 @@ .menu-bar { background-color: $color-white; - box-shadow: $flyout-shadow; - height: 100%; - left: 0; - padding-bottom: 50px; - position: fixed; - width: var(--menu-bar-width); - z-index: 1001; .scroll-wrapper { height: 100%; diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index a00535b6b..3751dde5f 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -55,7 +55,35 @@ - <%= render "shared/navigation" %> + +
+
+ <%= render "shared/navigation/top" %> +
+
+ <%= render "shared/navigation/left" if user_signed_in? %> +
+
+ <%= render "shared/navigation/navigator" %> +
+
+ <%= render "shared/navigation/breadcrumbs" %> +
+
+ <% if user_signed_in? && current_user.teams.blank? && !(activities_are_selected? || settings_are_selected?) %> + +
+

<%=t 'general.no_teams.title' %>

+

<%=t 'general.no_teams.text' %>

+
+ <% else %> + <%= yield :content %> + <% end %> +
+
+ + <%= render partial: 'shared/flash_alerts', + locals: { flash: flash, notice: notice, alert: alert } %> <% if user_signed_in? %> <%= render "shared/about_modal" %> @@ -73,23 +101,6 @@ <%= render partial: "/system_notifications/system_notification_modal", locals: { notification: nil} %> <% end %> - <%= render partial: 'shared/flash_alerts', - locals: { flash: flash, notice: notice, alert: alert } %> - - <%= render "shared/left_menu_bar" if user_signed_in? %> - -
- <% if user_signed_in? && current_user.teams.blank? && !(activities_are_selected? || settings_are_selected?) %> - -
-

<%=t 'general.no_teams.title' %>

-

<%=t 'general.no_teams.text' %>

-
- <% else %> - <%= yield :content %> - <% end %> -
-