diff --git a/app/components/sidenav_component/sidenav_component.html.erb b/app/components/sidenav_component/sidenav_component.html.erb index 9c1f1d4..caaed68 100644 --- a/app/components/sidenav_component/sidenav_component.html.erb +++ b/app/components/sidenav_component/sidenav_component.html.erb @@ -1,12 +1,29 @@ <% if @current_user.present? %> - +
+
<%= link_to "Home", root_path, class: "text-dark" %>
+
<%= link_to "Search", "#", class: "text-dark" %>
+ +
+
+ +
+ + <%= render(SubjectsSidenavSubMenuComponent.new(current_user: current_user, opts: { main_sub_menu: "mainSubjectIndexSubMenu", second_sub_menu: "secondSubjectIndexSubMenu", third_sub_menu: "thirdSubjectIndexSubMenu", fourth_sub_menu: "fourthSubjectIndexSubMenu", fifth_sub_menu: "fifthSubjectIndexSubMenu" })) %> +
+ +
+
+ +
+ + <%= render(SubjectsSidenavSubMenuComponent.new(current_user: current_user, opts: { main_sub_menu: "mainDoctrinesSubMenu", second_sub_menu: "secondDoctrinesSubMenu", third_sub_menu: "thirdDoctrinesSubMenu", fourth_sub_menu: "fourthDoctrinesSubMenu", fifth_sub_menu: "fifthDoctrinesSubMenu" })) %> +
+ +
<%= link_to "Desicions", decisions_path, class: "text-dark" %>
+
<%= link_to "Logout", destroy_user_session_path, class: "text-dark" %>
+
<% end %> diff --git a/app/components/subjects_sidenav_sub_menu_component.rb b/app/components/subjects_sidenav_sub_menu_component.rb new file mode 100644 index 0000000..264876c --- /dev/null +++ b/app/components/subjects_sidenav_sub_menu_component.rb @@ -0,0 +1,7 @@ +class SubjectsSidenavSubMenuComponent < BaseComponent + attr_reader :opts + + def initialize(current_user:, opts:) + @opts = opts + end +end diff --git a/app/components/subjects_sidenav_sub_menu_component/subjects_sidenav_sub_menu_component.erb b/app/components/subjects_sidenav_sub_menu_component/subjects_sidenav_sub_menu_component.erb new file mode 100644 index 0000000..f21df71 --- /dev/null +++ b/app/components/subjects_sidenav_sub_menu_component/subjects_sidenav_sub_menu_component.erb @@ -0,0 +1,75 @@ +
+
+ <% Cdao::Subject.roots.each do |subject| %> +
+
+
+ +
+ +
+
+ <% subject.children.each do |second_subject| %> +
+
+
+ +
+ +
+
+ <% second_subject.children.each do |third_subject| %> +
+
+
+ +
+ +
+
+ <% third_subject.children.each do |fourth_level| %> +
+
+
+ +
+ +
+
+ <% fourth_level.children.each do |fifth_level| %> +
+

+ <%= link_to fifth_level.name, subject_index_path(fifth_level.id), class: "accordion-link text-dark" %> +

+
+ <% end %> +
+
+
+
+ <% end %> +
+
+
+
+ <% end %> +
+
+
+
+ <% end %> +
+
+
+
+ <% end %> +
+
diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index d61f0a9..7d088c5 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -29,4 +29,12 @@ $(document).ready(function () { $('#sidenav').toggleClass('active'); }); + $(".accordion-link").on("click", function (e) { + e.preventDefault(); + + let $href = $(this).attr("href"); + if ($href !== undefined) { + window.location.href = $href; + } + }); }); diff --git a/app/javascript/src/application/sidenav.scss b/app/javascript/src/application/sidenav.scss index b65f07d..6440eb3 100644 --- a/app/javascript/src/application/sidenav.scss +++ b/app/javascript/src/application/sidenav.scss @@ -1,5 +1,5 @@ .sidenav { - background-color: #ff4d4d; + background-color: #e6e6e6; left: 0 !important; position: fixed; padding-top: 120px; @@ -9,6 +9,12 @@ top: 0; transition: all 0.6s cubic-bezier(0.945, 0.020, 0.270, 0.665); transform-origin: center left; /* Set the transformed position of sidebar to center left side. */ + width: inherit; + + .accordion-item, button { + background-color: #e6e6e6; + border-color: #e6e6e6; + } } .wrapper {