diff --git a/app/assets/stylesheets/style.scss b/app/assets/stylesheets/style.scss index 97be566ffe85985df38838338f9a77aeab20b55c..29e6058d5214efa6b9c647d2f6c29b88b584b370 100755 --- a/app/assets/stylesheets/style.scss +++ b/app/assets/stylesheets/style.scss @@ -292,7 +292,7 @@ body.login-page{background-color: #f1f1f1; padding-top: 10%} /* General */ #container{background-color: white; overflow: hidden;} -/*#container{margin: auto; width: 980px; border: 1px solid rgba(0,0,0,.22); border-top: 0; box-shadow: 0 0 0px 4px rgba(0,0,0,.04)}*/ +body.collapsed #container{margin: auto; width: 980px; border: 1px solid rgba(0,0,0,.22); border-top: 0; box-shadow: 0 0 0px 4px rgba(0,0,0,.04)} diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 6d0edaceae4f8dca9ce53fe4a165a747d77b5409..070def961ab8b7db6f319601b7a55846eaa9bb4c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,5 +1,7 @@ class ApplicationController < ActionController::Base before_filter :authenticate_user! + before_filter :view_style + protect_from_forgery helper_method :abilities, :can? @@ -73,4 +75,12 @@ class ApplicationController < ActionController::Base def require_non_empty_project redirect_to @project unless @project.repo_exists? end + + def view_style + if params[:view_style] == "collapsed" + cookies[:view_style] = "collapsed" + elsif params[:view_style] == "fluid" + cookies[:view_style] = "" + end + end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3aa40c996080668ed2cf858c4a9fc45500e01837..709848044f09528ab2a324f282789e042335fa5a 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4,6 +4,14 @@ module ApplicationHelper "http://www.gravatar.com/avatar/#{Digest::MD5.hexdigest(user_email)}?s=40&d=identicon" end + def body_class(default_class = nil) + main = content_for(:body_class).blank? ? + default_class : + content_for(:body_class) + + [main, cookies[:view_style]].join(" ") + end + def commit_name(project, commit) if project.commit.id == commit.id "master" diff --git a/app/views/layouts/_head_panel.html.erb b/app/views/layouts/_head_panel.html.erb index a64aa3b5513c66848e5d9d8f05869b90347719b1..6db1d3897c57dbe47069d52f65b0b0f80d364d10 100644 --- a/app/views/layouts/_head_panel.html.erb +++ b/app/views/layouts/_head_panel.html.erb @@ -1,19 +1,29 @@ <!-- Page Header --> <header> -<h1 class="logo"> - <a href="/">GITLAB</a></h1> - <div class="login-top"> - <%= link_to profile_path, :class => "pic" do %> - <%= image_tag gravatar_icon(current_user.email) %> - <% end %> - <%= link_to profile_path, :class => "username" do %> - <%= current_user.name %> - <% end %> - <%= link_to 'Logout', destroy_user_session_path, :class => "logout", :method => :delete %> + <h1 class="logo"> + <a href="/">GITLAB</a> + </h1> + <div class="account-box"> + <%= link_to profile_path, :class => "pic" do %> + <%= image_tag gravatar_icon(current_user.email) %> + <% end %> + + <a href="#" class="arrow-up"></a> + + <div class="account-links"> + <%= link_to profile_path, :class => "username" do %> + <%#= current_user.name %> + Your profile + <% end %> + <%= link_to "Fluid layout", url_for( :view_style => 'fluid' ) if cookies[:view_style] == "collapsed"%> + <%= link_to "Fixed layout", url_for( :view_style => 'collapsed' ) unless cookies[:view_style] == "collapsed"%> + <%= link_to 'Logout', destroy_user_session_path, :class => "logout", :method => :delete %> </div> - <div class="search"> - <%= text_field_tag "search", nil, :placeholder => "Search", :class => "search-input" %> - </div> + </div><!-- .account-box --> + + <div class="search"> + <%= text_field_tag "search", nil, :placeholder => "Search", :class => "search-input" %> + </div> <!-- .login-top --> <nav> <%= link_to dashboard_path, :class => current_page?(root_path) ? "current dashboard" : "dashboard" do %> @@ -26,23 +36,10 @@ <span></span>Admin <% end %> </nav> + </header> <!-- eo Page Header --> -<div id="header-panel" style="display:none"> - <div class="container"> - <div class="span-24"> - <div class="span-10"> - <span class="search-holder"> - </span> - </div> - <div class="right"> - <%= link_to truncate(@project.name, :length => 20), project_path(@project), :class => "current button" if @project && !@project.new_record? %> - </div> - </div> - </div> -</div> - <% if current_user %> <%= javascript_tag do %> $(function() { diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index 8df7881cd2fd05b060f201cb8b70f72f16de1f9c..e02dbe045c4e5164cc4fa067b47f53bb18ffc675 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -9,7 +9,7 @@ = javascript_tag do REQ_URI = "#{request.env["REQUEST_URI"]}"; REQ_REFFER = "#{request.env["HTTP_REFERER"]}"; - %body{ :class => content_for?(:body_class) ? yield(:body_class) : 'project-page', :id => yield(:boyd_id)} + %body{ :class => body_class('project-page'), :id => yield(:boyd_id)} #container = render :partial => "layouts/flash" = render :partial => "layouts/head_panel" diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index eedbf1167a548c0c66f0fc6f9eefe02752c0844d..030f19995ecc7fe5fe9ae946a0f7434b48df4775 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -13,7 +13,7 @@ = javascript_tag do REQ_URI = "#{request.env["REQUEST_URI"]}"; REQ_REFFER = "#{request.env["HTTP_REFERER"]}"; - %body{ :class => yield(:body_class), :id => yield(:boyd_id)} + %body{ :class => body_class, :id => yield(:boyd_id)} #container = render :partial => "layouts/flash" = render :partial => "layouts/head_panel" diff --git a/app/views/layouts/profile.html.haml b/app/views/layouts/profile.html.haml index a33d9d5dd6d453ecb9ef9fc951b213fc7ec14220..2fd30dcd7b9d48cdeb5ec22adf71b4bfe6ed61b3 100644 --- a/app/views/layouts/profile.html.haml +++ b/app/views/layouts/profile.html.haml @@ -9,7 +9,7 @@ = javascript_tag do REQ_URI = "#{request.env["REQUEST_URI"]}"; REQ_REFFER = "#{request.env["HTTP_REFERER"]}"; - %body{ :class => content_for?(:body_class) ? yield(:body_class) : 'project-page', :id => yield(:boyd_id)} + %body{ :class => body_class('project-page'), :id => yield(:boyd_id)} #container = render :partial => "layouts/flash" = render :partial => "layouts/head_panel" diff --git a/app/views/layouts/project.html.haml b/app/views/layouts/project.html.haml index f8d8221a812c51aa6a8fc8014a2ef9f40c4e115b..ee6581ecdb9959e560fd240686bd066eef913a27 100644 --- a/app/views/layouts/project.html.haml +++ b/app/views/layouts/project.html.haml @@ -9,7 +9,7 @@ = javascript_tag do REQ_URI = "#{request.env["REQUEST_URI"]}"; REQ_REFFER = "#{request.env["HTTP_REFERER"]}"; - %body{ :class => content_for?(:body_class) ? yield(:body_class) : 'project-page', :id => yield(:boyd_id)} + %body{ :class => body_class('project-page'), :id => yield(:boyd_id)} #container = render :partial => "layouts/flash" = render :partial => "layouts/head_panel"