OSDN Git Service

fixed/fluid layout switch
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Thu, 3 Nov 2011 22:37:02 +0000 (00:37 +0200)
committerDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Thu, 3 Nov 2011 22:37:02 +0000 (00:37 +0200)
app/assets/stylesheets/style.scss
app/controllers/application_controller.rb
app/helpers/application_helper.rb
app/views/layouts/_head_panel.html.erb
app/views/layouts/admin.html.haml
app/views/layouts/application.html.haml
app/views/layouts/profile.html.haml
app/views/layouts/project.html.haml

index 97be566..29e6058 100755 (executable)
@@ -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)}
 
 
 
index 6d0edac..070def9 100644 (file)
@@ -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
index 3aa40c9..7098480 100644 (file)
@@ -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"
index a64aa3b..6db1d38 100644 (file)
@@ -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 %>
       <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() {
index 8df7881..e02dbe0 100644 (file)
@@ -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"
index eedbf11..030f199 100644 (file)
@@ -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"
index a33d9d5..2fd30dc 100644 (file)
@@ -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"
index f8d8221..ee6581e 100644 (file)
@@ -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"