Remove blueprint code
|
|
@ -111,7 +111,6 @@ var app = {
|
|||
|
||||
setupGlobalViews: function() {
|
||||
app.hovercard = new app.views.Hovercard();
|
||||
app.aspectMembershipsBlueprint = new app.views.AspectMembershipBlueprint();
|
||||
$('.aspect_membership_dropdown').each(function(){
|
||||
new app.views.AspectMembership({el: this});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,172 +0,0 @@
|
|||
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
|
||||
|
||||
/**
|
||||
* this view lets the user (de-)select aspect memberships in the context
|
||||
* of another users profile or the contact page.
|
||||
*
|
||||
* updates to the list of aspects are immediately propagated to the server, and
|
||||
* the results are dislpayed as flash messages.
|
||||
*/
|
||||
app.views.AspectMembershipBlueprint = Backbone.View.extend({
|
||||
|
||||
initialize: function() {
|
||||
// attach event handler, removing any previous instances
|
||||
var selector = '.dropdown.aspect_membership .dropdown_list > li';
|
||||
$('body')
|
||||
.off('click', selector)
|
||||
.on('click', selector, _.bind(this._clickHandler, this))
|
||||
.on('keypress', selector, _.bind(this._clickHandler, this));
|
||||
|
||||
this.list_item = null;
|
||||
this.dropdown = null;
|
||||
},
|
||||
|
||||
// decide what to do when clicked
|
||||
// -> addMembership
|
||||
// -> removeMembership
|
||||
_clickHandler: function(evt) {
|
||||
var promise = null;
|
||||
this.list_item = $(evt.target);
|
||||
this.dropdown = this.list_item.parent();
|
||||
|
||||
this.list_item.addClass('loading');
|
||||
|
||||
if( this.list_item.is('.selected') ) {
|
||||
var membership_id = this.list_item.data('membership_id');
|
||||
promise = this.removeMembership(membership_id);
|
||||
} else {
|
||||
var aspect_id = this.list_item.data('aspect_id');
|
||||
var person_id = this.dropdown.data('person_id');
|
||||
promise = this.addMembership(person_id, aspect_id);
|
||||
}
|
||||
|
||||
promise && promise.always(function() {
|
||||
// trigger a global event
|
||||
app.events.trigger('aspect_membership:update');
|
||||
});
|
||||
|
||||
return false; // stop the event
|
||||
},
|
||||
|
||||
// return the (short) name of the person associated with the current dropdown
|
||||
_name: function() {
|
||||
return this.dropdown.data('person-short-name');
|
||||
},
|
||||
|
||||
// create a membership for the given person in the given aspect
|
||||
addMembership: function(person_id, aspect_id) {
|
||||
var aspect_membership = new app.models.AspectMembership({
|
||||
'person_id': person_id,
|
||||
'aspect_id': aspect_id
|
||||
});
|
||||
|
||||
aspect_membership.on('sync', this._successSaveCb, this);
|
||||
aspect_membership.on('error', function() {
|
||||
this._displayError('aspect_dropdown.error');
|
||||
}, this);
|
||||
|
||||
return aspect_membership.save();
|
||||
},
|
||||
|
||||
_successSaveCb: function(aspect_membership) {
|
||||
var aspect_id = aspect_membership.get('aspect_id');
|
||||
var membership_id = aspect_membership.get('id');
|
||||
var li = this.dropdown.find('li[data-aspect_id="'+aspect_id+'"]');
|
||||
|
||||
// the user didn't have this person in any aspects before, congratulate them
|
||||
// on their newly found friendship ;)
|
||||
if( this.dropdown.find('li.selected').length === 0 ) {
|
||||
var msg = Diaspora.I18n.t('aspect_dropdown.started_sharing_with', { 'name': this._name() });
|
||||
Diaspora.page.flashMessages.render({ 'success':true, 'notice':msg });
|
||||
}
|
||||
|
||||
li.attr('data-membership_id', membership_id) // just to be sure...
|
||||
.data('membership_id', membership_id)
|
||||
.addClass('selected');
|
||||
|
||||
this.updateSummary();
|
||||
this._done();
|
||||
},
|
||||
|
||||
// show an error flash msg
|
||||
_displayError: function(msg_id) {
|
||||
this._done();
|
||||
this.dropdown.removeClass('active'); // close the dropdown
|
||||
|
||||
var msg = Diaspora.I18n.t(msg_id, { 'name': this._name() });
|
||||
Diaspora.page.flashMessages.render({ 'success':false, 'notice':msg });
|
||||
},
|
||||
|
||||
// remove the membership with the given id
|
||||
removeMembership: function(membership_id) {
|
||||
var aspect_membership = new app.models.AspectMembership({
|
||||
'id': membership_id
|
||||
});
|
||||
|
||||
aspect_membership.on('sync', this._successDestroyCb, this);
|
||||
aspect_membership.on('error', function() {
|
||||
this._displayError('aspect_dropdown.error_remove');
|
||||
}, this);
|
||||
|
||||
return aspect_membership.destroy();
|
||||
},
|
||||
|
||||
_successDestroyCb: function(aspect_membership) {
|
||||
var membership_id = aspect_membership.get('id');
|
||||
var li = this.dropdown.find('li[data-membership_id="'+membership_id+'"]');
|
||||
|
||||
li.removeAttr('data-membership_id')
|
||||
.removeData('membership_id')
|
||||
.removeClass('selected');
|
||||
|
||||
// we just removed the last aspect, inform the user with a flash message
|
||||
// that he is no longer sharing with that person
|
||||
if( this.dropdown.find('li.selected').length === 0 ) {
|
||||
var msg = Diaspora.I18n.t('aspect_dropdown.stopped_sharing_with', { 'name': this._name() });
|
||||
Diaspora.page.flashMessages.render({ 'success':true, 'notice':msg });
|
||||
}
|
||||
|
||||
this.updateSummary();
|
||||
this._done();
|
||||
},
|
||||
|
||||
// cleanup tasks after aspect selection
|
||||
_done: function() {
|
||||
if( this.list_item ) {
|
||||
this.list_item.removeClass('loading');
|
||||
}
|
||||
},
|
||||
|
||||
// refresh the button text to reflect the current aspect selection status
|
||||
updateSummary: function() {
|
||||
var btn = this.dropdown.parents('div.aspect_membership').find('.button.toggle');
|
||||
var aspects_cnt = this.dropdown.find('li.selected').length;
|
||||
var txt;
|
||||
|
||||
if( aspects_cnt === 0 ) {
|
||||
btn.removeClass('in_aspects');
|
||||
txt = Diaspora.I18n.t('aspect_dropdown.toggle.zero');
|
||||
} else {
|
||||
btn.addClass('in_aspects');
|
||||
txt = this._pluralSummaryTxt(aspects_cnt);
|
||||
}
|
||||
|
||||
btn.text(txt + ' ▼');
|
||||
},
|
||||
|
||||
_pluralSummaryTxt: function(cnt) {
|
||||
var all_aspects_cnt = this.dropdown.find('li').length;
|
||||
|
||||
if( cnt === 1 ) {
|
||||
return this.dropdown.find('li.selected').first().text();
|
||||
}
|
||||
|
||||
if( cnt === all_aspects_cnt ) {
|
||||
return Diaspora.I18n.t('aspect_dropdown.all_aspects');
|
||||
}
|
||||
|
||||
return Diaspora.I18n.t('aspect_dropdown.toggle', { 'count':cnt.toString() });
|
||||
}
|
||||
});
|
||||
// @license-end
|
||||
|
||||
|
|
@ -27,7 +27,6 @@ app.views.Contact = app.views.Base.extend({
|
|||
|
||||
// TODO render me client side!!!
|
||||
var href = this.model.person.url() + '/aspect_membership_button?size=small';
|
||||
if( gon.bootstrap ) href += '&bootstrap=true';
|
||||
|
||||
$.get(href, function(resp) {
|
||||
dropdownEl.html(resp);
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ app.views.OEmbed = app.views.Base.extend({
|
|||
clickedThumb = $(evt.target);
|
||||
} else {
|
||||
clickedThumb = $(evt.target).parent(".thumb");
|
||||
}
|
||||
}
|
||||
var insertHTML = $(app.helpers.oEmbed.html(this.model.get("o_embed_cache")));
|
||||
var paramSeparator = ( /\?/.test(insertHTML.attr("src")) ) ? "&" : "?";
|
||||
insertHTML.attr("src", insertHTML.attr("src") + paramSeparator + "autoplay=1&wmode=opaque");
|
||||
|
|
|
|||
|
|
@ -123,9 +123,6 @@ app.views.Hovercard = app.views.Base.extend({
|
|||
// TODO render me client side!!!
|
||||
var href = this.href();
|
||||
href += "/aspect_membership_button";
|
||||
if(gon.bootstrap === true){
|
||||
href += "?bootstrap=true";
|
||||
}
|
||||
$.get(href, function(response) {
|
||||
self.dropdown_container.html(response);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ app.views.ProfileHeader = app.views.Base.extend({
|
|||
|
||||
// TODO render me client side!!!
|
||||
var href = this.model.url() + '/aspect_membership_button?create=true&size=normal';
|
||||
if( gon.bootstrap ) href += '&bootstrap=true';
|
||||
|
||||
$.get(href, function(resp) {
|
||||
dropdownEl.html(resp);
|
||||
|
|
|
|||
|
|
@ -1,94 +0,0 @@
|
|||
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
|
||||
|
||||
/* Copyright (c) 2010-2012, Diaspora Inc. This file is
|
||||
* licensed under the Affero General Public License version 3 or later. See
|
||||
* the COPYRIGHT file.
|
||||
*/
|
||||
|
||||
// Aspects view for the publisher.
|
||||
// Provides the ability to specify the visibility of posted content as public
|
||||
// or limited to selected aspects
|
||||
app.views.PublisherAspectSelectorBlueprint = Backbone.View.extend({
|
||||
/* global AspectsDropdown */
|
||||
|
||||
events: {
|
||||
"click .dropdown_list > li": "toggleAspect"
|
||||
},
|
||||
|
||||
initialize: function(opts) {
|
||||
this.form = opts.form;
|
||||
},
|
||||
|
||||
// event handler for aspect selection
|
||||
toggleAspect: function(evt) {
|
||||
var el = $(evt.target);
|
||||
|
||||
// visually toggle the aspect selection
|
||||
if( el.is('.radio') ) {
|
||||
AspectsDropdown.toggleRadio(el);
|
||||
} else {
|
||||
AspectsDropdown.toggleCheckbox(el);
|
||||
}
|
||||
|
||||
// update the selection summary
|
||||
this._updateAspectsNumber(el);
|
||||
this._updateSelectedAspectIds();
|
||||
},
|
||||
|
||||
// select a (list of) aspects in the dropdown selector by the given list of ids
|
||||
updateAspectsSelector: function(ids){
|
||||
var el = this.$("ul.dropdown_list");
|
||||
this.$('.dropdown_list > li').each(function(){
|
||||
var el = $(this);
|
||||
var aspectId = el.data('aspect_id');
|
||||
if (_.contains(ids, aspectId)) {
|
||||
el.addClass('selected');
|
||||
}
|
||||
else {
|
||||
el.removeClass('selected');
|
||||
}
|
||||
});
|
||||
|
||||
this._updateAspectsNumber(el);
|
||||
this._updateSelectedAspectIds();
|
||||
},
|
||||
|
||||
// take care of the form fields that will indicate the selected aspects
|
||||
_updateSelectedAspectIds: function() {
|
||||
var self = this;
|
||||
|
||||
// remove previous selection
|
||||
this.form.find('input[name="aspect_ids[]"]').remove();
|
||||
|
||||
// create fields for current selection
|
||||
this.$('.dropdown_list li.selected').each(function() {
|
||||
var el = $(this);
|
||||
var aspectId = el.data('aspect_id');
|
||||
|
||||
self._addHiddenAspectInput(aspectId);
|
||||
|
||||
// close the dropdown when a radio item was selected
|
||||
if( el.is('.radio') ) {
|
||||
el.closest('.dropdown').removeClass('active');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
_updateAspectsNumber: function(el){
|
||||
AspectsDropdown.updateNumber(
|
||||
el.closest(".dropdown_list"),
|
||||
null,
|
||||
el.parent().find('li.selected').length,
|
||||
''
|
||||
);
|
||||
},
|
||||
|
||||
_addHiddenAspectInput: function(id) {
|
||||
var uid = _.uniqueId('aspect_ids_');
|
||||
this.form.append(
|
||||
'<input id="'+uid+'" name="aspect_ids[]" type="hidden" value="'+id+'">'
|
||||
);
|
||||
}
|
||||
});
|
||||
// @license-end
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
/*
|
||||
//= require vendor/blueprint/screen
|
||||
*/
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
@import 'bootstrap-fix';
|
||||
|
||||
@import 'perfect-scrollbar';
|
||||
|
||||
@import "colors";
|
||||
@import 'mixins';
|
||||
@import 'new_styles/new_mixins';
|
||||
@import 'new_styles/variables';
|
||||
|
||||
/* core */
|
||||
@import 'flash_messages';
|
||||
@import 'sprites';
|
||||
|
||||
@import 'new_styles/base';
|
||||
@import 'new_styles/buttons';
|
||||
@import 'new_styles/interactions';
|
||||
@import 'new_styles/spinner';
|
||||
|
||||
/* font overrides */
|
||||
@import 'new_styles/typography';
|
||||
|
||||
/* login */
|
||||
@import 'new_styles/login';
|
||||
@import 'new_styles/registration';
|
||||
@import 'new_styles/landing';
|
||||
|
||||
@import 'new_styles/forms';
|
||||
|
||||
/* navs */
|
||||
@import 'new_styles/navs';
|
||||
|
||||
/* profile and settings pages */
|
||||
@import 'new_styles/settings';
|
||||
|
||||
/* new SPV */
|
||||
@import 'header';
|
||||
@import 'footer';
|
||||
@import 'bootstrap-headerfix';
|
||||
@import 'opengraph';
|
||||
@import 'single-post-view';
|
||||
@import 'new_styles/poll';
|
||||
|
||||
/* conversations */
|
||||
@import 'conversations';
|
||||
@import 'facebox';
|
||||
|
||||
/* publisher */
|
||||
@import 'publisher';
|
||||
@import 'aspects';
|
||||
|
||||
/* bookmarklet */
|
||||
@import 'bookmarklet';
|
||||
|
||||
/* notifications */
|
||||
@import 'notifications';
|
||||
|
||||
/* help */
|
||||
@import 'help';
|
||||
|
||||
/* getting started */
|
||||
@import 'getting-started';
|
||||
|
||||
/* people */
|
||||
@import 'people';
|
||||
@import 'invitations';
|
||||
@import 'profile';
|
||||
|
||||
/* stream */
|
||||
@import 'tag';
|
||||
@import 'stream-faces';
|
||||
@import 'stream';
|
||||
@import 'stream_element';
|
||||
@import 'comments';
|
||||
|
||||
/* right bar */
|
||||
@import 'sidebar';
|
||||
|
||||
/* contacts */
|
||||
@import 'contacts';
|
||||
@import 'leftnavbar';
|
||||
|
||||
/* code */
|
||||
@import 'new_styles/code';
|
||||
|
||||
/* statistics */
|
||||
@import 'new_styles/statistics'
|
||||
|
|
@ -29,29 +29,3 @@
|
|||
}
|
||||
|
||||
.btn.delete { color: desaturate($red,10%); }
|
||||
|
||||
// TODO remove this when everything has been ported to Bootstrap
|
||||
.button.creation {
|
||||
$button-border-color: #aaa;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 1px #cfcfcf;
|
||||
@include transition(border);
|
||||
@include button-gradient($creation-blue);
|
||||
font: {
|
||||
size: 12px;
|
||||
}
|
||||
color: #fff;
|
||||
padding: 4px 9px;
|
||||
min-width: 90px;
|
||||
min-height: 10px;
|
||||
border: 1px solid darken($button-border-color,20%);
|
||||
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
|
||||
&:hover {
|
||||
@include button-gradient-hover($creation-blue);
|
||||
border: 1px solid darken($button-border-color,35%);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,4 +84,4 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
h1. Blueprint CSS Framework Authors and Contributors
|
||||
|
||||
Blueprint is based on the work of many talented people. It is
|
||||
through their good intentions we are allowed to use many of the
|
||||
techniques found in the framework.
|
||||
|
||||
h2. Current Team
|
||||
|
||||
Blueprint was realized and maintained through version 0.7.1 by
|
||||
"Olav Bjorkoy":http://bjorkoy.com who has sinced passed the torch
|
||||
to the current team. They are:
|
||||
|
||||
Admins:
|
||||
* "Christian Montoya":http://christianmontoya.net
|
||||
* "Josh Clayton":http://jdclayton.com
|
||||
|
||||
Contributors:
|
||||
* "Glenn Rempe":http://blog.rempe.us/
|
||||
* "Chris Eppstein":http://twitter.com/chriseppstein
|
||||
* "Sean K. Stewart":http://seankstewart.com/
|
||||
|
||||
h2. Original CSS authors
|
||||
|
||||
The first iteration of Blueprint was built upon many conventions
|
||||
and ideas that were developed by true CSS experts.
|
||||
|
||||
The grid and typography is based on work by:
|
||||
* "Jeff Croft":http://jeffcroft.com
|
||||
* "Nathan Borror":http://www.playgroundblues.com
|
||||
* "Christian Metts":http://mintchaos.com
|
||||
* "Wilson Miner":http://www.wilsonminer.com
|
||||
|
||||
The CSS reset is based on work by:
|
||||
* "Eric Meyer":http://www.meyerweb.com/eric
|
||||
|
||||
The Fancy Type plugin is based on work by:
|
||||
* "Mark Boulton":http://www.markboulton.co.uk
|
||||
* "Typogrify":http://typogrify.googlecode.com
|
||||
|
||||
(However, remember that these people are not involved with the
|
||||
framework, so please don't waste their or your time asking them
|
||||
for support.)
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
Copyright (c) 2007 - 2010 blueprintcss.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
35
app/assets/stylesheets/vendor/blueprint/ie.css
vendored
|
|
@ -1,35 +0,0 @@
|
|||
/* -----------------------------------------------------------------------
|
||||
|
||||
|
||||
Blueprint CSS Framework 0.9
|
||||
http://blueprintcss.org
|
||||
|
||||
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||
* See README for instructions on how to use Blueprint.
|
||||
* For credits and origins, see AUTHORS.
|
||||
* This is a compressed file. See the sources in the 'src' directory.
|
||||
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
/* ie.css */
|
||||
body {text-align:center;}
|
||||
.container {text-align:left;}
|
||||
* html .column, * html .span-1, * html .span-2, * html .span-3, * html .span-4, * html .span-5, * html .span-6, * html .span-7, * html .span-8, * html .span-9, * html .span-10, * html .span-11, * html .span-12, * html .span-13, * html .span-14, * html .span-15, * html .span-16, * html .span-17, * html .span-18, * html .span-19, * html .span-20, * html .span-21, * html .span-22, * html .span-23, * html .span-24 {display:inline;overflow-x:hidden;}
|
||||
* html legend {margin:0px -8px 16px 0;padding:0;}
|
||||
sup {vertical-align:text-top;}
|
||||
sub {vertical-align:text-bottom;}
|
||||
html>body p code {*white-space:normal;}
|
||||
hr {margin:-8px auto 11px;}
|
||||
img {-ms-interpolation-mode:bicubic;}
|
||||
.clearfix, .container {display:inline-block;}
|
||||
* html .clearfix, * html .container {height:1%;}
|
||||
fieldset {padding-top:0;}
|
||||
textarea {overflow:auto;}
|
||||
input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;}
|
||||
input.text:focus, input.title:focus {border-color:#666;}
|
||||
input.text, input.title, textarea, select {margin:0.5em 0;}
|
||||
input.checkbox, input.radio {position:relative;top:.25em;}
|
||||
form.inline div, form.inline p {vertical-align:middle;}
|
||||
form.inline label {position:relative;top:-0.25em;}
|
||||
form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;}
|
||||
button, input.button {position:relative;top:0.25em;}
|
||||
|
Before Width: | Height: | Size: 655 B |
|
Before Width: | Height: | Size: 455 B |
|
Before Width: | Height: | Size: 537 B |
|
|
@ -1,32 +0,0 @@
|
|||
Buttons
|
||||
|
||||
* Gives you great looking CSS buttons, for both <a> and <button>.
|
||||
* Demo: particletree.com/features/rediscovering-the-button-element
|
||||
|
||||
|
||||
Credits
|
||||
----------------------------------------------------------------
|
||||
|
||||
* Created by Kevin Hale [particletree.com]
|
||||
* Adapted for Blueprint by Olav Bjorkoy [bjorkoy.com]
|
||||
|
||||
|
||||
Usage
|
||||
----------------------------------------------------------------
|
||||
|
||||
1) Add this plugin to lib/settings.yml.
|
||||
See compress.rb for instructions.
|
||||
|
||||
2) Use the following HTML code to place the buttons on your site:
|
||||
|
||||
<button type="submit" class="button positive">
|
||||
<img src="css/blueprint/plugins/buttons/icons/tick.png" alt=""/> Save
|
||||
</button>
|
||||
|
||||
<a class="button" href="/password/reset/">
|
||||
<img src="css/blueprint/plugins/buttons/icons/key.png" alt=""/> Change Password
|
||||
</a>
|
||||
|
||||
<a href="#" class="button negative">
|
||||
<img src="css/blueprint/plugins/buttons/icons/cross.png" alt=""/> Cancel
|
||||
</a>
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
buttons.css
|
||||
* Gives you some great CSS-only buttons.
|
||||
|
||||
Created by Kevin Hale [particletree.com]
|
||||
* particletree.com/features/rediscovering-the-button-element
|
||||
|
||||
See Readme.txt in this folder for instructions.
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
a.button, button {
|
||||
display:block;
|
||||
float:left;
|
||||
margin: 0.7em 0.5em 0.7em 0;
|
||||
padding:5px 10px 5px 7px; /* Links */
|
||||
|
||||
border:1px solid #dedede;
|
||||
border-top:1px solid #eee;
|
||||
border-left:1px solid #eee;
|
||||
|
||||
background-color:#f5f5f5;
|
||||
font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
|
||||
font-size:100%;
|
||||
line-height:130%;
|
||||
text-decoration:none;
|
||||
font-weight:bold;
|
||||
color:#565656;
|
||||
cursor:pointer;
|
||||
}
|
||||
button {
|
||||
width:auto;
|
||||
overflow:visible;
|
||||
padding:4px 10px 3px 7px; /* IE6 */
|
||||
}
|
||||
button[type] {
|
||||
padding:4px 10px 4px 7px; /* Firefox */
|
||||
line-height:17px; /* Safari */
|
||||
}
|
||||
*:first-child+html button[type] {
|
||||
padding:4px 10px 3px 7px; /* IE7 */
|
||||
}
|
||||
button img, a.button img{
|
||||
margin:0 3px -3px 0 !important;
|
||||
padding:0;
|
||||
border:none;
|
||||
width:16px;
|
||||
height:16px;
|
||||
float:none;
|
||||
}
|
||||
|
||||
|
||||
/* Button colors
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Standard */
|
||||
button:hover, a.button:hover{
|
||||
background-color:#dff4ff;
|
||||
border:1px solid #c2e1ef;
|
||||
color:#336699;
|
||||
}
|
||||
a.button:active{
|
||||
background-color:#6299c5;
|
||||
border:1px solid #6299c5;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
/* Positive */
|
||||
body .positive {
|
||||
color:#529214;
|
||||
}
|
||||
a.positive:hover, button.positive:hover {
|
||||
background-color:#E6EFC2;
|
||||
border:1px solid #C6D880;
|
||||
color:#529214;
|
||||
}
|
||||
a.positive:active {
|
||||
background-color:#529214;
|
||||
border:1px solid #529214;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
/* Negative */
|
||||
body .negative {
|
||||
color:#d12f19;
|
||||
}
|
||||
a.negative:hover, button.negative:hover {
|
||||
background-color:#fbe3e4;
|
||||
border:1px solid #fbc2c4;
|
||||
color:#d12f19;
|
||||
}
|
||||
a.negative:active {
|
||||
background-color:#d12f19;
|
||||
border:1px solid #d12f19;
|
||||
color:#fff;
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
Fancy Type
|
||||
|
||||
* Gives you classes to use if you'd like some
|
||||
extra fancy typography.
|
||||
|
||||
Credits and instructions are specified above each class
|
||||
in the fancy-type.css file in this directory.
|
||||
|
||||
|
||||
Usage
|
||||
----------------------------------------------------------------
|
||||
|
||||
1) Add this plugin to lib/settings.yml.
|
||||
See compress.rb for instructions.
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
fancy-type.css
|
||||
* Lots of pretty advanced classes for manipulating text.
|
||||
|
||||
See the Readme file in this folder for additional instructions.
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Indentation instead of line shifts for sibling paragraphs. */
|
||||
p + p { text-indent:2em; margin-top:-1.5em; }
|
||||
form p + p { text-indent: 0; } /* Don't want this in forms. */
|
||||
|
||||
|
||||
/* For great looking type, use this code instead of asdf:
|
||||
<span class="alt">asdf</span>
|
||||
Best used on prepositions and ampersands. */
|
||||
|
||||
.alt {
|
||||
color: #666;
|
||||
font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif;
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
/* For great looking quote marks in titles, replace "asdf" with:
|
||||
<span class="dquo">“</span>asdf”
|
||||
(That is, when the title starts with a quote mark).
|
||||
(You may have to change this value depending on your font size). */
|
||||
|
||||
.dquo { margin-left: -.5em; }
|
||||
|
||||
|
||||
/* Reduced size type with incremental leading
|
||||
(http://www.markboulton.co.uk/journal/comments/incremental_leading/)
|
||||
|
||||
This could be used for side notes. For smaller type, you don't necessarily want to
|
||||
follow the 1.5x vertical rhythm -- the line-height is too much.
|
||||
|
||||
Using this class, it reduces your font size and line-height so that for
|
||||
every four lines of normal sized type, there is five lines of the sidenote. eg:
|
||||
|
||||
New type size in em's:
|
||||
10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems)
|
||||
|
||||
New line-height value:
|
||||
12px x 1.5 = 18px (old line-height)
|
||||
18px x 4 = 72px
|
||||
72px / 5 = 14.4px (new line height)
|
||||
14.4px / 10px = 1.44 (new line height in em's) */
|
||||
|
||||
p.incr, .incr p {
|
||||
font-size: 10px;
|
||||
line-height: 1.44em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
|
||||
|
||||
/* Surround uppercase words and abbreviations with this class.
|
||||
Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */
|
||||
|
||||
.caps {
|
||||
font-variant: small-caps;
|
||||
letter-spacing: 1px;
|
||||
text-transform: lowercase;
|
||||
font-size:1.2em;
|
||||
line-height:1%;
|
||||
font-weight:bold;
|
||||
padding:0 2px;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 777 B |
|
Before Width: | Height: | Size: 641 B |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 691 B |
|
Before Width: | Height: | Size: 741 B |
|
Before Width: | Height: | Size: 591 B |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 663 B |
|
|
@ -1,18 +0,0 @@
|
|||
Link Icons
|
||||
* Icons for links based on protocol or file type.
|
||||
|
||||
This is not supported in IE versions < 7.
|
||||
|
||||
|
||||
Credits
|
||||
----------------------------------------------------------------
|
||||
|
||||
* Marc Morgan
|
||||
* Olav Bjorkoy [bjorkoy.com]
|
||||
|
||||
|
||||
Usage
|
||||
----------------------------------------------------------------
|
||||
|
||||
1) Add this line to your HTML:
|
||||
<link rel="stylesheet" href="css/blueprint/plugins/link-icons/screen.css" type="text/css" media="screen, projection">
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
link-icons.css
|
||||
* Icons for links based on protocol or file type.
|
||||
|
||||
See the Readme file in this folder for additional instructions.
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Use this class if a link gets an icon when it shouldn't. */
|
||||
body a.noicon {
|
||||
background:transparent none !important;
|
||||
padding:0 !important;
|
||||
margin:0 !important;
|
||||
}
|
||||
|
||||
/* Make sure the icons are not cut */
|
||||
a[href^="http:"], a[href^="mailto:"], a[href^="http:"]:visited,
|
||||
a[href$=".pdf"], a[href$=".doc"], a[href$=".xls"], a[href$=".rss"],
|
||||
a[href$=".rdf"], a[href^="aim:"] {
|
||||
padding:2px 22px 2px 0;
|
||||
margin:-2px 0;
|
||||
background-repeat: no-repeat;
|
||||
background-position: right center;
|
||||
}
|
||||
|
||||
/* External links */
|
||||
a[href^="http:"] { background-image: url(icons/external.png); }
|
||||
a[href^="mailto:"] { background-image: url(icons/email.png); }
|
||||
a[href^="http:"]:visited { background-image: url(icons/visited.png); }
|
||||
|
||||
/* Files */
|
||||
a[href$=".pdf"] { background-image: url(icons/pdf.png); }
|
||||
a[href$=".doc"] { background-image: url(icons/doc.png); }
|
||||
a[href$=".xls"] { background-image: url(icons/xls.png); }
|
||||
|
||||
/* Misc */
|
||||
a[href$=".rss"],
|
||||
a[href$=".rdf"] { background-image: url(icons/feed.png); }
|
||||
a[href^="aim:"] { background-image: url(icons/im.png); }
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
RTL
|
||||
* Mirrors Blueprint, so it can be used with Right-to-Left languages.
|
||||
|
||||
By Ran Yaniv Hartstein, ranh.co.il
|
||||
|
||||
Usage
|
||||
----------------------------------------------------------------
|
||||
|
||||
1) Add this line to your HTML:
|
||||
<link rel="stylesheet" href="css/blueprint/plugins/rtl/screen.css" type="text/css" media="screen, projection">
|
||||
|
|
@ -1,110 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
rtl.css
|
||||
* Mirrors Blueprint for left-to-right languages
|
||||
|
||||
By Ran Yaniv Hartstein [ranh.co.il]
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
body .container { direction: rtl; }
|
||||
body .column, body .span-1, body .span-2, body .span-3, body .span-4, body .span-5, body .span-6, body .span-7, body .span-8, body .span-9, body .span-10, body .span-11, body .span-12, body .span-13, body .span-14, body .span-15, body .span-16, body .span-17, body .span-18, body .span-19, body .span-20, body .span-21, body .span-22, body .span-23, body .span-24 {
|
||||
float: right;
|
||||
margin-right: 0;
|
||||
margin-left: 10px;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
body div.last { margin-left: 0; }
|
||||
body table .last { padding-left: 0; }
|
||||
|
||||
body .append-1 { padding-right: 0; padding-left: 40px; }
|
||||
body .append-2 { padding-right: 0; padding-left: 80px; }
|
||||
body .append-3 { padding-right: 0; padding-left: 120px; }
|
||||
body .append-4 { padding-right: 0; padding-left: 160px; }
|
||||
body .append-5 { padding-right: 0; padding-left: 200px; }
|
||||
body .append-6 { padding-right: 0; padding-left: 240px; }
|
||||
body .append-7 { padding-right: 0; padding-left: 280px; }
|
||||
body .append-8 { padding-right: 0; padding-left: 320px; }
|
||||
body .append-9 { padding-right: 0; padding-left: 360px; }
|
||||
body .append-10 { padding-right: 0; padding-left: 400px; }
|
||||
body .append-11 { padding-right: 0; padding-left: 440px; }
|
||||
body .append-12 { padding-right: 0; padding-left: 480px; }
|
||||
body .append-13 { padding-right: 0; padding-left: 520px; }
|
||||
body .append-14 { padding-right: 0; padding-left: 560px; }
|
||||
body .append-15 { padding-right: 0; padding-left: 600px; }
|
||||
body .append-16 { padding-right: 0; padding-left: 640px; }
|
||||
body .append-17 { padding-right: 0; padding-left: 680px; }
|
||||
body .append-18 { padding-right: 0; padding-left: 720px; }
|
||||
body .append-19 { padding-right: 0; padding-left: 760px; }
|
||||
body .append-20 { padding-right: 0; padding-left: 800px; }
|
||||
body .append-21 { padding-right: 0; padding-left: 840px; }
|
||||
body .append-22 { padding-right: 0; padding-left: 880px; }
|
||||
body .append-23 { padding-right: 0; padding-left: 920px; }
|
||||
|
||||
body .prepend-1 { padding-left: 0; padding-right: 40px; }
|
||||
body .prepend-2 { padding-left: 0; padding-right: 80px; }
|
||||
body .prepend-3 { padding-left: 0; padding-right: 120px; }
|
||||
body .prepend-4 { padding-left: 0; padding-right: 160px; }
|
||||
body .prepend-5 { padding-left: 0; padding-right: 200px; }
|
||||
body .prepend-6 { padding-left: 0; padding-right: 240px; }
|
||||
body .prepend-7 { padding-left: 0; padding-right: 280px; }
|
||||
body .prepend-8 { padding-left: 0; padding-right: 320px; }
|
||||
body .prepend-9 { padding-left: 0; padding-right: 360px; }
|
||||
body .prepend-10 { padding-left: 0; padding-right: 400px; }
|
||||
body .prepend-11 { padding-left: 0; padding-right: 440px; }
|
||||
body .prepend-12 { padding-left: 0; padding-right: 480px; }
|
||||
body .prepend-13 { padding-left: 0; padding-right: 520px; }
|
||||
body .prepend-14 { padding-left: 0; padding-right: 560px; }
|
||||
body .prepend-15 { padding-left: 0; padding-right: 600px; }
|
||||
body .prepend-16 { padding-left: 0; padding-right: 640px; }
|
||||
body .prepend-17 { padding-left: 0; padding-right: 680px; }
|
||||
body .prepend-18 { padding-left: 0; padding-right: 720px; }
|
||||
body .prepend-19 { padding-left: 0; padding-right: 760px; }
|
||||
body .prepend-20 { padding-left: 0; padding-right: 800px; }
|
||||
body .prepend-21 { padding-left: 0; padding-right: 840px; }
|
||||
body .prepend-22 { padding-left: 0; padding-right: 880px; }
|
||||
body .prepend-23 { padding-left: 0; padding-right: 920px; }
|
||||
|
||||
body .border {
|
||||
padding-right: 0;
|
||||
padding-left: 4px;
|
||||
margin-right: 0;
|
||||
margin-left: 5px;
|
||||
border-right: none;
|
||||
border-left: 1px solid #eee;
|
||||
}
|
||||
|
||||
body .colborder {
|
||||
padding-right: 0;
|
||||
padding-left: 24px;
|
||||
margin-right: 0;
|
||||
margin-left: 25px;
|
||||
border-right: none;
|
||||
border-left: 1px solid #eee;
|
||||
}
|
||||
|
||||
body .pull-1 { margin-left: 0; margin-right: -40px; }
|
||||
body .pull-2 { margin-left: 0; margin-right: -80px; }
|
||||
body .pull-3 { margin-left: 0; margin-right: -120px; }
|
||||
body .pull-4 { margin-left: 0; margin-right: -160px; }
|
||||
|
||||
body .push-0 { margin: 0 18px 0 0; }
|
||||
body .push-1 { margin: 0 18px 0 -40px; }
|
||||
body .push-2 { margin: 0 18px 0 -80px; }
|
||||
body .push-3 { margin: 0 18px 0 -120px; }
|
||||
body .push-4 { margin: 0 18px 0 -160px; }
|
||||
body .push-0, body .push-1, body .push-2,
|
||||
body .push-3, body .push-4 { float: left; }
|
||||
|
||||
|
||||
/* Typography with RTL support */
|
||||
body h1,body h2,body h3,
|
||||
body h4,body h5,body h6 { font-family: Arial, sans-serif; }
|
||||
html body { font-family: Arial, sans-serif; }
|
||||
body pre,body code,body tt { font-family: monospace; }
|
||||
|
||||
/* Mirror floats and margins on typographic elements */
|
||||
body p img { float: right; margin: 1.5em 0 1.5em 1.5em; }
|
||||
body dd, body ul, body ol { margin-left: 0; margin-right: 1.5em;}
|
||||
body td, body th { text-align:right; }
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
/* -----------------------------------------------------------------------
|
||||
|
||||
|
||||
Blueprint CSS Framework 0.9
|
||||
http://blueprintcss.org
|
||||
|
||||
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||
* See README for instructions on how to use Blueprint.
|
||||
* For credits and origins, see AUTHORS.
|
||||
* This is a compressed file. See the sources in the 'src' directory.
|
||||
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
/* print.css */
|
||||
body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
|
||||
.container {background:none;}
|
||||
hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
|
||||
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||
h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
|
||||
code {font:.9em "Courier New", Monaco, Courier, monospace;}
|
||||
a img {border:none;}
|
||||
p img.top {margin-top:0;}
|
||||
blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
|
||||
.small {font-size:.9em;}
|
||||
.large {font-size:1.1em;}
|
||||
.quiet {color:#999;}
|
||||
.hide {display:none;}
|
||||
a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
|
||||
a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}
|
||||
258
app/assets/stylesheets/vendor/blueprint/screen.css
vendored
|
|
@ -1,258 +0,0 @@
|
|||
/* -----------------------------------------------------------------------
|
||||
|
||||
|
||||
Blueprint CSS Framework 0.9
|
||||
http://blueprintcss.org
|
||||
|
||||
* Copyright (c) 2007-Present. See LICENSE for more info.
|
||||
* See README for instructions on how to use Blueprint.
|
||||
* For credits and origins, see AUTHORS.
|
||||
* This is a compressed file. See the sources in the 'src' directory.
|
||||
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
/* reset.css */
|
||||
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
|
||||
article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
|
||||
body {line-height:1.5;}
|
||||
table {border-collapse:separate;border-spacing:0;}
|
||||
caption, th, td {text-align:left;font-weight:normal;}
|
||||
table, td, th {vertical-align:middle;}
|
||||
blockquote:before, blockquote:after, q:before, q:after {content:"";}
|
||||
blockquote, q {quotes:"" "";}
|
||||
a img {border:none;}
|
||||
|
||||
/* typography.css */
|
||||
html {font-size:100.01%;}
|
||||
body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica", Arial, sans-serif;}
|
||||
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
|
||||
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
|
||||
h2 {font-size:2em;margin-bottom:0.75em;}
|
||||
h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
|
||||
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
|
||||
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
|
||||
h6 {font-size:1em;font-weight:bold;}
|
||||
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
|
||||
p {margin:0 0 1.5em;}
|
||||
p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
|
||||
p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
|
||||
a:focus, a:hover {color:#000;}
|
||||
a {color:#009;text-decoration:underline;}
|
||||
blockquote {margin:1.5em;color:#666;font-style:italic;}
|
||||
strong {font-weight:bold;}
|
||||
em, dfn {font-style:italic;}
|
||||
dfn {font-weight:bold;}
|
||||
sup, sub {line-height:0;}
|
||||
abbr, acronym {border-bottom:1px dotted #666;}
|
||||
address {margin:0 0 1.5em;font-style:italic;}
|
||||
del {color:#666;}
|
||||
pre {margin:1.5em 0;white-space:pre;}
|
||||
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;overflow:auto;}
|
||||
li ul, li ol {margin:0;}
|
||||
ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
|
||||
ul {list-style-type:disc;}
|
||||
ol {list-style-type:decimal;}
|
||||
dl {margin:0 0 1.5em 0;}
|
||||
dl dt {font-weight:bold;}
|
||||
dd {margin-left:1.5em;}
|
||||
table {margin-bottom:1.4em;width:100%;}
|
||||
th {font-weight:bold;}
|
||||
thead th {background:#c3d9ff;}
|
||||
th, td, caption {padding:4px 10px 4px 5px;}
|
||||
tr.even td {background:#e5ecf9;}
|
||||
tfoot {font-style:italic;}
|
||||
caption {background:#eee;}
|
||||
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
|
||||
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
|
||||
.hide {display:none;}
|
||||
.quiet {color:#666;}
|
||||
.loud {color:#000;}
|
||||
.highlight {background:#ff0;}
|
||||
.added {background:#060;color:#fff;}
|
||||
.removed {background:#900;color:#fff;}
|
||||
.first {margin-left:0;padding-left:0;}
|
||||
.last {margin-right:0;padding-right:0;}
|
||||
.top {margin-top:0;padding-top:0;}
|
||||
.bottom {margin-bottom:0;padding-bottom:0;}
|
||||
|
||||
/* forms.css */
|
||||
label {font-weight:bold;}
|
||||
fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
|
||||
legend {font-weight:bold;font-size:1.2em;}
|
||||
input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
|
||||
input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
|
||||
input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
|
||||
input.text, input.title {width:300px;padding:5px;}
|
||||
input.title {font-size:1.5em;}
|
||||
textarea {width:390px;height:250px;padding:5px;}
|
||||
input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
|
||||
form.inline {line-height:3;}
|
||||
form.inline p {margin-bottom:0;}
|
||||
.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
|
||||
.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
|
||||
.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
|
||||
.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
|
||||
.error a {color:#8a1f11;}
|
||||
.notice a {color:#514721;}
|
||||
.success a {color:#264409;}
|
||||
|
||||
/* grid.css */
|
||||
.container {width:950px;margin:0 auto;}
|
||||
.showgrid {background:url(src/grid.png);}
|
||||
.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;}
|
||||
.last {margin-right:0;}
|
||||
.span-1 {width:30px;}
|
||||
.span-2 {width:70px;}
|
||||
.span-3 {width:110px;}
|
||||
.span-4 {width:150px;}
|
||||
.span-5 {width:190px;}
|
||||
.span-6 {width:230px;}
|
||||
.span-7 {width:270px;}
|
||||
.span-8 {width:310px;}
|
||||
.span-9 {width:350px;}
|
||||
.span-10 {width:390px;}
|
||||
.span-11 {width:430px;}
|
||||
.span-12 {width:470px;}
|
||||
.span-13 {width:510px;}
|
||||
.span-14 {width:550px;}
|
||||
.span-15 {width:590px;}
|
||||
.span-16 {width:630px;}
|
||||
.span-17 {width:670px;}
|
||||
.span-18 {width:710px;}
|
||||
.span-19 {width:750px;}
|
||||
.span-20 {width:790px;}
|
||||
.span-21 {width:830px;}
|
||||
.span-22 {width:870px;}
|
||||
.span-23 {width:910px;}
|
||||
.span-24 {width:950px;margin-right:0;}
|
||||
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px;border-right-width:1px;padding-left:5px;padding-right:5px;}
|
||||
input.span-1, textarea.span-1 {width:18px;}
|
||||
input.span-2, textarea.span-2 {width:58px;}
|
||||
input.span-3, textarea.span-3 {width:98px;}
|
||||
input.span-4, textarea.span-4 {width:138px;}
|
||||
input.span-5, textarea.span-5 {width:178px;}
|
||||
input.span-6, textarea.span-6 {width:218px;}
|
||||
input.span-7, textarea.span-7 {width:258px;}
|
||||
input.span-8, textarea.span-8 {width:298px;}
|
||||
input.span-9, textarea.span-9 {width:338px;}
|
||||
input.span-10, textarea.span-10 {width:378px;}
|
||||
input.span-11, textarea.span-11 {width:418px;}
|
||||
input.span-12, textarea.span-12 {width:458px;}
|
||||
input.span-13, textarea.span-13 {width:498px;}
|
||||
input.span-14, textarea.span-14 {width:538px;}
|
||||
input.span-15, textarea.span-15 {width:578px;}
|
||||
input.span-16, textarea.span-16 {width:618px;}
|
||||
input.span-17, textarea.span-17 {width:658px;}
|
||||
input.span-18, textarea.span-18 {width:698px;}
|
||||
input.span-19, textarea.span-19 {width:738px;}
|
||||
input.span-20, textarea.span-20 {width:778px;}
|
||||
input.span-21, textarea.span-21 {width:818px;}
|
||||
input.span-22, textarea.span-22 {width:858px;}
|
||||
input.span-23, textarea.span-23 {width:898px;}
|
||||
input.span-24, textarea.span-24 {width:938px;}
|
||||
.append-1 {padding-right:40px;}
|
||||
.append-2 {padding-right:80px;}
|
||||
.append-3 {padding-right:120px;}
|
||||
.append-4 {padding-right:160px;}
|
||||
.append-5 {padding-right:200px;}
|
||||
.append-6 {padding-right:240px;}
|
||||
.append-7 {padding-right:280px;}
|
||||
.append-8 {padding-right:320px;}
|
||||
.append-9 {padding-right:360px;}
|
||||
.append-10 {padding-right:400px;}
|
||||
.append-11 {padding-right:440px;}
|
||||
.append-12 {padding-right:480px;}
|
||||
.append-13 {padding-right:520px;}
|
||||
.append-14 {padding-right:560px;}
|
||||
.append-15 {padding-right:600px;}
|
||||
.append-16 {padding-right:640px;}
|
||||
.append-17 {padding-right:680px;}
|
||||
.append-18 {padding-right:720px;}
|
||||
.append-19 {padding-right:760px;}
|
||||
.append-20 {padding-right:800px;}
|
||||
.append-21 {padding-right:840px;}
|
||||
.append-22 {padding-right:880px;}
|
||||
.append-23 {padding-right:920px;}
|
||||
.prepend-1 {padding-left:40px;}
|
||||
.prepend-2 {padding-left:80px;}
|
||||
.prepend-3 {padding-left:120px;}
|
||||
.prepend-4 {padding-left:160px;}
|
||||
.prepend-5 {padding-left:200px;}
|
||||
.prepend-6 {padding-left:240px;}
|
||||
.prepend-7 {padding-left:280px;}
|
||||
.prepend-8 {padding-left:320px;}
|
||||
.prepend-9 {padding-left:360px;}
|
||||
.prepend-10 {padding-left:400px;}
|
||||
.prepend-11 {padding-left:440px;}
|
||||
.prepend-12 {padding-left:480px;}
|
||||
.prepend-13 {padding-left:520px;}
|
||||
.prepend-14 {padding-left:560px;}
|
||||
.prepend-15 {padding-left:600px;}
|
||||
.prepend-16 {padding-left:640px;}
|
||||
.prepend-17 {padding-left:680px;}
|
||||
.prepend-18 {padding-left:720px;}
|
||||
.prepend-19 {padding-left:760px;}
|
||||
.prepend-20 {padding-left:800px;}
|
||||
.prepend-21 {padding-left:840px;}
|
||||
.prepend-22 {padding-left:880px;}
|
||||
.prepend-23 {padding-left:920px;}
|
||||
.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
|
||||
.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
|
||||
.pull-1 {margin-left:-40px;}
|
||||
.pull-2 {margin-left:-80px;}
|
||||
.pull-3 {margin-left:-120px;}
|
||||
.pull-4 {margin-left:-160px;}
|
||||
.pull-5 {margin-left:-200px;}
|
||||
.pull-6 {margin-left:-240px;}
|
||||
.pull-7 {margin-left:-280px;}
|
||||
.pull-8 {margin-left:-320px;}
|
||||
.pull-9 {margin-left:-360px;}
|
||||
.pull-10 {margin-left:-400px;}
|
||||
.pull-11 {margin-left:-440px;}
|
||||
.pull-12 {margin-left:-480px;}
|
||||
.pull-13 {margin-left:-520px;}
|
||||
.pull-14 {margin-left:-560px;}
|
||||
.pull-15 {margin-left:-600px;}
|
||||
.pull-16 {margin-left:-640px;}
|
||||
.pull-17 {margin-left:-680px;}
|
||||
.pull-18 {margin-left:-720px;}
|
||||
.pull-19 {margin-left:-760px;}
|
||||
.pull-20 {margin-left:-800px;}
|
||||
.pull-21 {margin-left:-840px;}
|
||||
.pull-22 {margin-left:-880px;}
|
||||
.pull-23 {margin-left:-920px;}
|
||||
.pull-24 {margin-left:-960px;}
|
||||
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
|
||||
.push-1 {margin:0 -40px 1.5em 40px;}
|
||||
.push-2 {margin:0 -80px 1.5em 80px;}
|
||||
.push-3 {margin:0 -120px 1.5em 120px;}
|
||||
.push-4 {margin:0 -160px 1.5em 160px;}
|
||||
.push-5 {margin:0 -200px 1.5em 200px;}
|
||||
.push-6 {margin:0 -240px 1.5em 240px;}
|
||||
.push-7 {margin:0 -280px 1.5em 280px;}
|
||||
.push-8 {margin:0 -320px 1.5em 320px;}
|
||||
.push-9 {margin:0 -360px 1.5em 360px;}
|
||||
.push-10 {margin:0 -400px 1.5em 400px;}
|
||||
.push-11 {margin:0 -440px 1.5em 440px;}
|
||||
.push-12 {margin:0 -480px 1.5em 480px;}
|
||||
.push-13 {margin:0 -520px 1.5em 520px;}
|
||||
.push-14 {margin:0 -560px 1.5em 560px;}
|
||||
.push-15 {margin:0 -600px 1.5em 600px;}
|
||||
.push-16 {margin:0 -640px 1.5em 640px;}
|
||||
.push-17 {margin:0 -680px 1.5em 680px;}
|
||||
.push-18 {margin:0 -720px 1.5em 720px;}
|
||||
.push-19 {margin:0 -760px 1.5em 760px;}
|
||||
.push-20 {margin:0 -800px 1.5em 800px;}
|
||||
.push-21 {margin:0 -840px 1.5em 840px;}
|
||||
.push-22 {margin:0 -880px 1.5em 880px;}
|
||||
.push-23 {margin:0 -920px 1.5em 920px;}
|
||||
.push-24 {margin:0 -960px 1.5em 960px;}
|
||||
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;}
|
||||
.prepend-top {margin-top:1.5em;}
|
||||
.append-bottom {margin-bottom:1.5em;}
|
||||
.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
|
||||
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
|
||||
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
||||
.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
|
||||
.clearfix, .container {display:block;}
|
||||
.clear {clear:both;}
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
forms.css
|
||||
* Sets up some default styling for forms
|
||||
* Gives you classes to enhance your forms
|
||||
|
||||
Usage:
|
||||
* For text fields, use class .title or .text
|
||||
* For inline forms, use .inline (even when using columns)
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
label { font-weight: bold; }
|
||||
fieldset { padding:1.4em; margin: 0 0 1.5em 0; border: 1px solid #ccc; }
|
||||
legend { font-weight: bold; font-size:1.2em; }
|
||||
|
||||
|
||||
/* Form fields
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
input[type=text], input[type=password],
|
||||
input.text, input.title,
|
||||
textarea, select {
|
||||
background-color:#fff;
|
||||
border:1px solid #bbb;
|
||||
}
|
||||
input[type=text]:focus, input[type=password]:focus,
|
||||
input.text:focus, input.title:focus,
|
||||
textarea:focus, select:focus {
|
||||
border-color:#666;
|
||||
}
|
||||
|
||||
input[type=text], input[type=password],
|
||||
input.text, input.title,
|
||||
textarea, select {
|
||||
margin:0.5em 0;
|
||||
}
|
||||
|
||||
input.text,
|
||||
input.title { width: 300px; padding:5px; }
|
||||
input.title { font-size:1.5em; }
|
||||
textarea { width: 390px; height: 250px; padding:5px; }
|
||||
|
||||
input[type=checkbox], input[type=radio],
|
||||
input.checkbox, input.radio {
|
||||
position:relative; top:.25em;
|
||||
}
|
||||
|
||||
form.inline { line-height:3; }
|
||||
form.inline p { margin-bottom:0; }
|
||||
|
||||
|
||||
/* Success, notice and error boxes
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
.error,
|
||||
.notice,
|
||||
.success { padding: .8em; margin-bottom: 1em; border: 2px solid #ddd; }
|
||||
|
||||
.error { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; }
|
||||
.notice { background: #FFF6BF; color: #514721; border-color: #FFD324; }
|
||||
.success { background: #E6EFC2; color: #264409; border-color: #C6D880; }
|
||||
.error a { color: #8a1f11; }
|
||||
.notice a { color: #514721; }
|
||||
.success a { color: #264409; }
|
||||
280
app/assets/stylesheets/vendor/blueprint/src/grid.css
vendored
|
|
@ -1,280 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
grid.css
|
||||
* Sets up an easy-to-use grid of 24 columns.
|
||||
|
||||
By default, the grid is 950px wide, with 24 columns
|
||||
spanning 30px, and a 10px margin between columns.
|
||||
|
||||
If you need fewer or more columns, namespaces or semantic
|
||||
element names, use the compressor script (lib/compress.rb)
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* A container should group all your columns. */
|
||||
.container {
|
||||
width: 950px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
/* Use this class on any .span / container to see the grid. */
|
||||
.showgrid {
|
||||
background: url(src/grid.png);
|
||||
}
|
||||
|
||||
|
||||
/* Columns
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Sets up basic grid floating and margin. */
|
||||
.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/* The last column in a row needs this class. */
|
||||
.last { margin-right: 0; }
|
||||
|
||||
/* Use these classes to set the width of a column. */
|
||||
.span-1 {width: 30px;}
|
||||
|
||||
.span-2 {width: 70px;}
|
||||
.span-3 {width: 110px;}
|
||||
.span-4 {width: 150px;}
|
||||
.span-5 {width: 190px;}
|
||||
.span-6 {width: 230px;}
|
||||
.span-7 {width: 270px;}
|
||||
.span-8 {width: 310px;}
|
||||
.span-9 {width: 350px;}
|
||||
.span-10 {width: 390px;}
|
||||
.span-11 {width: 430px;}
|
||||
.span-12 {width: 470px;}
|
||||
.span-13 {width: 510px;}
|
||||
.span-14 {width: 550px;}
|
||||
.span-15 {width: 590px;}
|
||||
.span-16 {width: 630px;}
|
||||
.span-17 {width: 670px;}
|
||||
.span-18 {width: 710px;}
|
||||
.span-19 {width: 750px;}
|
||||
.span-20 {width: 790px;}
|
||||
.span-21 {width: 830px;}
|
||||
.span-22 {width: 870px;}
|
||||
.span-23 {width: 910px;}
|
||||
.span-24 {width:950px; margin-right:0;}
|
||||
|
||||
/* Use these classes to set the width of an input. */
|
||||
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {
|
||||
border-left-width: 1px;
|
||||
border-right-width: 1px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
input.span-1, textarea.span-1 { width: 18px; }
|
||||
input.span-2, textarea.span-2 { width: 58px; }
|
||||
input.span-3, textarea.span-3 { width: 98px; }
|
||||
input.span-4, textarea.span-4 { width: 138px; }
|
||||
input.span-5, textarea.span-5 { width: 178px; }
|
||||
input.span-6, textarea.span-6 { width: 218px; }
|
||||
input.span-7, textarea.span-7 { width: 258px; }
|
||||
input.span-8, textarea.span-8 { width: 298px; }
|
||||
input.span-9, textarea.span-9 { width: 338px; }
|
||||
input.span-10, textarea.span-10 { width: 378px; }
|
||||
input.span-11, textarea.span-11 { width: 418px; }
|
||||
input.span-12, textarea.span-12 { width: 458px; }
|
||||
input.span-13, textarea.span-13 { width: 498px; }
|
||||
input.span-14, textarea.span-14 { width: 538px; }
|
||||
input.span-15, textarea.span-15 { width: 578px; }
|
||||
input.span-16, textarea.span-16 { width: 618px; }
|
||||
input.span-17, textarea.span-17 { width: 658px; }
|
||||
input.span-18, textarea.span-18 { width: 698px; }
|
||||
input.span-19, textarea.span-19 { width: 738px; }
|
||||
input.span-20, textarea.span-20 { width: 778px; }
|
||||
input.span-21, textarea.span-21 { width: 818px; }
|
||||
input.span-22, textarea.span-22 { width: 858px; }
|
||||
input.span-23, textarea.span-23 { width: 898px; }
|
||||
input.span-24, textarea.span-24 { width: 938px; }
|
||||
|
||||
/* Add these to a column to append empty cols. */
|
||||
|
||||
.append-1 { padding-right: 40px;}
|
||||
.append-2 { padding-right: 80px;}
|
||||
.append-3 { padding-right: 120px;}
|
||||
.append-4 { padding-right: 160px;}
|
||||
.append-5 { padding-right: 200px;}
|
||||
.append-6 { padding-right: 240px;}
|
||||
.append-7 { padding-right: 280px;}
|
||||
.append-8 { padding-right: 320px;}
|
||||
.append-9 { padding-right: 360px;}
|
||||
.append-10 { padding-right: 400px;}
|
||||
.append-11 { padding-right: 440px;}
|
||||
.append-12 { padding-right: 480px;}
|
||||
.append-13 { padding-right: 520px;}
|
||||
.append-14 { padding-right: 560px;}
|
||||
.append-15 { padding-right: 600px;}
|
||||
.append-16 { padding-right: 640px;}
|
||||
.append-17 { padding-right: 680px;}
|
||||
.append-18 { padding-right: 720px;}
|
||||
.append-19 { padding-right: 760px;}
|
||||
.append-20 { padding-right: 800px;}
|
||||
.append-21 { padding-right: 840px;}
|
||||
.append-22 { padding-right: 880px;}
|
||||
.append-23 { padding-right: 920px;}
|
||||
|
||||
/* Add these to a column to prepend empty cols. */
|
||||
|
||||
.prepend-1 { padding-left: 40px;}
|
||||
.prepend-2 { padding-left: 80px;}
|
||||
.prepend-3 { padding-left: 120px;}
|
||||
.prepend-4 { padding-left: 160px;}
|
||||
.prepend-5 { padding-left: 200px;}
|
||||
.prepend-6 { padding-left: 240px;}
|
||||
.prepend-7 { padding-left: 280px;}
|
||||
.prepend-8 { padding-left: 320px;}
|
||||
.prepend-9 { padding-left: 360px;}
|
||||
.prepend-10 { padding-left: 400px;}
|
||||
.prepend-11 { padding-left: 440px;}
|
||||
.prepend-12 { padding-left: 480px;}
|
||||
.prepend-13 { padding-left: 520px;}
|
||||
.prepend-14 { padding-left: 560px;}
|
||||
.prepend-15 { padding-left: 600px;}
|
||||
.prepend-16 { padding-left: 640px;}
|
||||
.prepend-17 { padding-left: 680px;}
|
||||
.prepend-18 { padding-left: 720px;}
|
||||
.prepend-19 { padding-left: 760px;}
|
||||
.prepend-20 { padding-left: 800px;}
|
||||
.prepend-21 { padding-left: 840px;}
|
||||
.prepend-22 { padding-left: 880px;}
|
||||
.prepend-23 { padding-left: 920px;}
|
||||
|
||||
|
||||
/* Border on right hand side of a column. */
|
||||
.border {
|
||||
padding-right: 4px;
|
||||
margin-right: 5px;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
|
||||
/* Border with more whitespace, spans one column. */
|
||||
.colborder {
|
||||
padding-right: 24px;
|
||||
margin-right: 25px;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
|
||||
|
||||
/* Use these classes on an element to push it into the
|
||||
next column, or to pull it into the previous column. */
|
||||
|
||||
|
||||
.pull-1 { margin-left: -40px; }
|
||||
.pull-2 { margin-left: -80px; }
|
||||
.pull-3 { margin-left: -120px; }
|
||||
.pull-4 { margin-left: -160px; }
|
||||
.pull-5 { margin-left: -200px; }
|
||||
.pull-6 { margin-left: -240px; }
|
||||
.pull-7 { margin-left: -280px; }
|
||||
.pull-8 { margin-left: -320px; }
|
||||
.pull-9 { margin-left: -360px; }
|
||||
.pull-10 { margin-left: -400px; }
|
||||
.pull-11 { margin-left: -440px; }
|
||||
.pull-12 { margin-left: -480px; }
|
||||
.pull-13 { margin-left: -520px; }
|
||||
.pull-14 { margin-left: -560px; }
|
||||
.pull-15 { margin-left: -600px; }
|
||||
.pull-16 { margin-left: -640px; }
|
||||
.pull-17 { margin-left: -680px; }
|
||||
.pull-18 { margin-left: -720px; }
|
||||
.pull-19 { margin-left: -760px; }
|
||||
.pull-20 { margin-left: -800px; }
|
||||
.pull-21 { margin-left: -840px; }
|
||||
.pull-22 { margin-left: -880px; }
|
||||
.pull-23 { margin-left: -920px; }
|
||||
.pull-24 { margin-left: -960px; }
|
||||
|
||||
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float: left; position:relative;}
|
||||
|
||||
|
||||
.push-1 { margin: 0 -40px 1.5em 40px; }
|
||||
.push-2 { margin: 0 -80px 1.5em 80px; }
|
||||
.push-3 { margin: 0 -120px 1.5em 120px; }
|
||||
.push-4 { margin: 0 -160px 1.5em 160px; }
|
||||
.push-5 { margin: 0 -200px 1.5em 200px; }
|
||||
.push-6 { margin: 0 -240px 1.5em 240px; }
|
||||
.push-7 { margin: 0 -280px 1.5em 280px; }
|
||||
.push-8 { margin: 0 -320px 1.5em 320px; }
|
||||
.push-9 { margin: 0 -360px 1.5em 360px; }
|
||||
.push-10 { margin: 0 -400px 1.5em 400px; }
|
||||
.push-11 { margin: 0 -440px 1.5em 440px; }
|
||||
.push-12 { margin: 0 -480px 1.5em 480px; }
|
||||
.push-13 { margin: 0 -520px 1.5em 520px; }
|
||||
.push-14 { margin: 0 -560px 1.5em 560px; }
|
||||
.push-15 { margin: 0 -600px 1.5em 600px; }
|
||||
.push-16 { margin: 0 -640px 1.5em 640px; }
|
||||
.push-17 { margin: 0 -680px 1.5em 680px; }
|
||||
.push-18 { margin: 0 -720px 1.5em 720px; }
|
||||
.push-19 { margin: 0 -760px 1.5em 760px; }
|
||||
.push-20 { margin: 0 -800px 1.5em 800px; }
|
||||
.push-21 { margin: 0 -840px 1.5em 840px; }
|
||||
.push-22 { margin: 0 -880px 1.5em 880px; }
|
||||
.push-23 { margin: 0 -920px 1.5em 920px; }
|
||||
.push-24 { margin: 0 -960px 1.5em 960px; }
|
||||
|
||||
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float: right; position:relative;}
|
||||
|
||||
|
||||
/* Misc classes and elements
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* In case you need to add a gutter above/below an element */
|
||||
.prepend-top {
|
||||
margin-top:1.5em;
|
||||
}
|
||||
.append-bottom {
|
||||
margin-bottom:1.5em;
|
||||
}
|
||||
|
||||
/* Use a .box to create a padded box inside a column. */
|
||||
.box {
|
||||
padding: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
background: #E5ECF9;
|
||||
}
|
||||
|
||||
/* Use this to create a horizontal ruler across a column. */
|
||||
hr {
|
||||
background: #ddd;
|
||||
color: #ddd;
|
||||
clear: both;
|
||||
float: none;
|
||||
width: 100%;
|
||||
height: .1em;
|
||||
margin: 0 0 1.45em;
|
||||
border: none;
|
||||
}
|
||||
|
||||
hr.space {
|
||||
background: #fff;
|
||||
color: #fff;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* Clearing floats without extra markup
|
||||
Based on How To Clear Floats Without Structural Markup by PiE
|
||||
[http://www.positioniseverything.net/easyclearing.html] */
|
||||
|
||||
.clearfix:after, .container:after {
|
||||
content: "\0020";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
overflow:hidden;
|
||||
}
|
||||
.clearfix, .container {display: block;}
|
||||
|
||||
/* Regular clearing
|
||||
apply to column that should drop below previous ones. */
|
||||
|
||||
.clear { clear:both; }
|
||||
BIN
app/assets/stylesheets/vendor/blueprint/src/grid.png
vendored
|
Before Width: | Height: | Size: 132 B |
|
|
@ -1,76 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
ie.css
|
||||
|
||||
Contains every hack for Internet Explorer,
|
||||
so that our core files stay sweet and nimble.
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Make sure the layout is centered in IE5 */
|
||||
body { text-align: center; }
|
||||
.container { text-align: left; }
|
||||
|
||||
/* Fixes IE margin bugs */
|
||||
* html .column, * html .span-1, * html .span-2,
|
||||
* html .span-3, * html .span-4, * html .span-5,
|
||||
* html .span-6, * html .span-7, * html .span-8,
|
||||
* html .span-9, * html .span-10, * html .span-11,
|
||||
* html .span-12, * html .span-13, * html .span-14,
|
||||
* html .span-15, * html .span-16, * html .span-17,
|
||||
* html .span-18, * html .span-19, * html .span-20,
|
||||
* html .span-21, * html .span-22, * html .span-23,
|
||||
* html .span-24 { display:inline; overflow-x: hidden; }
|
||||
|
||||
|
||||
/* Elements
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Fixes incorrect styling of legend in IE6. */
|
||||
* html legend { margin:0px -8px 16px 0; padding:0; }
|
||||
|
||||
/* Fixes wrong line-height on sup/sub in IE. */
|
||||
sup { vertical-align:text-top; }
|
||||
sub { vertical-align:text-bottom; }
|
||||
|
||||
/* Fixes IE7 missing wrapping of code elements. */
|
||||
html>body p code { *white-space: normal; }
|
||||
|
||||
/* IE 6&7 has problems with setting proper <hr> margins. */
|
||||
hr { margin:-8px auto 11px; }
|
||||
|
||||
/* Explicitly set interpolation, allowing dynamically resized images to not look horrible */
|
||||
img { -ms-interpolation-mode:bicubic; }
|
||||
|
||||
/* Clearing
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Makes clearfix actually work in IE */
|
||||
.clearfix, .container { display:inline-block; }
|
||||
* html .clearfix,
|
||||
* html .container { height:1%; }
|
||||
|
||||
|
||||
/* Forms
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Fixes padding on fieldset */
|
||||
fieldset { padding-top:0; }
|
||||
|
||||
/* Makes classic textareas in IE 6 resemble other browsers */
|
||||
textarea { overflow:auto; }
|
||||
|
||||
/* Fixes rule that IE 6 ignores */
|
||||
input.text, input.title, textarea { background-color:#fff; border:1px solid #bbb; }
|
||||
input.text:focus, input.title:focus { border-color:#666; }
|
||||
input.text, input.title, textarea, select { margin:0.5em 0; }
|
||||
input.checkbox, input.radio { position:relative; top:.25em; }
|
||||
|
||||
/* Fixes alignment of inline form elements */
|
||||
form.inline div, form.inline p { vertical-align:middle; }
|
||||
form.inline label { position:relative;top:-0.25em; }
|
||||
form.inline input.checkbox, form.inline input.radio,
|
||||
form.inline input.button, form.inline button {
|
||||
margin:0.5em 0;
|
||||
}
|
||||
button, input.button { position:relative;top:0.25em; }
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
print.css
|
||||
* Gives you some sensible styles for printing pages.
|
||||
* See Readme file in this directory for further instructions.
|
||||
|
||||
Some additions you'll want to make, customized to your markup:
|
||||
#header, #footer, #navigation { display:none; }
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
body {
|
||||
line-height: 1.5;
|
||||
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||
color:#000;
|
||||
background: none;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
|
||||
/* Layout
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
.container {
|
||||
background: none;
|
||||
}
|
||||
|
||||
hr {
|
||||
background:#ccc;
|
||||
color:#ccc;
|
||||
width:100%;
|
||||
height:2px;
|
||||
margin:2em 0;
|
||||
padding:0;
|
||||
border:none;
|
||||
}
|
||||
hr.space {
|
||||
background: #fff;
|
||||
color: #fff;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* Text
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
h1,h2,h3,h4,h5,h6 { font-family: "Helvetica Neue", Arial, "Lucida Grande", sans-serif; }
|
||||
code { font:.9em "Courier New", Monaco, Courier, monospace; }
|
||||
|
||||
a img { border:none; }
|
||||
p img.top { margin-top: 0; }
|
||||
|
||||
blockquote {
|
||||
margin:1.5em;
|
||||
padding:1em;
|
||||
font-style:italic;
|
||||
font-size:.9em;
|
||||
}
|
||||
|
||||
.small { font-size: .9em; }
|
||||
.large { font-size: 1.1em; }
|
||||
.quiet { color: #999; }
|
||||
.hide { display:none; }
|
||||
|
||||
|
||||
/* Links
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
a:link, a:visited {
|
||||
background: transparent;
|
||||
font-weight:700;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:link:after, a:visited:after {
|
||||
content: " (" attr(href) ")";
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
/* If you're having trouble printing relative links, uncomment and customize this:
|
||||
(note: This is valid CSS3, but it still won't go through the W3C CSS Validator) */
|
||||
|
||||
/* a[href^="/"]:after {
|
||||
content: " (http://www.yourdomain.com" attr(href) ") ";
|
||||
} */
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
reset.css
|
||||
* Resets default browser CSS.
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
html, body, div, span, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, code,
|
||||
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, dialog, figure, footer, header,
|
||||
hgroup, nav, section {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-weight: inherit;
|
||||
font-style: inherit;
|
||||
font-size: 100%;
|
||||
font-family: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
article, aside, dialog, figure, footer, header,
|
||||
hgroup, nav, section {
|
||||
display:block;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
/* Tables still need 'cellspacing="0"' in the markup. */
|
||||
table { border-collapse: separate; border-spacing: 0; }
|
||||
caption, th, td { text-align: left; font-weight: normal; }
|
||||
table, td, th { vertical-align: middle; }
|
||||
|
||||
/* Remove possible quote marks (") from <q>, <blockquote>. */
|
||||
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
|
||||
blockquote, q { quotes: "" ""; }
|
||||
|
||||
/* Remove annoying border on linked images. */
|
||||
a img { border: none; }
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
/* --------------------------------------------------------------
|
||||
|
||||
typography.css
|
||||
* Sets up some sensible default typography.
|
||||
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
/* Default font settings.
|
||||
The font-size percentage is of 16px. (0.75 * 16px = 12px) */
|
||||
html { font-size:100.01%; }
|
||||
body {
|
||||
font-size: 75%;
|
||||
color: #222;
|
||||
background: #fff;
|
||||
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
/* Headings
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
h1,h2,h3,h4,h5,h6 { font-weight: normal; color: #111; }
|
||||
|
||||
h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
|
||||
h2 { font-size: 2em; margin-bottom: 0.75em; }
|
||||
h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
|
||||
h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
|
||||
h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
|
||||
h6 { font-size: 1em; font-weight: bold; }
|
||||
|
||||
h1 img, h2 img, h3 img,
|
||||
h4 img, h5 img, h6 img {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Text elements
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
p { margin: 0 0 1.5em; }
|
||||
p img.left { float: left; margin: 1.5em 1.5em 1.5em 0; padding: 0; }
|
||||
p img.right { float: right; margin: 1.5em 0 1.5em 1.5em; }
|
||||
|
||||
a:focus,
|
||||
a:hover { color: #000; }
|
||||
a { color: #009; text-decoration: underline; }
|
||||
|
||||
blockquote { margin: 1.5em; color: #666; font-style: italic; }
|
||||
strong { font-weight: bold; }
|
||||
em,dfn { font-style: italic; }
|
||||
dfn { font-weight: bold; }
|
||||
sup, sub { line-height: 0; }
|
||||
|
||||
abbr,
|
||||
acronym { border-bottom: 1px dotted #666; }
|
||||
address { margin: 0 0 1.5em; font-style: italic; }
|
||||
del { color:#666; }
|
||||
|
||||
pre { margin: 1.5em 0; white-space: pre; }
|
||||
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }
|
||||
|
||||
|
||||
/* Lists
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
li ul,
|
||||
li ol { margin: 0; }
|
||||
ul, ol { margin: 0 1.5em 1.5em 0; padding-left: 3.333em; }
|
||||
|
||||
ul { list-style-type: disc; }
|
||||
ol { list-style-type: decimal; }
|
||||
|
||||
dl { margin: 0 0 1.5em 0; }
|
||||
dl dt { font-weight: bold; }
|
||||
dd { margin-left: 1.5em;}
|
||||
|
||||
|
||||
/* Tables
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
table { margin-bottom: 1.4em; width:100%; }
|
||||
th { font-weight: bold; }
|
||||
thead th { background: #c3d9ff; }
|
||||
th,td,caption { padding: 4px 10px 4px 5px; }
|
||||
tr.even td { background: #e5ecf9; }
|
||||
tfoot { font-style: italic; }
|
||||
caption { background: #eee; }
|
||||
|
||||
|
||||
/* Misc classes
|
||||
-------------------------------------------------------------- */
|
||||
|
||||
.small { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }
|
||||
.large { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }
|
||||
.hide { display: none; }
|
||||
|
||||
.quiet { color: #666; }
|
||||
.loud { color: #000; }
|
||||
.highlight { background:#ff0; }
|
||||
.added { background:#060; color: #fff; }
|
||||
.removed { background:#900; color: #fff; }
|
||||
|
||||
.first { margin-left:0; padding-left:0; }
|
||||
.last { margin-right:0; padding-right:0; }
|
||||
.top { margin-top:0; padding-top:0; }
|
||||
.bottom { margin-bottom:0; padding-bottom:0; }
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
class AdminsController < Admin::AdminController
|
||||
|
||||
use_bootstrap_for :user_search, :weekly_user_stats, :stats, :correlations
|
||||
|
||||
def user_search
|
||||
if params[:admins_controller_user_search]
|
||||
search_params = params.require(:admins_controller_user_search)
|
||||
|
|
|
|||
|
|
@ -153,11 +153,4 @@ class ApplicationController < ActionController::Base
|
|||
return unless gon.preloads.nil?
|
||||
gon.preloads = {}
|
||||
end
|
||||
|
||||
def self.use_bootstrap_for *routes
|
||||
before_filter -> {
|
||||
@css_framework = :bootstrap
|
||||
gon.bootstrap = true
|
||||
}, only: routes.flatten
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ class ContactsController < ApplicationController
|
|||
before_action :authenticate_user!
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }
|
||||
use_bootstrap_for :index, :spotlight
|
||||
|
||||
def index
|
||||
respond_to do |format|
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@ class ConversationsController < ApplicationController
|
|||
before_action :authenticate_user!
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header" }
|
||||
use_bootstrap_for :index, :show, :new
|
||||
|
||||
respond_to :html, :mobile, :json, :js
|
||||
|
||||
def index
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
class HelpController < ApplicationController
|
||||
before_filter -> { @css_framework = :bootstrap }
|
||||
layout -> (c) { request.format == :mobile ? "application" : "with_header_with_footer" }
|
||||
|
||||
def faq
|
||||
gon.chatEnabled = AppConfig.chat.enabled?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ class HomeController < ApplicationController
|
|||
partial_dir.join("_show.html.erb").exist?
|
||||
render :show
|
||||
else
|
||||
@css_framework = :bootstrap # Hack, port site to one framework
|
||||
render file: Rails.root.join("public", "default.html"),
|
||||
layout: 'application'
|
||||
end
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ class NotificationsController < ApplicationController
|
|||
before_action :authenticate_user!
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }
|
||||
use_bootstrap_for :index
|
||||
|
||||
def update
|
||||
note = Notification.where(:recipient_id => current_user.id, :id => params[:id]).first
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
class PasswordsController < Devise::PasswordsController
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }
|
||||
before_filter -> { @css_framework = :bootstrap }
|
||||
end
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ class PeopleController < ApplicationController
|
|||
before_action :find_person, only: [:show, :stream, :hovercard]
|
||||
|
||||
layout ->(c){ request.format == :mobile ? "application" : "with_header_with_footer" }
|
||||
use_bootstrap_for :index, :show, :contacts, :refresh_search
|
||||
|
||||
respond_to :html, :except => [:tag_index]
|
||||
respond_to :json, :only => [:index, :show]
|
||||
|
|
@ -169,10 +168,9 @@ class PeopleController < ApplicationController
|
|||
|
||||
@contact = current_user.contact_for(@person) || Contact.new
|
||||
@aspect = :profile if params[:create] # let aspect dropdown create new aspects
|
||||
bootstrap = params[:bootstrap] || false
|
||||
size = params[:size] || "small"
|
||||
|
||||
render :partial => 'aspect_membership_dropdown', :locals => {:contact => @contact, :person => @person, :hang => 'left', :bootstrap => bootstrap, :size => size}
|
||||
render :partial => 'aspect_membership_dropdown', :locals => {:contact => @contact, :person => @person, :hang => 'left', :size => size}
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ class PhotosController < ApplicationController
|
|||
before_action :authenticate_user!, :except => :show
|
||||
|
||||
layout ->(c){ request.format == :mobile ? "application" : "with_header_with_footer" }
|
||||
use_bootstrap_for :index
|
||||
respond_to :html, :json
|
||||
|
||||
def show
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ class PostsController < ApplicationController
|
|||
before_action :set_format_if_malformed_from_status_net, :only => :show
|
||||
before_action :find_post, :only => [:show, :interactions]
|
||||
|
||||
use_bootstrap_for :show
|
||||
|
||||
respond_to :html,
|
||||
:mobile,
|
||||
:json,
|
||||
|
|
@ -18,7 +16,7 @@ class PostsController < ApplicationController
|
|||
|
||||
rescue_from Diaspora::NonPublic do |exception|
|
||||
respond_to do |format|
|
||||
format.all { @css_framework = :bootstrap; render :template=>'errors/not_public', :status=>404, :layout => "application"}
|
||||
format.all { render :template=>'errors/not_public', :status=>404, :layout => "application"}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
class ProfilesController < ApplicationController
|
||||
before_action :authenticate_user!, :except => ['show']
|
||||
before_action -> { @css_framework = :bootstrap }, only: [:show, :edit]
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }, only: [:show, :edit]
|
||||
|
||||
respond_to :html, :except => [:show]
|
||||
|
|
@ -28,7 +26,7 @@ class ProfilesController < ApplicationController
|
|||
|
||||
@tags = @profile.tags
|
||||
@tags_array = []
|
||||
@tags.each do |obj|
|
||||
@tags.each do |obj|
|
||||
@tags_array << { :name => ("#"+obj.name),
|
||||
:value => ("#"+obj.name)}
|
||||
end
|
||||
|
|
@ -37,7 +35,7 @@ class ProfilesController < ApplicationController
|
|||
def update
|
||||
# upload and set new profile photo
|
||||
@profile_attrs = profile_params
|
||||
|
||||
|
||||
munge_tag_string
|
||||
|
||||
#checkbox tags wtf
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ class RegistrationsController < Devise::RegistrationsController
|
|||
before_action :check_registrations_open_or_valid_invite!, :check_valid_invite!
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header" }, :only => [:new]
|
||||
before_action -> { @css_framework = :bootstrap }, only: [:new, :create]
|
||||
|
||||
def create
|
||||
@user = User.build(user_params)
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ class ReportController < ApplicationController
|
|||
before_filter :authenticate_user!
|
||||
before_filter :redirect_unless_admin, :except => [:create]
|
||||
|
||||
use_bootstrap_for :index
|
||||
|
||||
def index
|
||||
@reports = Report.where(reviewed: false)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
||||
# 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.
|
||||
class ServicesController < ApplicationController
|
||||
# We need to take a raw POST from an omniauth provider with no authenticity token.
|
||||
|
|
@ -8,7 +8,6 @@ class ServicesController < ApplicationController
|
|||
skip_before_action :verify_authenticity_token, :only => :create
|
||||
before_action :authenticate_user!
|
||||
before_action :abort_if_already_authorized, :abort_if_read_only_access, :only => :create
|
||||
before_action -> { @css_framework = :bootstrap }, only: [:index]
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }, only: [:index]
|
||||
|
||||
|
|
@ -19,9 +18,9 @@ class ServicesController < ApplicationController
|
|||
@services = current_user.services
|
||||
end
|
||||
|
||||
def create
|
||||
def create
|
||||
service = Service.initialize_from_omniauth( omniauth_hash )
|
||||
|
||||
|
||||
if current_user.services << service
|
||||
no_profile_image_before_update = no_profile_image?
|
||||
current_user.update_profile_with_omniauth(service.info)
|
||||
|
|
@ -66,9 +65,9 @@ class ServicesController < ApplicationController
|
|||
end
|
||||
|
||||
def redirect_to_origin
|
||||
if origin
|
||||
if origin
|
||||
redirect_to origin
|
||||
else
|
||||
else
|
||||
render(text: "<script>window.close()</script>")
|
||||
end
|
||||
end
|
||||
|
|
@ -85,7 +84,7 @@ class ServicesController < ApplicationController
|
|||
request.env['omniauth.origin']
|
||||
end
|
||||
|
||||
def omniauth_hash
|
||||
def omniauth_hash
|
||||
request.env['omniauth.auth']
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
class SessionsController < Devise::SessionsController
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }, :only => [:new]
|
||||
use_bootstrap_for :new
|
||||
|
||||
after_filter :reset_authentication_token, :only => [:create]
|
||||
before_filter :reset_authentication_token, :only => [:destroy]
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
class StatisticsController < ApplicationController
|
||||
respond_to :html, :json
|
||||
use_bootstrap_for :statistics
|
||||
|
||||
def statistics
|
||||
@statistics = StatisticsPresenter.new
|
||||
|
|
@ -14,4 +13,4 @@ class StatisticsController < ApplicationController
|
|||
format.html { render layout: 'with_header_with_footer' }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ class StatusMessagesController < ApplicationController
|
|||
|
||||
before_action :remove_getting_started, :only => [:create]
|
||||
|
||||
use_bootstrap_for :bookmarklet
|
||||
|
||||
respond_to :html,
|
||||
:mobile,
|
||||
:json
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ class StreamsController < ApplicationController
|
|||
before_action :redirect_unless_admin, :only => :public
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }
|
||||
use_bootstrap_for :aspects, :public, :activity, :multi, :commented, :liked, :mentioned, :followed_tags
|
||||
|
||||
respond_to :html,
|
||||
:mobile,
|
||||
|
|
@ -53,7 +52,7 @@ class StreamsController < ApplicationController
|
|||
private
|
||||
|
||||
def stream_responder(stream_klass=nil)
|
||||
|
||||
|
||||
if stream_klass.present?
|
||||
@stream ||= stream_klass.new(current_user, :max_time => max_time)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ class TagsController < ApplicationController
|
|||
before_action :ensure_page, :only => :show
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }, :only => [:show]
|
||||
use_bootstrap_for :show
|
||||
|
||||
helper_method :tag_followed?
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ class TermsController < ApplicationController
|
|||
respond_to :html, :mobile
|
||||
|
||||
def index
|
||||
@css_framework = :bootstrap
|
||||
partial_dir = Rails.root.join('app', 'views', 'terms')
|
||||
if partial_dir.join('terms.haml').exist? ||
|
||||
partial_dir.join('terms.erb').exist?
|
||||
|
|
@ -16,5 +15,5 @@ class TermsController < ApplicationController
|
|||
render :default
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,12 +4,8 @@
|
|||
|
||||
class UsersController < ApplicationController
|
||||
before_action :authenticate_user!, :except => [:new, :create, :public, :user_photo]
|
||||
before_action -> { @css_framework = :bootstrap }, only: [:privacy_settings, :edit]
|
||||
|
||||
layout ->(c) { request.format == :mobile ? "application" : "with_header_with_footer" }, only: [:privacy_settings, :edit]
|
||||
|
||||
use_bootstrap_for :getting_started
|
||||
|
||||
respond_to :html
|
||||
|
||||
def edit
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# the COPYRIGHT file.
|
||||
|
||||
module AspectGlobalHelper
|
||||
def aspect_membership_dropdown(contact, person, hang, aspect=nil, force_bootstrap=false, size="small")
|
||||
def aspect_membership_dropdown(contact, person, hang, aspect=nil, size="small")
|
||||
aspect_membership_ids = {}
|
||||
|
||||
selected_aspects = all_aspects.select{|aspect| contact.in_aspect?(aspect)}
|
||||
|
|
@ -24,22 +24,13 @@ module AspectGlobalHelper
|
|||
raise ArgumentError, "unknown size #{size}"
|
||||
end
|
||||
|
||||
if bootstrap? || force_bootstrap
|
||||
render "aspect_memberships/aspect_membership_dropdown",
|
||||
:selected_aspects => selected_aspects,
|
||||
:aspect_membership_ids => aspect_membership_ids,
|
||||
:person => person,
|
||||
:hang => hang,
|
||||
:dropdown_class => "aspect_membership",
|
||||
:button_class => button_class
|
||||
else
|
||||
render "aspect_memberships/aspect_membership_dropdown_blueprint",
|
||||
:selected_aspects => selected_aspects,
|
||||
:aspect_membership_ids => aspect_membership_ids,
|
||||
:person => person,
|
||||
:hang => hang,
|
||||
:dropdown_class => "aspect_membership"
|
||||
end
|
||||
render "aspect_memberships/aspect_membership_dropdown",
|
||||
:selected_aspects => selected_aspects,
|
||||
:aspect_membership_ids => aspect_membership_ids,
|
||||
:person => person,
|
||||
:hang => hang,
|
||||
:dropdown_class => "aspect_membership",
|
||||
:button_class => button_class
|
||||
end
|
||||
|
||||
def aspect_dropdown_list_item(aspect, am_id=nil)
|
||||
|
|
|
|||
|
|
@ -47,12 +47,8 @@ module LayoutHelper
|
|||
end
|
||||
end
|
||||
|
||||
def include_base_css_framework(use_bootstrap=false)
|
||||
if use_bootstrap || @aspect == :getting_started
|
||||
stylesheet_link_tag('bootstrap-complete')
|
||||
else
|
||||
stylesheet_link_tag 'blueprint', :media => 'screen'
|
||||
end
|
||||
def include_base_css_framework
|
||||
stylesheet_link_tag('bootstrap-complete')
|
||||
end
|
||||
|
||||
def old_browser_js_support
|
||||
|
|
@ -77,8 +73,4 @@ module LayoutHelper
|
|||
end
|
||||
end.join(' ').html_safe
|
||||
end
|
||||
|
||||
def bootstrap?
|
||||
@css_framework == :bootstrap
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-# the COPYRIGHT file.
|
||||
|
||||
-# Using row to enforce a non-percentual width on span6
|
||||
.row
|
||||
.row
|
||||
.span6
|
||||
#facebox_header
|
||||
%h3
|
||||
|
|
@ -24,4 +24,3 @@
|
|||
.bottom_submit_section
|
||||
= submit_tag t('cancel'), :class => 'btn', :type => :reset, :rel => "close"
|
||||
= aspect.submit t('.create'), :class => 'btn creation'
|
||||
|
||||
|
|
|
|||
|
|
@ -21,11 +21,8 @@
|
|||
= chartbeat_head_block
|
||||
= include_mixpanel
|
||||
|
||||
= 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 'application', 'default'
|
||||
= include_base_css_framework
|
||||
= stylesheet_link_tag :default, 'application', :media => 'all'
|
||||
|
||||
- if rtl?
|
||||
= stylesheet_link_tag :rtl, :media => 'all'
|
||||
|
|
|
|||
|
|
@ -1,9 +1,4 @@
|
|||
- if @css_framework == :bootstrap
|
||||
- content_for :container_content do
|
||||
= yield
|
||||
- else
|
||||
- content_for :container_content do
|
||||
.span-24.last
|
||||
= yield
|
||||
- content_for :container_content do
|
||||
= yield
|
||||
|
||||
= render template: "layouts/with_header_with_footer"
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
= aspect_membership_dropdown(@contact, @person, 'right', nil, bootstrap, size)
|
||||
= aspect_membership_dropdown(@contact, @person, 'right', nil, size)
|
||||
|
|
|
|||
|
|
@ -1 +1,80 @@
|
|||
= render :partial => 'publisher/publisher_bootstrap', :locals => { :aspect => aspect, :selected_aspects => selected_aspects, :aspect_ids => aspect_ids }
|
||||
-if publisher_explain
|
||||
:javascript
|
||||
$(document).ready(function() {
|
||||
if( app.publisher ) app.publisher.triggerGettingStarted();
|
||||
});
|
||||
|
||||
.row-fluid#publisher{:class => ((aspect == :profile || publisher_open) ? "mention_popup" : "closed")}
|
||||
.content_creation
|
||||
= form_for(StatusMessage.new) do |status|
|
||||
= status.error_messages
|
||||
%params
|
||||
#publisher_textarea_wrapper
|
||||
- if current_user.getting_started?
|
||||
= status.text_area :fake_text, :rows => 2, :value => h(publisher_formatted_text), :tabindex => 1, :placeholder => "#{t('contacts.index.start_a_conversation')}...",
|
||||
'data-title' => popover_with_close_html( '1. ' + t('shared.public_explain.share') ),
|
||||
'data-content' => t('shared.public_explain.new_user_welcome_message')
|
||||
- else
|
||||
= status.text_area :fake_text, :rows => 2, :value => h(publisher_formatted_text), :tabindex => 1, :placeholder => "#{t('contacts.index.start_a_conversation')}..."
|
||||
= status.hidden_field :text, :value => h(publisher_hidden_text), :class => 'clear_on_submit'
|
||||
|
||||
.row-fluid#photodropzone_container
|
||||
%ul#photodropzone
|
||||
.row-fluid#location_container
|
||||
= hidden_field :location, :coords
|
||||
.row-fluid#poll_creator_container
|
||||
-# handlebars template
|
||||
.row-fluid#button_container
|
||||
#publisher-images.pull-right
|
||||
#poll_creator.btn.btn-link{:title => t('shared.publisher.poll.add_a_poll')}
|
||||
%i.entypo.bar-graph
|
||||
#file-upload.btn.btn-link{:title => t('shared.publisher.upload_photos')}
|
||||
%i.entypo.camera.publisher_image
|
||||
#locator.btn.btn-link{:title => t('shared.publisher.get_location')}
|
||||
%i.entypo.location.publisher_image
|
||||
#hide_location.btn.btn-link{:title => t('shared.publisher.remove_location')}
|
||||
%i.entypo.cross.publisher_image
|
||||
%span.help-block.markdownIndications
|
||||
!= t('shared.publisher.formatWithMarkdown', markdown_link: link_to(t('help.markdown'), 'https://diasporafoundation.org/formatting', target: :blank))
|
||||
|
||||
- if publisher_public
|
||||
= hidden_field_tag 'aspect_ids[]', "public"
|
||||
- elsif all_aspects_selected?(selected_aspects)
|
||||
= hidden_field_tag 'aspect_ids[]', "all_aspects"
|
||||
- else
|
||||
- for aspect_id in aspect_ids
|
||||
= hidden_field_tag 'aspect_ids[]', aspect_id.to_s
|
||||
|
||||
.row-fluid#publisher_spinner{:class => 'hidden'}
|
||||
= image_tag 'ajax-loader.gif'
|
||||
.row-fluid.options_and_submit
|
||||
.public_toggle
|
||||
.btn.btn-default.pull-left#hide_publisher{:title => t('shared.publisher.discard_post')}
|
||||
%span.text
|
||||
=t('cancel')
|
||||
|
||||
.btn-toolbar.pull-right
|
||||
%span#publisher_service_icons
|
||||
- if current_user.services
|
||||
- for service in current_user.services
|
||||
= service_button(service)
|
||||
%a.btn.btn-link{ :href => "#question_mark_pane", :class => 'question_mark', :rel => 'facebox', :title => t('shared.public_explain.manage') }
|
||||
%i.entypo.small.cog
|
||||
|
||||
= render :partial => "publisher/aspect_dropdown", :locals => { :selected_aspects => selected_aspects }
|
||||
|
||||
%button{:class => 'btn btn-default post_preview_button'}
|
||||
%span.text
|
||||
= t('shared.publisher.preview')
|
||||
|
||||
%button#submit.btn.btn-primary.creation{:tabindex => 2}
|
||||
%span.text
|
||||
= t('shared.publisher.share')
|
||||
|
||||
.facebox_content
|
||||
#question_mark_pane
|
||||
= render 'shared/public_explain'
|
||||
= link_to '', contacts_path(:aspect_ids => aspect_ids), :class => 'selected_contacts_link hidden'
|
||||
|
||||
|
||||
#publisher_photo_upload
|
||||
|
|
|
|||
|
|
@ -1,104 +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.
|
||||
|
||||
-if publisher_explain
|
||||
:javascript
|
||||
$(document).ready(function() {
|
||||
if( app.publisher ) app.publisher.triggerGettingStarted();
|
||||
});
|
||||
|
||||
#publisher{:class => ((aspect == :profile || publisher_open) ? "mention_popup" : "closed")}
|
||||
.content_creation
|
||||
= form_for(StatusMessage.new) do |status|
|
||||
= status.error_messages
|
||||
%div
|
||||
%params
|
||||
#publisher_textarea_wrapper
|
||||
= link_to(content_tag(:div, nil, :class => 'icons-deletelabel'), "#", :id => "hide_publisher", :title => t('shared.publisher.discard_post'))
|
||||
- if current_user.getting_started?
|
||||
= status.text_area :fake_text, :rows => 2, :value => h(publisher_formatted_text), :tabindex => 1, :placeholder => "#{t('contacts.index.start_a_conversation')}...",
|
||||
:title => popover_with_close_html( '1. ' + t('shared.public_explain.share') ),
|
||||
'data-content' => t('shared.public_explain.new_user_welcome_message')
|
||||
- else
|
||||
= status.text_area :fake_text, :rows => 2, :value => h(publisher_formatted_text), :tabindex => 1, :placeholder => "#{t('contacts.index.start_a_conversation')}..."
|
||||
= status.hidden_field :text, :value => h(publisher_hidden_text), :class => 'clear_on_submit'
|
||||
%ul#photodropzone
|
||||
%span#publisher-images
|
||||
%span.markdownIndications
|
||||
!= t('shared.publisher.formatWithMarkdown', markdown_link: link_to(t('help.markdown'), 'https://diasporafoundation.org/formatting', target: :blank))
|
||||
#poll_creator.btn{:title => t('shared.publisher.poll.add_a_poll')}
|
||||
%i.entypo.bar-graph{:class => "publisher_image"}
|
||||
|
||||
#locator.btn{:title => t('shared.publisher.get_location')}
|
||||
= image_tag 'icons/marker.png', :alt => t('shared.publisher.get_location').titleize, :class => 'publisher_image'
|
||||
#file-upload.btn{:title => t('shared.publisher.upload_photos')}
|
||||
= image_tag 'icons/camera.png', :alt => t('shared.publisher.upload_photos').titleize, :class => 'publisher_image'
|
||||
= hidden_field :location, :coords
|
||||
#location_container
|
||||
#poll_creator_container
|
||||
|
||||
- if publisher_public
|
||||
= hidden_field_tag 'aspect_ids[]', "public"
|
||||
- elsif all_aspects_selected?(selected_aspects)
|
||||
= hidden_field_tag 'aspect_ids[]', "all_aspects"
|
||||
- else
|
||||
- for aspect_id in aspect_ids
|
||||
= hidden_field_tag 'aspect_ids[]', aspect_id.to_s
|
||||
|
||||
#publisher_spinner{:class => 'hidden'}
|
||||
= image_tag 'ajax-loader.gif'
|
||||
.options_and_submit
|
||||
.public_toggle
|
||||
%span#publisher_service_icons
|
||||
- if current_user.services
|
||||
- for service in current_user.services
|
||||
= content_tag :div, nil,
|
||||
:title => "#{service.provider.titleize} (#{service.nickname})",
|
||||
:class => "social_media_logos-#{service.provider}-16x16 service_icon dim",
|
||||
:id => "#{service.provider}",
|
||||
:maxchar => "#{service.class::MAX_CHARACTERS}",
|
||||
:data => {:toggle=>'tooltip', :placement=>'bottom'}
|
||||
%a{ :href => "#question_mark_pane", :class => 'question_mark', :rel => 'facebox', :title => t('shared.public_explain.manage') }
|
||||
.icons-monotone_wrench_settings
|
||||
|
||||
.dropdown{ ! current_user.getting_started? ? {:class => "hang_right"} : { :class => "hang_right", :title => popover_with_close_html("2. #{t('shared.public_explain.control_your_audience')}"), 'data-content'=> t('shared.public_explain.visibility_dropdown')} }
|
||||
.button.toggle.publisher
|
||||
- if publisher_public
|
||||
%i#visibility-icon.entypo.small.globe
|
||||
%span.text
|
||||
= t('public')
|
||||
- else
|
||||
%i#visibility-icon.entypo.small.lock
|
||||
%span.text
|
||||
- if all_aspects_selected?(selected_aspects)
|
||||
= t('all_aspects')
|
||||
- elsif selected_aspects.size == 1
|
||||
= selected_aspects.first.name
|
||||
- else
|
||||
= t('shared.aspect_dropdown.toggle', :count => selected_aspects.size)
|
||||
▼
|
||||
|
||||
.wrapper
|
||||
%ul.dropdown_list{:unSelectable => 'on', 'data-person_id' => (person.id if defined?(person) && person), 'data-service_uid' => (service_uid if defined?(service_uid))}
|
||||
%li.public.radio{"data-aspect_id" => "public", :class => ("selected" if publisher_public)}
|
||||
= t('public')
|
||||
|
||||
%li.divider.all_aspects.radio{:style => "padding-bottom: 5px; border-bottom: 1px solid #ddd;", "data-aspect_id" => "all_aspects", :class => ("selected" if (!publisher_public && all_aspects_selected?(selected_aspects)))}
|
||||
= t('all_aspects')
|
||||
|
||||
- for aspect in all_aspects
|
||||
= aspect_dropdown_list_item(aspect, !all_aspects_selected?(selected_aspects) && selected_aspects.include?(aspect) )
|
||||
|
||||
%button{ :disabled => ("disabled" if publisher_hidden_text.blank?), :class => 'button post_preview_button'}
|
||||
= t('shared.publisher.preview')
|
||||
|
||||
= status.submit t('shared.publisher.share'), :disabled => publisher_hidden_text.blank?, :class => 'button creation', :tabindex => 2
|
||||
|
||||
.facebox_content
|
||||
#question_mark_pane
|
||||
= render 'shared/public_explain'
|
||||
= link_to '', contacts_path(:aspect_ids => aspect_ids), :class => 'selected_contacts_link hidden'
|
||||
|
||||
|
||||
#publisher_photo_upload
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
-if publisher_explain
|
||||
:javascript
|
||||
$(document).ready(function() {
|
||||
if( app.publisher ) app.publisher.triggerGettingStarted();
|
||||
});
|
||||
|
||||
.row-fluid#publisher{:class => ((aspect == :profile || publisher_open) ? "mention_popup" : "closed")}
|
||||
.content_creation
|
||||
= form_for(StatusMessage.new) do |status|
|
||||
= status.error_messages
|
||||
%params
|
||||
#publisher_textarea_wrapper
|
||||
- if current_user.getting_started?
|
||||
= status.text_area :fake_text, :rows => 2, :value => h(publisher_formatted_text), :tabindex => 1, :placeholder => "#{t('contacts.index.start_a_conversation')}...",
|
||||
'data-title' => popover_with_close_html( '1. ' + t('shared.public_explain.share') ),
|
||||
'data-content' => t('shared.public_explain.new_user_welcome_message')
|
||||
- else
|
||||
= status.text_area :fake_text, :rows => 2, :value => h(publisher_formatted_text), :tabindex => 1, :placeholder => "#{t('contacts.index.start_a_conversation')}..."
|
||||
= status.hidden_field :text, :value => h(publisher_hidden_text), :class => 'clear_on_submit'
|
||||
|
||||
.row-fluid#photodropzone_container
|
||||
%ul#photodropzone
|
||||
.row-fluid#location_container
|
||||
= hidden_field :location, :coords
|
||||
.row-fluid#poll_creator_container
|
||||
-# handlebars template
|
||||
.row-fluid#button_container
|
||||
#publisher-images.pull-right
|
||||
#poll_creator.btn.btn-link{:title => t('shared.publisher.poll.add_a_poll')}
|
||||
%i.entypo.bar-graph
|
||||
#file-upload.btn.btn-link{:title => t('shared.publisher.upload_photos')}
|
||||
%i.entypo.camera.publisher_image
|
||||
#locator.btn.btn-link{:title => t('shared.publisher.get_location')}
|
||||
%i.entypo.location.publisher_image
|
||||
#hide_location.btn.btn-link{:title => t('shared.publisher.remove_location')}
|
||||
%i.entypo.cross.publisher_image
|
||||
%span.help-block.markdownIndications
|
||||
!= t('shared.publisher.formatWithMarkdown', markdown_link: link_to(t('help.markdown'), 'https://diasporafoundation.org/formatting', target: :blank))
|
||||
|
||||
- if publisher_public
|
||||
= hidden_field_tag 'aspect_ids[]', "public"
|
||||
- elsif all_aspects_selected?(selected_aspects)
|
||||
= hidden_field_tag 'aspect_ids[]', "all_aspects"
|
||||
- else
|
||||
- for aspect_id in aspect_ids
|
||||
= hidden_field_tag 'aspect_ids[]', aspect_id.to_s
|
||||
|
||||
.row-fluid#publisher_spinner{:class => 'hidden'}
|
||||
= image_tag 'ajax-loader.gif'
|
||||
.row-fluid.options_and_submit
|
||||
.public_toggle
|
||||
.btn.btn-default.pull-left#hide_publisher{:title => t('shared.publisher.discard_post')}
|
||||
%span.text
|
||||
=t('cancel')
|
||||
|
||||
.btn-toolbar.pull-right
|
||||
%span#publisher_service_icons
|
||||
- if current_user.services
|
||||
- for service in current_user.services
|
||||
= service_button(service)
|
||||
%a.btn.btn-link{ :href => "#question_mark_pane", :class => 'question_mark', :rel => 'facebox', :title => t('shared.public_explain.manage') }
|
||||
%i.entypo.small.cog
|
||||
|
||||
= render :partial => "publisher/aspect_dropdown", :locals => { :selected_aspects => selected_aspects }
|
||||
|
||||
%button{ :disabled => ("disabled" if publisher_hidden_text.blank?), :class => 'btn btn-default post_preview_button'}
|
||||
%span.text
|
||||
= t('shared.publisher.preview')
|
||||
|
||||
%button#submit.btn.btn-primary.creation{ :disabled => ("disabled" if publisher_hidden_text.blank?), :tabindex => 2}
|
||||
%span.text
|
||||
= t('shared.publisher.share')
|
||||
|
||||
.facebox_content
|
||||
#question_mark_pane
|
||||
= render 'shared/public_explain'
|
||||
= link_to '', contacts_path(:aspect_ids => aspect_ids), :class => 'selected_contacts_link hidden'
|
||||
|
||||
|
||||
#publisher_photo_upload
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
= javascript_include_tag :home
|
||||
|
||||
= render :partial => 'publisher/publisher_bootstrap',
|
||||
= render :partial => 'publisher/publisher',
|
||||
:locals => { :aspect => @aspect,
|
||||
:aspect_ids => @aspect_ids,
|
||||
:selected_aspects => @aspects_with_person,
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
= render 'aspects/aspect_listings', :stream => @stream
|
||||
%li
|
||||
= render 'tags/followed_tags_listings'
|
||||
|
||||
|
||||
.span6
|
||||
#aspect_stream_container.stream_container
|
||||
= render 'aspects/aspect_stream', :stream => @stream
|
||||
|
|
@ -56,4 +56,3 @@
|
|||
|
||||
%a{:id=>"back-to-top", :title=>"#{t('layouts.application.back_to_top')}", :href=>"#"}
|
||||
⇧
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@ module Diaspora
|
|||
templates.js
|
||||
validation.js
|
||||
|
||||
blueprint.css
|
||||
bootstrap.css
|
||||
bootstrap-complete.css
|
||||
bootstrap-responsive.css
|
||||
|
|
@ -93,7 +92,6 @@ module Diaspora
|
|||
error_pages.css
|
||||
admin.css
|
||||
mobile/mobile.css
|
||||
new-templates.css
|
||||
rtl.css
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,14 +28,9 @@ describe PeopleController, :type => :controller do
|
|||
sign_in :user, bob
|
||||
end
|
||||
|
||||
it "generates a jasmine fixture using Blueprint", :fixture => true do
|
||||
it "generates a jasmine fixture", :fixture => true do
|
||||
get :aspect_membership_dropdown, :person_id => alice.person.guid
|
||||
save_fixture(html_for("body"), "aspect_membership_dropdown_blueprint")
|
||||
end
|
||||
|
||||
it "generates a jasmine fixture using Bootstrap", :fixture => true do
|
||||
get :aspect_membership_dropdown, :person_id => alice.person.guid, :bootstrap => true
|
||||
save_fixture(html_for("body"), "aspect_membership_dropdown_bootstrap")
|
||||
save_fixture(html_for("body"), "aspect_membership_dropdown")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,126 +0,0 @@
|
|||
describe("app.views.AspectMembershipBlueprint", function(){
|
||||
var resp_success = {status: 200, responseText: '{}'};
|
||||
var resp_fail = {status: 400};
|
||||
|
||||
beforeEach(function() {
|
||||
spec.loadFixture("aspect_membership_dropdown_blueprint");
|
||||
this.view = new app.views.AspectMembershipBlueprint();
|
||||
this.person_id = $('.dropdown_list').data('person_id');
|
||||
this.person_name = $('.dropdown_list').data('person-short-name');
|
||||
|
||||
Diaspora.I18n.load({
|
||||
aspect_dropdown: {
|
||||
started_sharing_with: 'you started sharing with <%= name %>',
|
||||
stopped_sharing_with: 'you stopped sharing with <%= name %>',
|
||||
error: 'unable to add <%= name %>',
|
||||
error_remove: 'unable to remove <%= name %>'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
context('adding to aspects', function() {
|
||||
beforeEach(function() {
|
||||
this.newAspect = $('li:not(.selected)');
|
||||
this.newAspectId = this.newAspect.data('aspect_id');
|
||||
});
|
||||
|
||||
it('marks the aspect as selected', function() {
|
||||
this.newAspect.trigger('click');
|
||||
jasmine.Ajax.requests.mostRecent().respondWith(resp_success);
|
||||
|
||||
expect(this.newAspect.attr('class')).toContain('selected');
|
||||
});
|
||||
|
||||
it('displays flash message when added to first aspect', function() {
|
||||
spec.content().find('li').removeClass('selected');
|
||||
this.newAspect.trigger('click');
|
||||
jasmine.Ajax.requests.mostRecent().respondWith(resp_success);
|
||||
|
||||
expect($('[id^="flash"]')).toBeSuccessFlashMessage(
|
||||
Diaspora.I18n.t('aspect_dropdown.started_sharing_with', {name: this.person_name})
|
||||
);
|
||||
});
|
||||
|
||||
it('displays an error when it fails', function() {
|
||||
this.newAspect.trigger('click');
|
||||
jasmine.Ajax.requests.mostRecent().respondWith(resp_fail);
|
||||
|
||||
expect($('[id^="flash"]')).toBeErrorFlashMessage(
|
||||
Diaspora.I18n.t('aspect_dropdown.error', {name: this.person_name})
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
context('removing from aspects', function(){
|
||||
beforeEach(function() {
|
||||
this.oldAspect = $('li.selected').first();
|
||||
this.oldMembershipId = this.oldAspect.data('membership_id');
|
||||
});
|
||||
|
||||
it('marks the aspect as unselected', function(){
|
||||
this.oldAspect.trigger('click');
|
||||
jasmine.Ajax.requests.mostRecent().respondWith(resp_success);
|
||||
|
||||
expect(this.oldAspect.attr('class')).not.toContain('selected');
|
||||
});
|
||||
|
||||
it('displays a flash message when removed from last aspect', function() {
|
||||
spec.content().find('li.selected:last').removeClass('selected');
|
||||
this.oldAspect.trigger('click');
|
||||
jasmine.Ajax.requests.mostRecent().respondWith(resp_success);
|
||||
|
||||
expect($('[id^="flash"]')).toBeSuccessFlashMessage(
|
||||
Diaspora.I18n.t('aspect_dropdown.stopped_sharing_with', {name: this.person_name})
|
||||
);
|
||||
});
|
||||
|
||||
it('displays an error when it fails', function() {
|
||||
this.oldAspect.trigger('click');
|
||||
jasmine.Ajax.requests.mostRecent().respondWith(resp_fail);
|
||||
|
||||
expect($('[id^="flash"]')).toBeErrorFlashMessage(
|
||||
Diaspora.I18n.t('aspect_dropdown.error_remove', {name: this.person_name})
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
context('summary text in the button', function() {
|
||||
beforeEach(function() {
|
||||
this.btn = $('div.button.toggle');
|
||||
this.btn.text(""); // reset
|
||||
this.view.dropdown = $('ul.dropdown_list');
|
||||
});
|
||||
|
||||
it('shows "no aspects" when nothing is selected', function() {
|
||||
$('li[data-aspect_id]').removeClass('selected');
|
||||
this.view.updateSummary();
|
||||
|
||||
expect(this.btn.text()).toContain(Diaspora.I18n.t('aspect_dropdown.toggle.zero'));
|
||||
});
|
||||
|
||||
it('shows "all aspects" when everything is selected', function() {
|
||||
$('li[data-aspect_id]').addClass('selected');
|
||||
this.view.updateSummary();
|
||||
|
||||
expect(this.btn.text()).toContain(Diaspora.I18n.t('aspect_dropdown.all_aspects'));
|
||||
});
|
||||
|
||||
it('shows the name of the selected aspect ( == 1 )', function() {
|
||||
var list = $('li[data-aspect_id]');
|
||||
list.removeClass('selected'); // reset
|
||||
list.eq(1).addClass('selected');
|
||||
this.view.updateSummary();
|
||||
|
||||
expect(this.btn.text()).toContain(list.eq(1).text());
|
||||
});
|
||||
|
||||
it('shows the number of selected aspects ( > 1)', function() {
|
||||
var list = $('li[data-aspect_id]');
|
||||
list.removeClass('selected'); // reset
|
||||
$([list.eq(1), list.eq(2)]).addClass('selected');
|
||||
this.view.updateSummary();
|
||||
|
||||
expect(this.btn.text()).toContain(Diaspora.I18n.t('aspect_dropdown.toggle', { 'count':2 }));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
@ -4,7 +4,7 @@ describe("app.views.AspectMembership", function(){
|
|||
|
||||
beforeEach(function() {
|
||||
// mock a dummy aspect dropdown
|
||||
spec.loadFixture("aspect_membership_dropdown_bootstrap");
|
||||
spec.loadFixture("aspect_membership_dropdown");
|
||||
this.view = new app.views.AspectMembership({el: $('.aspect_membership_dropdown')});
|
||||
this.person_id = $('.dropdown-menu').data('person_id');
|
||||
this.person_name = $('.dropdown-menu').data('person-short-name');
|
||||
|
|
|
|||
|
|
@ -26,10 +26,9 @@ src_files:
|
|||
# - stylesheets/*.css
|
||||
#
|
||||
stylesheets:
|
||||
- assets/blueprint.css
|
||||
- assets/bootstrap.css
|
||||
- assets/default.css
|
||||
- assets/new-templates.css
|
||||
- assets/application.css
|
||||
|
||||
# helpers
|
||||
#
|
||||
|
|
|
|||