fanforce-app-factory 1.7.1 → 2.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.ruby-version +1 -1
- data/.yardopts +5 -0
- data/.yardopts.rb +1 -0
- data/Gemfile +10 -1
- data/README.md +12 -12
- data/Rakefile +8 -3
- data/apps.json +787 -0
- data/fanforce-app-factory.gemspec +4 -5
- data/lib/fanforce/app_factory.rb +15 -52
- data/lib/fanforce/app_factory/Rakefile +59 -0
- data/lib/fanforce/app_factory/app.rb +50 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_bootstrap.scss +2 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_common.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_directives.scss +7 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_font-awesome.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_ui-select.scss +3 -0
- data/lib/fanforce/app_factory/{assets/lib/common → asset_framework/app_factory/bootstrap}/_bootstrap-overrides.scss +2 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/css → asset_framework/app_factory/bootstrap}/bootstrap.css +2 -2
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/js → asset_framework/app_factory/bootstrap}/bootstrap.js +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/bootstrap/bootstrap.min.css +7 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/js → asset_framework/app_factory/bootstrap}/bootstrap.min.js +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.eot +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.svg +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.ttf +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.woff +0 -0
- data/lib/fanforce/app_factory/{assets/lib → asset_framework/app_factory}/common/_mixins.scss +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives.coffee +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/error/_error.scss +6 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-error → asset_framework/app_factory/directives/error}/arrow-left.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-error → asset_framework/app_factory/directives/error}/icon-error.png +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/initiative-footer/_initiative-footer.coffee +16 -0
- data/lib/fanforce/app_factory/{assets/lib/common/_module-add-initiative-footer.scss → asset_framework/app_factory/directives/initiative-footer/_initiative-footer.scss} +4 -1
- data/lib/fanforce/app_factory/{assets/lib/common/_module-initiative-searcher.scss → asset_framework/app_factory/directives/initiative-searcher/_initiative-searcher.scss} +6 -6
- data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/icon-search.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/spinner.gif +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/sprite-arrows.png +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/loading/_loading.coffee +4 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/loading/_loading.scss +4 -0
- data/lib/fanforce/app_factory/{assets/js/add_source_popup.js → asset_framework/app_factory/directives/saving-to-server/_saving-to-server.coffee} +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/saving-to-server/_saving-to-server.scss +6 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-saving-initiative → asset_framework/app_factory/directives/saving-to-server}/spinner.gif +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/start-arrow/_start-arrow.coffee +8 -0
- data/lib/fanforce/app_factory/{assets/lib/common/_module-start-here.scss → asset_framework/app_factory/directives/start-arrow/_start-arrow.scss} +5 -4
- data/lib/fanforce/app_factory/{assets/lib/common/module-start-here → asset_framework/app_factory/directives/start-arrow}/arrow.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/_module-video-thumbnail.scss → asset_framework/app_factory/directives/video-thumbnail/_video-thumbnail.scss} +3 -3
- data/lib/fanforce/app_factory/{assets/lib/common/module-video-thumbnail → asset_framework/app_factory/directives/video-thumbnail}/icon-play.png +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/font-awesome.coffee +1 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/FontAwesome.otf +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/css → asset_framework/app_factory/font-awesome}/font-awesome.css +2 -2
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/css → asset_framework/app_factory/font-awesome}/font-awesome.min.css +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.eot +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.svg +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.ttf +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.woff +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib.coffee +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/cookie.coffee +16 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/ng-focus-blur.js +68 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/ng-visible.js +7 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/url.coffee +20 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/utils.coffee +11 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/scafolding/_promotional.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/scafolding/_standard.scss +1 -0
- data/lib/fanforce/app_factory/{assets/js/fanforce-engager.js → asset_framework/app_factory/scafolding/promotional.coffee} +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select.coffee +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select.css +171 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select.js +1281 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select_override.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/selectize.default.css +443 -0
- data/lib/fanforce/app_factory/cli/_cleanorgs.rb +54 -0
- data/lib/fanforce/app_factory/controllers/base_controller.rb +5 -1
- data/lib/fanforce/app_factory/core_config.rb +95 -0
- data/lib/fanforce/app_factory/scafolding/Routes.rb +64 -0
- data/lib/fanforce/app_factory/{layouts → scafolding/layouts}/engage.haml +0 -0
- data/lib/fanforce/app_factory/{public → scafolding/public}/favicon.ico +0 -0
- data/lib/fanforce/app_factory/{public → scafolding/public}/robots.txt +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/layouts/_promotional.scss → scafolding/scafolding_assets/css/promotional.scss} +4 -9
- data/lib/fanforce/app_factory/scafolding/scafolding_assets/css/standard.scss +10 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-16.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-32.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-42.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/marketplace.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/marketplace.psd +0 -0
- data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/fanforce_bg.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/icon-42.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/icon-plus.png +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/add_initiative.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/add_source.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/close_popup.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/config.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/convert_initiative.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/dashboard.haml +1 -1
- data/lib/fanforce/app_factory/{views → scafolding/views}/edit_initiative.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/engage.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/index.haml +1 -1
- data/lib/fanforce/app_factory/{views → scafolding/views}/new_message.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/source_details.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/widget_templates.haml +0 -0
- data/lib/fanforce/app_factory/sinatra/Routes.rb +17 -0
- data/lib/fanforce/app_factory/sinatra/_load.rb +76 -0
- data/lib/fanforce/app_factory/sinatra/error_handling.rb +47 -0
- data/lib/fanforce/app_factory/{routes_core.rb → sinatra/helper_routes/app.rb} +8 -8
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_behavior.rb +23 -0
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_broadcaster.rb +7 -0
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_connector.rb +11 -0
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_identifier.rb +3 -0
- data/lib/fanforce/app_factory/{routes_js_widget.rb → sinatra/helper_routes/com_js_widget.rb} +1 -1
- data/lib/fanforce/app_factory/{config → sinatra}/helpers/assets.rb +1 -1
- data/lib/fanforce/app_factory/sinatra/helpers/fanforce.rb +18 -0
- data/lib/fanforce/app_factory/{config → sinatra}/helpers/json.rb +1 -1
- data/lib/fanforce/app_factory/{config → sinatra}/helpers/ractive.rb +1 -1
- data/lib/fanforce/app_factory/sprockets/_all.rb +2 -0
- data/lib/fanforce/app_factory/sprockets/compiler.rb +2 -11
- data/lib/fanforce/app_factory/sprockets/hacks.rb +1 -1
- data/lib/fanforce/app_factory/version.rb +2 -2
- data/workers.json +323 -0
- metadata +121 -222
- data/.rbenv-gemsets +0 -1
- data/lib/fanforce/app_factory.rake +0 -56
- data/lib/fanforce/app_factory/_init_sinatra.rb +0 -80
- data/lib/fanforce/app_factory/assets/css/add_edit_initiative.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/add_source.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/config.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/convert_initiative.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/dashboard.scss +0 -24
- data/lib/fanforce/app_factory/assets/css/engage.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/new_message.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/promotional.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/source_details.scss +0 -1
- data/lib/fanforce/app_factory/assets/js/add_edit_initiative.js +0 -1
- data/lib/fanforce/app_factory/assets/js/add_source.js +0 -1
- data/lib/fanforce/app_factory/assets/js/config.js +0 -1
- data/lib/fanforce/app_factory/assets/js/convert_initiative.js +0 -1
- data/lib/fanforce/app_factory/assets/js/dashboard.coffee +0 -18
- data/lib/fanforce/app_factory/assets/js/fanforce-finder.js +0 -0
- data/lib/fanforce/app_factory/assets/js/new_message.js +0 -1
- data/lib/fanforce/app_factory/assets/js/promotional.js +0 -1
- data/lib/fanforce/app_factory/assets/js/source_details.js +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/_module-error.scss +0 -11
- data/lib/fanforce/app_factory/assets/lib/common/_module-page-loading.scss +0 -1
- data/lib/fanforce/app_factory/assets/lib/common/_module-saving-initiative.scss +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/_tags.scss +0 -1
- data/lib/fanforce/app_factory/assets/lib/common/_variables.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/broadcaster-divider-arrow.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/icons/dropdown-arrow.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/icons/initiative.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_add_edit_initiative.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_add_source.scss +0 -18
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_config.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_convert_initiative.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_dashboard.scss +0 -18
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_engage.scss +0 -80
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_new_message.scss +0 -24
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_source_details.scss +0 -17
- data/lib/fanforce/app_factory/assets/lib/common/layouts/add_edit_initiative.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/add_source.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/config.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/convert_initiative.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/dashboard.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/engage.js +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/layouts/new_message.js +0 -5
- data/lib/fanforce/app_factory/assets/lib/common/layouts/promotional.js +0 -1
- data/lib/fanforce/app_factory/assets/lib/common/layouts/source_details.js +0 -5
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.css +0 -7
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.js +0 -454
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.css +0 -82
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.js +0 -803
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/css/bootstrap.min.css +0 -7
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.eot +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.svg +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.ttf +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.woff +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/_chosen_override.scss +0 -6
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen-sprite.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen-sprite@2x.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen.jquery.js +0 -1166
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen.scss +0 -434
- data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery-1.10.2.js +0 -9789
- data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery.inputHint.js +0 -154
- data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery.tmpl.debug.js +0 -484
- data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.custom-handlers.coffee +0 -155
- data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.debug.js +0 -4469
- data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.min.js +0 -96
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/_select2_override.scss +0 -47
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2-spinner.gif +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2.scss +0 -617
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2_modified.js +0 -3225
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2x2.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/underscore/underscore.debug.js +0 -999
- data/lib/fanforce/app_factory/config/_error_handling.rb +0 -27
- data/lib/fanforce/app_factory/config/core_config.rb +0 -104
- data/lib/fanforce/app_factory/config/helpers/fanforce.rb +0 -22
- data/lib/fanforce/app_factory/layouts/add_edit_initiative.haml +0 -18
- data/lib/fanforce/app_factory/layouts/add_source.haml +0 -18
- data/lib/fanforce/app_factory/layouts/config.haml +0 -18
- data/lib/fanforce/app_factory/layouts/convert_initiative.haml +0 -18
- data/lib/fanforce/app_factory/layouts/dashboard.haml +0 -18
- data/lib/fanforce/app_factory/layouts/new_message.haml +0 -18
- data/lib/fanforce/app_factory/layouts/promotional.haml +0 -18
- data/lib/fanforce/app_factory/layouts/source_details.haml +0 -18
- data/lib/fanforce/app_factory/routes_behavior.rb +0 -31
- data/lib/fanforce/app_factory/routes_broadcaster.rb +0 -7
- data/lib/fanforce/app_factory/routes_connector.rb +0 -11
- data/lib/fanforce/app_factory/routes_identifier.rb +0 -3
- data/lib/fanforce/app_factory_workers.rb +0 -2
data/.rbenv-gemsets
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
fanforce-app-factory
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'fanforce/api'
|
2
|
-
require 'fileutils'
|
3
|
-
require 'json'
|
4
|
-
require 'yaml'
|
5
|
-
require_relative 'app_factory/sprockets/hacks'
|
6
|
-
require_relative 'app_factory/sprockets/compiler'
|
7
|
-
require_relative 'app_factory/version'
|
8
|
-
|
9
|
-
FanforceApp.config.load_env
|
10
|
-
FanforceApp.config.load_redis
|
11
|
-
|
12
|
-
namespace :assets do
|
13
|
-
root_dir = FanforceApp.config.root_dir
|
14
|
-
factory_root_dir = FanforceApp.config.factory_root_dir
|
15
|
-
|
16
|
-
desc 'Precompile assets for production'
|
17
|
-
task :precompile => :clean do
|
18
|
-
sprockets = SprocketsCompiler.setup(root_dir)
|
19
|
-
|
20
|
-
puts 'PRECOMPILING ASSETS... '
|
21
|
-
SprocketsCompiler.new(sprockets: sprockets, precompile: [/(\/|^)[^_\/]+[^\/]*\.(css|js|png|gif|jpeg|jpg|otf|eot|svg|ttf|woff)/]).compile
|
22
|
-
puts 'DONE'
|
23
|
-
|
24
|
-
print 'GENERATING ASSET MANIFESTS... '
|
25
|
-
asset_list = {}
|
26
|
-
sprockets.each_logical_path do |logical_path|
|
27
|
-
if File.basename(logical_path) !~ /^[_]/ and asset = sprockets.find_asset(logical_path)
|
28
|
-
asset_list[logical_path] = "/assets/#{asset.digest_path}"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
IO.write File.join(root_dir, '/public/asset_manifest.json'), JSON.generate(asset_list)
|
32
|
-
IO.write File.join(root_dir, '/public/asset_manifest.json'), "ASSETS=#{JSON.generate(asset_list)}"
|
33
|
-
IO.write File.join(root_dir, '/public/asset_manifest.json'), asset_list.to_yaml
|
34
|
-
puts 'DONE'
|
35
|
-
|
36
|
-
print 'ENSURING FAVICON EXISTS... '
|
37
|
-
FileUtils.cp("#{factory_root_dir}/public/favicon.ico", "#{root_dir}/public/favicon.ico") if !File.exists?(root_dir+'/public/favicon.ico')
|
38
|
-
puts 'DONE'
|
39
|
-
|
40
|
-
print 'ENSURING ROBOTS.TXT EXISTS... '
|
41
|
-
FileUtils.cp("#{factory_root_dir}/public/robots.txt", "#{root_dir}/public/robots.txt") if !File.exists?(root_dir+'/public/robots.txt')
|
42
|
-
puts 'DONE'
|
43
|
-
end
|
44
|
-
|
45
|
-
desc 'Clean assets folder'
|
46
|
-
task :clean do
|
47
|
-
print 'DESTROYING PUBLIC/ASSETS... '
|
48
|
-
FileUtils.rm_rf File.join(root_dir, '/public/assets')
|
49
|
-
puts 'DONE'
|
50
|
-
end
|
51
|
-
|
52
|
-
task :test do
|
53
|
-
puts 'TEST WORKED!'
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
@@ -1,80 +0,0 @@
|
|
1
|
-
require 'sinatra/content_for'
|
2
|
-
require 'bugsnag'
|
3
|
-
####################################################################################
|
4
|
-
|
5
|
-
class FanforceApp::Sinatra < Sinatra::Base
|
6
|
-
require_relative 'config/_error_handling'
|
7
|
-
require_relative 'config/helpers/assets'
|
8
|
-
require_relative 'config/helpers/ractive'
|
9
|
-
require_relative 'config/helpers/json'
|
10
|
-
require_relative 'config/helpers/fanforce'
|
11
|
-
|
12
|
-
use Rack::JSONR, :method_override => :all
|
13
|
-
use Bugsnag::Rack
|
14
|
-
|
15
|
-
helpers Sinatra::AssetHelpers
|
16
|
-
helpers Sinatra::RactiveHelpers
|
17
|
-
helpers Sinatra::JSONHelpers
|
18
|
-
helpers Sinatra::FanforceHelpers
|
19
|
-
helpers Sinatra::ContentFor
|
20
|
-
|
21
|
-
def self.any(url,&block)
|
22
|
-
get(url, &block)
|
23
|
-
put(url, &block)
|
24
|
-
post(url, &block)
|
25
|
-
delete(url, &block)
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.default_javascript_package(package_name)
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.require_controllers
|
33
|
-
require "#{FanforceApp.config.factory_root_dir}/controllers/base_controller"
|
34
|
-
Dir["#{FanforceApp.config.root_dir}/controllers/*_controller.rb"].each {|f| require f }
|
35
|
-
end
|
36
|
-
|
37
|
-
@@static_files = {}
|
38
|
-
def self.static(url, *args, &block)
|
39
|
-
@@static_files[url] = {args: args, block: block}
|
40
|
-
get(url, &block)
|
41
|
-
end
|
42
|
-
|
43
|
-
def page(page, options={})
|
44
|
-
gem_dir = Pathname.new(File.expand_path('../', __FILE__))
|
45
|
-
app_dir = Pathname.new(File.expand_path('../', settings.views))
|
46
|
-
app_views_dir = Pathname.new(settings.views)
|
47
|
-
gem_rel_dir = gem_dir.relative_path_from(app_views_dir).to_s
|
48
|
-
gem_abs_dir = File.expand_path(gem_rel_dir, app_views_dir)
|
49
|
-
|
50
|
-
if !File.exists?("#{app_dir}/views/#{page}.haml")
|
51
|
-
if File.exists?("#{app_dir}/views/#{options[:com_dir]}/#{page}.haml")
|
52
|
-
page_path = :"#{options[:com_dir]}/#{page}"
|
53
|
-
else
|
54
|
-
page_path = :"#{gem_rel_dir}/views/#{page}" if File.exists?("#{gem_abs_dir}/views/#{page}.haml")
|
55
|
-
end
|
56
|
-
end
|
57
|
-
page_path ||= page
|
58
|
-
|
59
|
-
if options[:layout]
|
60
|
-
if File.exists?("#{app_dir}/layouts/#{options[:layout]}.haml")
|
61
|
-
options[:layout] = :"../layouts/#{options[:layout]}"
|
62
|
-
else
|
63
|
-
options[:layout] = :"#{gem_rel_dir}/layouts/#{options[:layout]}"
|
64
|
-
end
|
65
|
-
else
|
66
|
-
options[:layout] = false
|
67
|
-
end
|
68
|
-
|
69
|
-
haml page_path, options
|
70
|
-
end
|
71
|
-
|
72
|
-
configure do
|
73
|
-
FanforceApp.load_config
|
74
|
-
set :haml, {:escape_attrs => false}
|
75
|
-
set :static, true
|
76
|
-
set :protection, :except => [:frame_options, :json_csrf]
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/add_edit_initiative';
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/add_source';
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/config';
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/convert_initiative';
|
@@ -1,24 +0,0 @@
|
|
1
|
-
@import 'common/layouts/dashboard';
|
2
|
-
|
3
|
-
.module-plugin-button { width:100%; color:#3b5365; @include ff-gradient(#e2e9f8,#d8e1ef); @include box-shadow(#f7f9fd 1px 1px 0 inset, #e8e8e8 1px 1px 2px); height:42px; line-height: 35px; padding:0; text-align: left; position:relative;
|
4
|
-
&:hover { @include ff-gradient(#cdd6ea,#bac9df); }
|
5
|
-
.icon { background-position:0 0; background-repeat:no-repeat; width:32px; height:32px; position:absolute; left:5px; top:5px; }
|
6
|
-
.text { padding-left:48px; margin-right:72px; font-size:15px; font-weight: bold; overflow:hidden; white-space:nowrap; text-overflow: ellipsis; padding-top:0; }
|
7
|
-
.stats { position:absolute; top:3px; right:0; font-size:11px; font-weight:100; width:65px; padding-right: 8px; color:#7b8d9e; text-shadow:none; overflow:hidden; white-space:nowrap; text-overflow: ellipsis; text-align:right;
|
8
|
-
&.faded { @include opacity(.4); }
|
9
|
-
}
|
10
|
-
}
|
11
|
-
|
12
|
-
.container-fluid { padding: 50px;
|
13
|
-
h3 { color: #adb1ba; border-bottom: 1px solid #ebebeb; padding-bottom: 15px; margin-bottom: 10px; }
|
14
|
-
.description { font-size: 18px; color: #c1c5cd; line-height: 27px; padding-right:20px; }
|
15
|
-
|
16
|
-
ul.plugins {
|
17
|
-
li { @include reset-ul(); border-bottom: 1px solid #ebebeb; padding-bottom:10px; margin-bottom:10px;
|
18
|
-
.command { float:left; color: #666666; width: 30%; line-height: 50px; font-weight: bold; @include box-sizing(border-box); }
|
19
|
-
button { width: 70%; @extend .module-plugin-button; @include box-sizing(border-box); }
|
20
|
-
}
|
21
|
-
|
22
|
-
}
|
23
|
-
}
|
24
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/engage';
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/new_message';
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/promotional';
|
@@ -1 +0,0 @@
|
|
1
|
-
@import 'common/layouts/source_details';
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require common/layouts/add_edit_initiative
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require common/layouts/add_source
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require common/layouts/add_edit_initiative
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require common/layouts/convert_initiative
|
@@ -1,18 +0,0 @@
|
|
1
|
-
#= require common/layouts/dashboard
|
2
|
-
|
3
|
-
class @DashboardController
|
4
|
-
constructor: (app_id) ->
|
5
|
-
@description = ko.observable('')
|
6
|
-
@plugins = ko.observableArray([])
|
7
|
-
request = FF.get "/apps/#{app_id}", {include_associations: {plugins: 'name,type,public_urls,data_source_count'}, include_fields: 'description'}
|
8
|
-
request.done (data)=>
|
9
|
-
@description data.description
|
10
|
-
@plugins @preparePlugins(data.plugins)
|
11
|
-
|
12
|
-
preparePlugins: (plugins) ->
|
13
|
-
for plugin in plugins
|
14
|
-
plugin.addSource = () ->
|
15
|
-
plugin.addInitiative = () ->
|
16
|
-
plugin.newBroadcast = () ->
|
17
|
-
plugins
|
18
|
-
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require common/layouts/new_message
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require common/layouts/promotional
|
File without changes
|
@@ -1,11 +0,0 @@
|
|
1
|
-
$module_path: "/assets/common/module-error";
|
2
|
-
/////////////////////////////////////////////////////////////////////////////////////////
|
3
|
-
|
4
|
-
.module-error { position:relative; color:#ffffff; font-size:12; @include min-height(30px); @include border-radius(1px); line-height:30px; background:#e70000;
|
5
|
-
.msg { background:url(#{$module_path}/icon-error.png) 7px 7px no-repeat; padding:0px 13px 0 30px; }
|
6
|
-
}
|
7
|
-
|
8
|
-
.module-error-bubble { position:absolute; top:0; right:-240px;
|
9
|
-
.arrow-left { position:absolute; left:-9px; top:11px; width:11px; height:20px; background:url(#{$module_path}/arrow-left.png) left top no-repeat; }
|
10
|
-
.error { width:200px; @include border-radius(2px); background:#fd4141; border:#ff0000 1px solid; @include box-shadow(#bcbcbc 1px 1px 2px, #fe7474 1px 1px 0 inset); color:#ffffff; padding:12px; padding-bottom:10px; }
|
11
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
.module-page-loading { color:#cccccc; font-size:15px; text-align: center; padding-top:45px; }
|
@@ -1,6 +0,0 @@
|
|
1
|
-
$module_path: "/assets/common/module-saving-initiative";
|
2
|
-
/////////////////////////////////////////////////////////////////////////////////////////
|
3
|
-
|
4
|
-
.module-saving-initiative { text-align: center; height:100px; position:absolute; left:0; margin-top:80px; width:100%; color:#b9cddc; text-shadow:#ffffff 1px 1px 0; display:none; text-align:center;
|
5
|
-
.spinner { width:64px; height:64px; background:url(#{$module_path}/spinner.gif) 0 0 no-repeat; margin:0 auto 20px; }
|
6
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1,27 +0,0 @@
|
|
1
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// SET CORE VARIABLES
|
3
|
-
// Define all core variables here
|
4
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
5
|
-
$link-color: #1861a8;
|
6
|
-
$action-color: #ffb400;
|
7
|
-
$true-fan-color: #72c14b;
|
8
|
-
$error-color: #e70000;
|
9
|
-
|
10
|
-
$font-family: 'Helvetica', Arial, sans-serif;
|
11
|
-
$font-size-small: 11px;
|
12
|
-
$font-size-normal: 12px;
|
13
|
-
$font-size-large: 13px;
|
14
|
-
|
15
|
-
$line-height: 1.5em;
|
16
|
-
|
17
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
18
|
-
// SET LAYOUT CONTENT WIDTHS
|
19
|
-
// This has to be defined as a function to get around the scoping limitations of sass
|
20
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
21
|
-
@function content-width($layout: 'none') {
|
22
|
-
@if $layout == 'website' { @return 960px; }
|
23
|
-
@else if $layout == 'application' { @return 1000px; }
|
24
|
-
@else if $layout == 'auth' { @return 1000px; }
|
25
|
-
@else if $layout == 'styleguide' { @return 1120px; }
|
26
|
-
@else { @return 960px; }
|
27
|
-
}
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,27 +0,0 @@
|
|
1
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// COMPASS AND BOOTSTRAP
|
3
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
4
|
-
@import 'compass/css3';
|
5
|
-
@import 'compass/utilities';
|
6
|
-
@import 'vendors/bootstrap/css/bootstrap.min.css';
|
7
|
-
@import 'vendors/font-awesome/css/font-awesome.min.css';
|
8
|
-
|
9
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
10
|
-
// COMMON
|
11
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
12
|
-
@import 'common/mixins';
|
13
|
-
@import 'common/variables';
|
14
|
-
@import 'common/bootstrap-overrides';
|
15
|
-
|
16
|
-
@import 'common/module-page-loading';
|
17
|
-
@import 'common/module-saving-initiative';
|
18
|
-
@import 'common/module-add-initiative-footer';
|
19
|
-
|
20
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
21
|
-
// BASE STYLES (AS FEW AS POSSIBLE)
|
22
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
23
|
-
|
24
|
-
body { overflow:hidden; background: #F4F8FC;
|
25
|
-
.hide { display:none !important; }
|
26
|
-
.dropdown-menu { @include border-radius(4px); border:1px solid #aec7dd; @include box-shadow(1px 1px 3px rgba(0, 0, 0, 0.2), #ffffff 1px 1px 0 inset); background:#f7fafd; }
|
27
|
-
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// COMPASS AND BOOTSTRAP
|
3
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
4
|
-
@import 'compass/css3';
|
5
|
-
@import 'compass/utilities';
|
6
|
-
@import 'vendors/bootstrap/css/bootstrap.min.css';
|
7
|
-
@import 'vendors/font-awesome/css/font-awesome.min.css';
|
8
|
-
|
9
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
10
|
-
// COMMON
|
11
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
12
|
-
@import 'common/mixins';
|
13
|
-
@import 'common/variables';
|
14
|
-
@import 'common/bootstrap-overrides';
|
15
|
-
|
16
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
17
|
-
// BASE STYLES (AS FEW AS POSSIBLE)
|
18
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
@@ -1,27 +0,0 @@
|
|
1
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// COMPASS AND BOOTSTRAP
|
3
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
4
|
-
@import 'compass/css3';
|
5
|
-
@import 'compass/utilities';
|
6
|
-
@import 'vendors/bootstrap/css/bootstrap.min.css';
|
7
|
-
@import 'vendors/font-awesome/css/font-awesome.min.css';
|
8
|
-
|
9
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
10
|
-
// COMMON
|
11
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
12
|
-
@import 'common/mixins';
|
13
|
-
@import 'common/variables';
|
14
|
-
@import 'common/tags';
|
15
|
-
|
16
|
-
@import 'common/module-page-loading';
|
17
|
-
@import 'common/module-saving-initiative';
|
18
|
-
@import 'common/module-add-initiative-footer';
|
19
|
-
|
20
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
21
|
-
// BASE STYLES (AS FEW AS POSSIBLE)
|
22
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
23
|
-
|
24
|
-
body { overflow:hidden; background: white;
|
25
|
-
.hide { display:none !important; }
|
26
|
-
.dropdown-menu { @include border-radius(4px); border:1px solid #aec7dd; @include box-shadow(1px 1px 3px rgba(0, 0, 0, 0.2), #ffffff 1px 1px 0 inset); background:#f7fafd; }
|
27
|
-
}
|
@@ -1,27 +0,0 @@
|
|
1
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// COMPASS AND BOOTSTRAP
|
3
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
4
|
-
@import 'compass/css3';
|
5
|
-
@import 'compass/utilities';
|
6
|
-
@import 'vendors/bootstrap/css/bootstrap.min.css';
|
7
|
-
@import 'vendors/font-awesome/css/font-awesome.min.css';
|
8
|
-
|
9
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
10
|
-
// COMMON
|
11
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
12
|
-
@import 'common/mixins';
|
13
|
-
@import 'common/variables';
|
14
|
-
@import 'common/bootstrap-overrides';
|
15
|
-
|
16
|
-
@import 'common/module-page-loading';
|
17
|
-
@import 'common/module-saving-initiative';
|
18
|
-
@import 'common/module-add-initiative-footer';
|
19
|
-
|
20
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
21
|
-
// BASE STYLES (AS FEW AS POSSIBLE)
|
22
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
23
|
-
|
24
|
-
body { overflow:hidden; background: #F4F8FC;
|
25
|
-
.hide { display:none !important; }
|
26
|
-
.dropdown-menu { @include border-radius(4px); border:1px solid #aec7dd; @include box-shadow(1px 1px 3px rgba(0, 0, 0, 0.2), #ffffff 1px 1px 0 inset); background:#f7fafd; }
|
27
|
-
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// COMPASS AND BOOTSTRAP
|
3
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
4
|
-
@import 'compass/css3';
|
5
|
-
@import 'compass/utilities';
|
6
|
-
@import 'vendors/bootstrap/css/bootstrap.min.css';
|
7
|
-
@import 'vendors/font-awesome/css/font-awesome.min.css';
|
8
|
-
|
9
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
10
|
-
// COMMON
|
11
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
12
|
-
@import 'common/mixins';
|
13
|
-
@import 'common/variables';
|
14
|
-
@import 'common/tags';
|
15
|
-
|
16
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
17
|
-
// BASE STYLES (AS FEW AS POSSIBLE)
|
18
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
@@ -1,80 +0,0 @@
|
|
1
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// FRAMEWORK: CORE VARIABLES & SASS RESET
|
3
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
4
|
-
//@import "compass/reset";
|
5
|
-
@import "common/variables";
|
6
|
-
|
7
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
8
|
-
// FRAMEWORK: SASS LIBRARY
|
9
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
10
|
-
@import "compass/css3";
|
11
|
-
@import "compass/layout/sticky-footer";
|
12
|
-
@import "compass/utilities";
|
13
|
-
|
14
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
15
|
-
// FRAMEWORK: COMMON FILES
|
16
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
17
|
-
@import "common/mixins";
|
18
|
-
@import "common/variables";
|
19
|
-
|
20
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
21
|
-
// COMMON TAGS
|
22
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
23
|
-
|
24
|
-
h1, .h1 { font-size: 30px; font-weight:bold; margin:10px 0; line-height:1em; }
|
25
|
-
h2, .h2 { font-size: 20px; font-weight:bold; margin:8px 0; line-height:1em; }
|
26
|
-
h3, .h3 { font-size: 17px; font-weight:bold; margin:6px 0; line-height:1em; }
|
27
|
-
h4, .h4 { font-size: 14px; font-weight:bold; margin:4px 0; line-height:1em; }
|
28
|
-
h5, .h5 { font-size: $font-size-large; font-weight: bold; margin:2px 0; line-height:1em; }
|
29
|
-
h6, .h6 { font-size: $font-size-normal; font-weight: bold; margin:2px 0; line-height:1em; }
|
30
|
-
h7, .h7 { font-size: $font-size-small; font-weight: bold; margin:2px 0; line-height:1em; }
|
31
|
-
|
32
|
-
p, .p { line-height:$line-height; margin-bottom:10px; }
|
33
|
-
a { text-decoration:none; color:$link-color;
|
34
|
-
&:hover { text-decoration:underline; }
|
35
|
-
}
|
36
|
-
strong, .strong { font-weight:bold; }
|
37
|
-
emphasis, .emphasis { font-style:italic; }
|
38
|
-
|
39
|
-
ul { list-style-type: square; list-style-position:outside; padding:0; margin-left:0; line-height:$line-height;
|
40
|
-
li { margin-top:5px; margin-left:1em; }
|
41
|
-
}
|
42
|
-
|
43
|
-
ol { list-style-type:decimal; list-style-position:outside; padding:0; margin-left:0; line-height:$line-height;
|
44
|
-
li { margin-top:5px; margin-left:1.5em; }
|
45
|
-
}
|
46
|
-
|
47
|
-
pre { font-family:"Courier New", Courier, monospace, sans-serif; color: #555; line-height: 1.6em; }
|
48
|
-
|
49
|
-
.hide { display:none !important; }
|
50
|
-
|
51
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
52
|
-
// FRAMEWORK: MODULE ACTIVATION
|
53
|
-
//////////////////////////////////////////////////////////////////////////////////////////////////
|
54
|
-
html { height:100%; }
|
55
|
-
body { height: 100%; background-color:#292a2e; @include ff-gradient(#26262a,#2b2d31); text-align:center; margin:0; font-family:$font-family; font-size:$font-size-normal; line-height:$line-height;
|
56
|
-
$content-width:content-width('engage');
|
57
|
-
@include sticky-footer(40px, ".lyt-root", ".lyt-root-footer", ".lyt-footer");
|
58
|
-
|
59
|
-
.lyt-root { @include ff-gradient(#26262a,#2b2d31); }
|
60
|
-
.lyt-header { min-height:80px;
|
61
|
-
.hello { background: #2d2d31; height:40px; line-height: 44px; text-align: right; border-bottom:1px solid #000000; @include box-shadow(#343438 0 1px 0);
|
62
|
-
.hello-wrapper { max-width: 960px; margin:0 auto; }
|
63
|
-
.greeting { color: #858789; font-style: italic; padding-right:10px; font-weight: 100; }
|
64
|
-
a { font-weight: bold; color: #aeb2b4; }
|
65
|
-
}
|
66
|
-
.logo { border-bottom:1px solid #000000; @include box-shadow(#343438 0 1px 0); background-position: center center; background-repeat:no-repeat;
|
67
|
-
img { margin-top:18px; }
|
68
|
-
}
|
69
|
-
}
|
70
|
-
.lyt-footer { color:#565d65; font-size:10px; line-height:40px; border-top:1px solid #343438; @include box-shadow(#000000 0 -1px 0);
|
71
|
-
a { color:#565d65;
|
72
|
-
&:hover { color:#747d88; }
|
73
|
-
}
|
74
|
-
}
|
75
|
-
|
76
|
-
// layout-specific components
|
77
|
-
.ff-widget { display:inline-block; @include box-shadow(#000000 2px 2px 2px); border:10px solid #ffffff; @include border-radius(3px); margin:50px 0 50px; color: #444444;
|
78
|
-
.loading { line-height: 100px; }
|
79
|
-
}
|
80
|
-
}
|