commit
f8513c2005
23 changed files with 137 additions and 166 deletions
|
|
@ -12,6 +12,8 @@
|
||||||
## Refactor
|
## Refactor
|
||||||
|
|
||||||
* Refactor people_controller#show and photos_controller#index [#4002](https://github.com/diaspora/diaspora/issues/4002)
|
* Refactor people_controller#show and photos_controller#index [#4002](https://github.com/diaspora/diaspora/issues/4002)
|
||||||
|
* Modularize layout [#3944](https://github.com/diaspora/diaspora/pull/3944)
|
||||||
|
* Add header to the sign up page [#3944](https://github.com/diaspora/diaspora/pull/3944)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
#registration {
|
#registration {
|
||||||
position : absolute;
|
position : absolute;
|
||||||
top : 0;
|
|
||||||
left : 0;
|
left : 0;
|
||||||
background-color : #afc652;
|
background-color : #afc652;
|
||||||
min-height : 100%;
|
min-height : 100%;
|
||||||
|
|
@ -8,10 +7,6 @@
|
||||||
|
|
||||||
color : #fff;
|
color : #fff;
|
||||||
|
|
||||||
.container {
|
|
||||||
margin-top : 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#create-something-text {
|
#create-something-text {
|
||||||
font-family : Roboto-Light;
|
font-family : Roboto-Light;
|
||||||
font-size : 100px;
|
font-size : 100px;
|
||||||
|
|
@ -52,3 +47,55 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul#landing_nav {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
right: 20px;
|
||||||
|
|
||||||
|
> li {
|
||||||
|
display: inline;
|
||||||
|
margin-right: 0.5em;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: $blue;
|
||||||
|
|
||||||
|
&.login {
|
||||||
|
@include border-radius(5px);
|
||||||
|
@include box-shadow(0,1px,1px,#666);
|
||||||
|
|
||||||
|
padding: 5px 8px;
|
||||||
|
|
||||||
|
background-color: #000;
|
||||||
|
|
||||||
|
border-top: 1px solid #000;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #222;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
text-shadow: 0 1px 0 #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
body > header {
|
||||||
|
@include box-shadow(0,1px,3px,rgba(0,0,0,0.9));
|
||||||
|
|
||||||
|
background-color: rgb(40,35,35);
|
||||||
|
background-image: image-url('header-bg.png');
|
||||||
|
|
||||||
|
z-index: 1001;
|
||||||
|
padding: 6px 0;
|
||||||
|
color: #CCC;
|
||||||
|
height: 26px;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ class ApplicationController < ActionController::Base
|
||||||
:tags,
|
:tags,
|
||||||
:open_publisher
|
:open_publisher
|
||||||
|
|
||||||
|
layout ->(c) { request.format == :mobile ? "application" : "centered_with_header_with_footer" }
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def ensure_http_referer_is_set
|
def ensure_http_referer_is_set
|
||||||
|
|
|
||||||
|
|
@ -10,16 +10,17 @@ class HomeController < ApplicationController
|
||||||
elsif is_mobile_device?
|
elsif is_mobile_device?
|
||||||
if partial_dir.join('_show.mobile.haml').exist? ||
|
if partial_dir.join('_show.mobile.haml').exist? ||
|
||||||
partial_dir.join('_show.mobile.erb').exist?
|
partial_dir.join('_show.mobile.erb').exist?
|
||||||
render :show, layout: 'post'
|
render :show
|
||||||
else
|
else
|
||||||
redirect_to user_session_path
|
redirect_to user_session_path
|
||||||
end
|
end
|
||||||
elsif partial_dir.join("_show.html.haml").exist? ||
|
elsif partial_dir.join("_show.html.haml").exist? ||
|
||||||
partial_dir.join("_show.html.erb").exist?
|
partial_dir.join("_show.html.erb").exist?
|
||||||
render :show, layout: 'post'
|
render :show
|
||||||
else
|
else
|
||||||
|
@css_framework = :bootstrap # Hack, port site to one framework
|
||||||
render file: Rails.root.join("public", "default.html"),
|
render file: Rails.root.join("public", "default.html"),
|
||||||
layout: 'post'
|
layout: 'application'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@ class PostsController < ApplicationController
|
||||||
before_filter :set_format_if_malformed_from_status_net, :only => :show
|
before_filter :set_format_if_malformed_from_status_net, :only => :show
|
||||||
before_filter :find_post, :only => [:show, :next, :previous, :interactions]
|
before_filter :find_post, :only => [:show, :next, :previous, :interactions]
|
||||||
|
|
||||||
layout 'post'
|
layout 'application'
|
||||||
|
before_filter -> { @css_framework = :bootstrap }
|
||||||
|
|
||||||
respond_to :html,
|
respond_to :html,
|
||||||
:mobile,
|
:mobile,
|
||||||
|
|
@ -20,7 +21,7 @@ class PostsController < ApplicationController
|
||||||
|
|
||||||
rescue_from Diaspora::NonPublic do |exception|
|
rescue_from Diaspora::NonPublic do |exception|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.all { render :template=>'errors/not_public', :status=>404 }
|
format.all { @css_framework = :bootstrap; render :template=>'errors/not_public', :status=>404, :layout => "application"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -30,7 +31,7 @@ class PostsController < ApplicationController
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html{ gon.post = PostPresenter.new(@post, current_user); render 'posts/show' }
|
format.html{ gon.post = PostPresenter.new(@post, current_user); render 'posts/show' }
|
||||||
format.xml{ render :xml => @post.to_diaspora_xml }
|
format.xml{ render :xml => @post.to_diaspora_xml }
|
||||||
format.mobile{render 'posts/show', :layout => "application"}
|
format.mobile{render 'posts/show' }
|
||||||
format.json{ render :json => PostPresenter.new(@post, current_user) }
|
format.json{ render :json => PostPresenter.new(@post, current_user) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
class RegistrationsController < Devise::RegistrationsController
|
class RegistrationsController < Devise::RegistrationsController
|
||||||
before_filter :check_registrations_open_or_vaild_invite!, :check_valid_invite!
|
before_filter :check_registrations_open_or_vaild_invite!, :check_valid_invite!
|
||||||
|
|
||||||
layout "post", :only => :new
|
layout "with_header", :only => [:new]
|
||||||
|
before_filter -> { @css_framework = :bootstrap }, only: [:new]
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@user = User.build(params[:user])
|
@user = User.build(params[:user])
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
class SessionsController < Devise::SessionsController
|
class SessionsController < Devise::SessionsController
|
||||||
|
|
||||||
layout "post", :only => [:new]
|
layout "application", :only => [:new]
|
||||||
|
before_filter -> { @css_framework = :bootstrap }, only: [:new]
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
@ -11,7 +11,7 @@ class StatusMessagesController < ApplicationController
|
||||||
:mobile,
|
:mobile,
|
||||||
:json
|
:json
|
||||||
|
|
||||||
layout :bookmarklet_layout, :only => :bookmarklet
|
layout 'application', only: :bookmarklet
|
||||||
|
|
||||||
# Called when a user clicks "Mention" on a profile page
|
# Called when a user clicks "Mention" on a profile page
|
||||||
# @param person_id [Integer] The id of the person to be mentioned
|
# @param person_id [Integer] The id of the person to be mentioned
|
||||||
|
|
@ -114,14 +114,4 @@ class StatusMessagesController < ApplicationController
|
||||||
def remove_getting_started
|
def remove_getting_started
|
||||||
current_user.disable_getting_started
|
current_user.disable_getting_started
|
||||||
end
|
end
|
||||||
|
|
||||||
# Define bookmarklet layout depending on whether
|
|
||||||
# user is in mobile or desktop mode
|
|
||||||
def bookmarklet_layout
|
|
||||||
if request.format == :mobile
|
|
||||||
'application'
|
|
||||||
else
|
|
||||||
'blank'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -64,8 +64,8 @@ class StreamsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
respond_with do |format|
|
respond_with do |format|
|
||||||
format.html { render 'layouts/main_stream' }
|
format.html { render 'streams/main_stream' }
|
||||||
format.mobile { render 'layouts/main_stream' }
|
format.mobile { render 'streams/main_stream' }
|
||||||
format.json { render :json => @stream.stream_posts.map {|p| LastThreeCommentsDecorator.new(PostPresenter.new(p, current_user)) }}
|
format.json { render :json => @stream.stream_posts.map {|p| LastThreeCommentsDecorator.new(PostPresenter.new(p, current_user)) }}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -114,12 +114,13 @@ class UsersController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def getting_started
|
def getting_started
|
||||||
@aspect = :getting_started
|
|
||||||
@user = current_user
|
@user = current_user
|
||||||
@person = @user.person
|
@person = @user.person
|
||||||
@profile = @user.profile
|
@profile = @user.profile
|
||||||
|
|
||||||
render "users/getting_started"
|
@css_framework = :bootstrap
|
||||||
|
@include_application_css = true #Hack for multiple CSS frameworks and having two main styles
|
||||||
|
render "users/getting_started", layout: "with_header_with_footer"
|
||||||
end
|
end
|
||||||
|
|
||||||
def getting_started_completed
|
def getting_started_completed
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@
|
||||||
- content_for :head do
|
- content_for :head do
|
||||||
= stylesheet_link_tag :error_pages, :media => 'all'
|
= stylesheet_link_tag :error_pages, :media => 'all'
|
||||||
|
|
||||||
|
- content_for :after_content do
|
||||||
|
|
||||||
#big-number.transparent
|
#big-number.transparent
|
||||||
404
|
404
|
||||||
|
|
||||||
|
|
|
||||||
5
app/views/layouts/_footer.html.haml
Normal file
5
app/views/layouts/_footer.html.haml
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
%footer
|
||||||
|
.container
|
||||||
|
%ul#footer_nav
|
||||||
|
= render :partial =>'shared/links'
|
||||||
|
= image_tag 'branding/powered_by_diaspora.png', :height => "11px", :width => "145px"
|
||||||
|
|
@ -2,8 +2,10 @@
|
||||||
-# licensed under the Affero General Public License version 3 or later. See
|
-# licensed under the Affero General Public License version 3 or later. See
|
||||||
-# the COPYRIGHT file.
|
-# the COPYRIGHT file.
|
||||||
|
|
||||||
|
%header
|
||||||
|
- unless current_user
|
||||||
.container{:style => "position:relative;"}
|
.container{:style => "position:relative;"}
|
||||||
= link_to image_tag('branding/logo_small.png', :height => "16px", :width => "161px", :style => 'position:relative;top:5px;'), root_path
|
= link_to image_tag('branding/logo_small.png', :height => "16px", :width => "161px", :style => 'margin-left: 10px'), root_path
|
||||||
|
|
||||||
%ul#landing_nav
|
%ul#landing_nav
|
||||||
%li= link_to '@joindiaspora', "http://twitter.com/joindiaspora"
|
%li= link_to '@joindiaspora', "http://twitter.com/joindiaspora"
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,14 @@
|
||||||
%title
|
%title
|
||||||
= page_title yield(:page_title)
|
= page_title yield(:page_title)
|
||||||
|
|
||||||
|
= og_site_name
|
||||||
= chartbeat_head_block
|
= chartbeat_head_block
|
||||||
= include_mixpanel
|
= include_mixpanel
|
||||||
|
|
||||||
= include_base_css_framework
|
= include_base_css_framework(@css_framework)
|
||||||
|
- if @css_framework == :bootstrap && !@include_application_css
|
||||||
|
= stylesheet_link_tag :default, 'new-templates', :media => 'all'
|
||||||
|
- else
|
||||||
= stylesheet_link_tag 'login', 'application', 'default'
|
= stylesheet_link_tag 'login', 'application', 'default'
|
||||||
|
|
||||||
- if rtl?
|
- if rtl?
|
||||||
|
|
@ -46,31 +50,24 @@
|
||||||
= yield(:head)
|
= yield(:head)
|
||||||
= csrf_meta_tag
|
= csrf_meta_tag
|
||||||
|
|
||||||
|
- if @post.present?
|
||||||
|
%link{:rel => 'alternate', :type => "application/json+oembed", :href => "#{oembed_url(:url => post_url(@post))}"}
|
||||||
|
= og_page_specific_tags(@post)
|
||||||
|
|
||||||
= include_gon(:camel_case => true, :namespace => :preloads)
|
= include_gon(:camel_case => true, :namespace => :preloads)
|
||||||
|
|
||||||
%body
|
%body
|
||||||
= flash_messages
|
= flash_messages
|
||||||
|
|
||||||
%header
|
= yield :before_content
|
||||||
- unless current_user
|
|
||||||
= render 'layouts/header'
|
|
||||||
|
|
||||||
|
- if content_for?(:container_content)
|
||||||
.container
|
.container
|
||||||
- if @aspect == :getting_started
|
= yield(:container_content)
|
||||||
= yield
|
|
||||||
- else
|
- else
|
||||||
.span-24.last
|
= content_for?(:content) ? yield(:content) : yield
|
||||||
= yield
|
|
||||||
|
|
||||||
- unless @landing_page
|
= yield :after_content
|
||||||
%a{:id=>"back-to-top", :title=>"#{t('.back_to_top')}", :href=>"#"}
|
|
||||||
⇧
|
|
||||||
|
|
||||||
%footer
|
|
||||||
.container
|
|
||||||
%ul#footer_nav
|
|
||||||
= render :partial =>'shared/links'
|
|
||||||
= image_tag 'branding/powered_by_diaspora.png', :height => "11px", :width => "145px"
|
|
||||||
|
|
||||||
= include_chartbeat
|
= include_chartbeat
|
||||||
= include_mixpanel_guid
|
= include_mixpanel_guid
|
||||||
|
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
-# Copyright (c) 2010-2012, Diaspora Inc. This file is
|
|
||||||
-# licensed under the Affero General Public License version 3 or later. See
|
|
||||||
-# the COPYRIGHT file.
|
|
||||||
|
|
||||||
!!!
|
|
||||||
%html{:lang => I18n.locale.to_s, :dir => (rtl?) ? 'rtl' : 'ltr'}
|
|
||||||
%head
|
|
||||||
%meta{:charset => 'utf-8'}
|
|
||||||
%meta{"http-equiv"=>"Content-Type", :content=>"text/html; charset=utf-8"}
|
|
||||||
|
|
||||||
= csrf_meta_tag
|
|
||||||
|
|
||||||
%link{:rel => 'shortcut icon', :href => "#{image_path('favicon.png')}" }
|
|
||||||
%link{:rel => 'apple-touch-icon', :href => "#{image_path('apple-touch-icon.png')}"}
|
|
||||||
|
|
||||||
%title
|
|
||||||
= page_title yield(:page_title)
|
|
||||||
|
|
||||||
= include_base_css_framework
|
|
||||||
= stylesheet_link_tag 'application', 'default'
|
|
||||||
= translation_missing_warnings
|
|
||||||
:css
|
|
||||||
body { padding: 0; margin: 0; }
|
|
||||||
|
|
||||||
= jquery_include_tag
|
|
||||||
= javascript_include_tag :main, :templates, :home
|
|
||||||
= load_javascript_locales
|
|
||||||
= set_asset_host
|
|
||||||
= set_current_user_in_javascript
|
|
||||||
|
|
||||||
= yield(:head)
|
|
||||||
|
|
||||||
%body
|
|
||||||
|
|
||||||
= yield
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
- content_for :container_content do
|
||||||
|
.span-24.last
|
||||||
|
= yield
|
||||||
|
|
||||||
|
= render template: "layouts/with_header_with_footer"
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
||||||
-# licensed under the Affero General Public License version 3 or later. See
|
|
||||||
-# the COPYRIGHT file.
|
|
||||||
|
|
||||||
!!!
|
|
||||||
%html{:lang => I18n.locale.to_s, :dir => (rtl?) ? 'rtl' : 'ltr'}
|
|
||||||
%head
|
|
||||||
%meta{:charset => 'utf-8'}
|
|
||||||
%meta{"http-equiv"=>"Content-Type", :content=>"text/html; charset=utf-8"}
|
|
||||||
|
|
||||||
%meta{:name => "description", :content => "Diaspora*"}
|
|
||||||
%meta{:name => "author", :content => "Diaspora, Inc."}
|
|
||||||
|
|
||||||
%meta{:name => "HandheldFriendly", :content => "True"}
|
|
||||||
%meta{:name => "MobileOptimized", :content => "320"}
|
|
||||||
%meta{:name => "viewport", :content => "initial-scale=1, maximum-scale=1"}
|
|
||||||
|
|
||||||
%link{:rel => 'shortcut icon', :href => "#{image_path('favicon.png')}" }
|
|
||||||
%link{:rel => 'apple-touch-icon', :href => "#{image_path('apple-touch-icon.png')}"}
|
|
||||||
|
|
||||||
= og_site_name
|
|
||||||
= chartbeat_head_block
|
|
||||||
= include_mixpanel
|
|
||||||
|
|
||||||
%title
|
|
||||||
= page_title yield(:page_title)
|
|
||||||
|
|
||||||
= include_base_css_framework(:bootstrap)
|
|
||||||
= stylesheet_link_tag :default, 'new-templates', :media => 'all'
|
|
||||||
|
|
||||||
- if rtl?
|
|
||||||
= stylesheet_link_tag :rtl, :media => 'all'
|
|
||||||
|
|
||||||
= old_browser_js_support
|
|
||||||
<!--[if IE]>
|
|
||||||
= javascript_include_tag :ie
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
= jquery_include_tag
|
|
||||||
|
|
||||||
= set_current_user_in_javascript
|
|
||||||
|
|
||||||
- unless @landing_page
|
|
||||||
= javascript_include_tag :main, :templates
|
|
||||||
= load_javascript_locales
|
|
||||||
|
|
||||||
= set_asset_host
|
|
||||||
= translation_missing_warnings
|
|
||||||
= current_user_atom_tag
|
|
||||||
|
|
||||||
- if @post.present?
|
|
||||||
%link{:rel => 'alternate', :type => "application/json+oembed", :href => "#{oembed_url(:url => post_url(@post))}"}
|
|
||||||
= og_page_specific_tags(@post)
|
|
||||||
|
|
||||||
= yield(:head)
|
|
||||||
= csrf_meta_tag
|
|
||||||
|
|
||||||
= include_gon(:camel_case => true, :namespace => :preloads)
|
|
||||||
|
|
||||||
%body
|
|
||||||
= flash_messages
|
|
||||||
#container
|
|
||||||
= yield
|
|
||||||
|
|
||||||
|
|
||||||
= include_chartbeat
|
|
||||||
= include_mixpanel_guid
|
|
||||||
4
app/views/layouts/with_header.html.haml
Normal file
4
app/views/layouts/with_header.html.haml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
- content_for :before_content do
|
||||||
|
= render 'layouts/header'
|
||||||
|
|
||||||
|
= render template: "layouts/application"
|
||||||
4
app/views/layouts/with_header_with_footer.html.haml
Normal file
4
app/views/layouts/with_header_with_footer.html.haml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
- content_for :after_content do
|
||||||
|
= render 'layouts/footer'
|
||||||
|
|
||||||
|
= render template: "layouts/with_header"
|
||||||
|
|
@ -4,3 +4,6 @@
|
||||||
|
|
||||||
- content_for :page_title do
|
- content_for :page_title do
|
||||||
= post_page_title @post
|
= post_page_title @post
|
||||||
|
|
||||||
|
- content_for :content do
|
||||||
|
#container
|
||||||
|
|
|
||||||
|
|
@ -35,5 +35,7 @@
|
||||||
|
|
||||||
- content_for(:head) do
|
- content_for(:head) do
|
||||||
:css
|
:css
|
||||||
|
body { padding:0; margin-top: 0; }
|
||||||
|
.container { width: auto; }
|
||||||
#new_status_message_pane { margin: 1em 0 0; }
|
#new_status_message_pane { margin: 1em 0 0; }
|
||||||
#new_status_message_pane h4 { margin: 0 0 0 1em; }
|
#new_status_message_pane h4 { margin: 0 0 0 1em; }
|
||||||
|
|
@ -60,3 +60,6 @@
|
||||||
.content
|
.content
|
||||||
|
|
||||||
= render 'shared/right_sections'
|
= render 'shared/right_sections'
|
||||||
|
|
||||||
|
%a{:id=>"back-to-top", :title=>"#{t('.back_to_top')}", :href=>"#"}
|
||||||
|
⇧
|
||||||
Loading…
Reference in a new issue