@@ -49,7 +53,7 @@
- 浣滀笟鎻忚堪锛
+ 浣滀笟鎻忚堪锛
<% @homework.attachments.map do |attachment| %>
<% if attachment.description != nil && attachment.description != "" %>
@@ -67,16 +71,20 @@
-
浣滀笟寰楀垎锛
+
+ 浣滀笟寰楀垎锛
+
寰楀垎姣斾緥
<% 100.step(20,-20) do |star| %>
-
+
-
<%= @stars_status_map["star#{(star/20).to_s}".to_sym] %>
@@ -85,7 +93,11 @@
-
鏈缁堝緱鍒
+
鏈缁堝緱鍒
+
+ <%= @homework.average(:quality).try(:avg).try(:round, 2).to_s %>
+ 鍒
+
<%= rating_for @homework, :static => true, dimension: :quality, class: 'rateable div_inline' %>
@@ -102,6 +114,18 @@
+
+
浣滀笟璇勮锛
璇勫垎:
@@ -118,8 +142,15 @@
- <%= render :partial => 'showjour', :locals => {:jour => @jours} %>
+ <%= render :partial => 'showjour', :locals => {:jour => @jour} %>
+
+
+
+
-<%#= link_to '杩斿洖绔炶禌椤甸潰', show_softapplication_contest_path(@softapplication.contest) %>
diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb
index 6aef01e1d..f4857bd22 100644
--- a/app/views/issues/_attributes.html.erb
+++ b/app/views/issues/_attributes.html.erb
@@ -2,7 +2,7 @@
<%= l(:label_change_properties) %>
-
+
<% if @issue.safe_attribute?('status_id') && @allowed_statuses.present? %>
<%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true},
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index 785479bd5..4e0135eaa 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -114,10 +114,18 @@
- <%= link_to "#{teacherCount(@project)}", project_member_path(@project, :role => 1), :course => '1' %>
+ <% if User.current.member_of?(@project) %>
+ <%= link_to "#{teacherCount(@project)}", project_member_path(@project, :role => 1), :course => '1' %>
+ <% else %>
+ <%= teacherCount(@project)%>
+ <% end%>
- <%= link_to "#{studentCount(@project)}", project_member_path(@project, :role => 2), :course => '1' %>
+ <% if User.current.member_of?(@project) %>
+ <%= link_to "#{studentCount(@project)}", project_member_path(@project, :role => 2), :course => '1' %>
+ <% else %>
+ <%= studentCount(@project)%>
+ <% end %>
<%= link_to files_count, project_files_path(@project) %>
diff --git a/app/views/layouts/base_homework.html.erb b/app/views/layouts/base_homework.html.erb
index aa60f3645..cfdea4a5e 100644
--- a/app/views/layouts/base_homework.html.erb
+++ b/app/views/layouts/base_homework.html.erb
@@ -151,6 +151,7 @@
<%= link_to l(:label_question_student), {:controller => 'bids', :action => 'show' },:class => link_class(:respond)%>
+ <% if User.current.member_of? @bid.courses.first%>
<% if User.current.logged? && @bid.courses.first && (!Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.nil? && (Member.where('user_id = ? and project_id = ?', User.current.id, @bid.courses.first.id).first.roles&Role.where('id = ? or id = ? or id =?',5, 10, 7)).size >0) %>
<%= link_to l(:label_homework_commit), {:controller => 'bids', :action => 'show_project' },:class => link_class(:project)%>
@@ -159,9 +160,10 @@
<% end %>
+ <% end %>
<%= yield %>
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 7504e5755..433e8aae6 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -12,6 +12,7 @@
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
<%= javascript_heads %>
<%= heads_for_theme %>
+ <%= hubspot_head %>
<%= call_hook :view_layouts_base_html_head %>
<%= yield :header_tags -%>
@@ -103,6 +104,14 @@
<%= watcher_link(@project, User.current) %>
<% end %>
+
+
+ <% if ( !(User.current.member_of? @project) && User.current.login?) %>
+
+ <%= applied_link(@project, User.current) %>
+ <% end %>
+
+
diff --git a/app/views/members/appliedproject.js.erb b/app/views/members/appliedproject.js.erb
new file mode 100644
index 000000000..f28558ef6
--- /dev/null
+++ b/app/views/members/appliedproject.js.erb
@@ -0,0 +1 @@
+$('#principals_for_applied_member').html('<%= escape_javascript(render_principals_for_applied_members(@project)) %>');
diff --git a/app/views/members/create.js.erb b/app/views/members/create.js.erb
index 11c468a76..3607ce448 100644
--- a/app/views/members/create.js.erb
+++ b/app/views/members/create.js.erb
@@ -1,11 +1,13 @@
$('#tab-content-members').html('<%= escape_javascript(render :partial => 'projects/settings/members') %>');
hideOnLoad();
-<% if @members.present? && @members.all? {|m| m.valid? } %>
- <% @members.each do |member| %>
- $("#member-<%= member.id %>").effect("highlight");
+<%if !@applied_members%>
+ <% if @members.present? && @members.all? {|m| m.valid? } %>
+ <% @members.each do |member| %>
+ $("#member-<%= member.id %>").effect("highlight");
+ <% end %>
+ <% else %>
+ <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %>
+ alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors))) %>');
<% end %>
-<% else %>
- <% errors = @members.collect {|m| m.errors.full_messages}.flatten.uniq.join(', ') %>
- alert('<%= raw(escape_javascript(l(:notice_failed_to_save_members, :errors => errors))) %>');
<% end %>
diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb
index f9b4e9ac3..0418697c3 100644
--- a/app/views/my/account.html.erb
+++ b/app/views/my/account.html.erb
@@ -33,6 +33,8 @@
<%= l(:label_my_account) %>
+<%= error_messages_for 'user' %>
+<%= error_messages_for 'se' %>
diff --git a/app/views/projects/_course.html.erb b/app/views/projects/_course.html.erb
index adc7c9306..6ea802037 100644
--- a/app/views/projects/_course.html.erb
+++ b/app/views/projects/_course.html.erb
@@ -45,7 +45,7 @@
<%= content_tag('span', l(:label_x_data,:count => files_count)) %>
- <%= content_tag('span', "#{@project.members.count}", :class => "info") %>
+ <%= content_tag('span', "#{garble @project.members.count}", :class => "info") %>
<%= content_tag('span', l(:label_x_member, :count => @project.members.count)) %>
diff --git a/app/views/projects/_project.html.erb b/app/views/projects/_project.html.erb
index 541a71f51..a64038424 100644
--- a/app/views/projects/_project.html.erb
+++ b/app/views/projects/_project.html.erb
@@ -41,9 +41,10 @@
-
<% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 58ce0dd29..d84cfb664 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -147,6 +147,8 @@ en:
general_pdf_encoding: UTF-8
general_first_day_of_week: '7'
+ label_approve: Approve
+ label_refusal: Refusal
notice_account_updated: Account was successfully updated.
notice_account_invalid_creditentials: Invalid user or password
notice_account_password_updated: Password was successfully updated.
@@ -1165,6 +1167,9 @@ en:
label_tags_bid_description: call description
label_tags_issue_description: issue description
label_tags_all_objects: all objects
+ label_apply_project: Apply Project
+ label_apply_project_waiting: "Application has been submitted, please wait for administrator review."
+ label_unapply_project: Unsubscribe
#fq
button_leave_meassge: Submit
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 4ff4b0c55..b03e3bc31 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -155,6 +155,9 @@ zh:
general_pdf_encoding: gb18030
general_first_day_of_week: '7'
+ label_approve: 鎵瑰噯
+ label_refusal: 鎷掔粷
+
notice_account_updated: 甯愬彿鏇存柊鎴愬姛
notice_account_invalid_creditentials: 鏃犳晥鐨勭敤鎴峰悕鎴栧瘑鐮
notice_account_invalid_creditentials_new: 鎮ㄨ繕鏈埌閭婵娲
@@ -480,7 +483,7 @@ zh:
label_project_latest: 鏈杩戠殑椤圭洰
label_issue: 闂
label_issue_new: 鏂板缓闂
- label_issue_plural: 缂洪櫡 #闂 #nyan
+ label_issue_plural: 缂洪櫡
label_issue_view_all: 鏌ョ湅鎵鏈夐棶棰
label_issues_by: "鎸 %{value} 鍒嗙粍鏄剧ず闂"
label_issue_added: 闂宸叉坊鍔
@@ -580,6 +583,10 @@ zh:
label_course_done: 宸茬粨鏉熺殑璇剧▼
label_homework_response: 浣滀笟鍜ㄨ
label_bidding_homework: 鎻愪氦浣滀笟
+ label_add_homework: 娣诲姞浣滀笟
+ label_edit_homework: 淇敼浣滀笟
+ label_delete_homework: 鍒犻櫎浣滀笟
+ label_new_homework: 鍒涘缓浣滀笟
#end
label_my_page: 鎴戠殑宸ヤ綔鍙
@@ -754,7 +761,7 @@ zh:
label_sort_higher: 涓婄Щ
label_sort_lower: 涓嬬Щ
label_sort_lowest: 缃簳
- label_roadmap: 閲岀▼纰 #鐗堟湰璺嚎鍥 #nyan
+ label_roadmap: 閲岀▼纰 #鐗堟湰璺嚎鍥
label_roadmap_due_in: "鎴鏃ユ湡鍒 %{value}"
label_roadmap_overdue: "%{value} 寤舵湡"
label_roadmap_no_issues: 璇ョ増鏈病鏈夐棶棰
@@ -962,6 +969,7 @@ zh:
button_edit_associated_wikipage: "缂栬緫鐩稿叧wiki椤甸潰: %{page_title}"
button_add: 鏂板
button_change: 淇敼
+ button_ok_and_submit: 纭畾骞舵彁浜
button_apply: 鏌ヨ
button_clear: 娓呴櫎鐣欒█
@@ -1257,9 +1265,9 @@ zh:
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: 鍚堣
label_create_time: 鍒涘缓鏃堕棿 #Customer added锛丄dded by nie
- label_comment_time: 鐣欒█鏃堕棿 #nyan
- label_activity_time: 鍙戝竷鏃堕棿 #nyan
- label_update_time: 鏇存柊鏃堕棿 #nyan
+ label_comment_time: 鐣欒█鏃堕棿
+ label_activity_time: 鍙戝竷鏃堕棿
+ label_update_time: 鏇存柊鏃堕棿
label_current_contributors: 浣嶅綋鍓嶈础鐚
label_commit_limit: 浣滀笟鎻愪氦鏃堕棿宸茶繃锛
label_commit_ar: 浣滀笟鎻愪氦鎴鏃堕棿蹇埌浜嗭紒
@@ -1326,7 +1334,9 @@ zh:
label_tags_bid_description: 闇姹傛弿杩
label_tags_issue_description: 闂鎻忚堪
label_tags_all_objects: 鎵鏈
-
+ label_apply_project: 鐢宠鍔犲叆
+ label_apply_project_waiting: 宸插鐞嗙敵璇凤紝璇风瓑寰呯鐞嗗憳瀹℃牳
+ label_unapply_project: 鍙栨秷鐢宠
#fq
button_leave_meassge: 鐣欒█
diff --git a/config/routes.rb b/config/routes.rb
index f9aa041d7..dbbc544ac 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -29,6 +29,7 @@ RedmineApp::Application.routes.draw do
collection do
match 'addjours', via: [:get, :post]
match 'add_jour_reply', via: [:get,:post]
+ match 'destroy_jour', via: [:get,:post]
end
end
resources :open_source_projects do
@@ -247,6 +248,9 @@ RedmineApp::Application.routes.draw do
post 'issues/:object_id/watchers', :to => 'watchers#create', :object_type => 'issue'
delete 'issues/:object_id/watchers/:user_id' => 'watchers#destroy', :object_type => 'issue'
+ post 'appliedproject/applied', :to => 'applied_project#applied_join_project', :as => 'appliedproject'
+ delete 'appliedproject/applied', :to => 'applied_project#unapplied_join_project'
+
resources :bids, :only=>[:edit,:update,:show] do
member do
match 'homework_ajax_modal'
@@ -297,6 +301,7 @@ RedmineApp::Application.routes.draw do
resources :memberships, :shallow => true, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do
collection do
get 'autocomplete'
+ get 'appliedproject'
end
end
@@ -564,7 +569,7 @@ RedmineApp::Application.routes.draw do
match 'calls/new_bid', :controller => 'bids', :action => 'new_bid'
match 'contest/new_contest', :controller => 'bids', :action => 'new_contest' #huang
match 'calls/:id/show_project', :controller => 'bids', :action => 'show_project', :as => 'project_for_bid'
- match 'calls/:id/show_project_homework', :controller => 'bids', :action => 'show_project_homework', :as => 'project_for_bid_homework' # by huang
+ match 'calls/:id/new_homework', :controller => 'homework_attach', :action => 'new', :as => 'new_homework_attach'
match 'calls/:id/add', :controller => 'bids', :action => 'add'
match 'calls/:id/delete', :controller => 'bids', :action => 'delete'
match 'calls/:id/add_homework', :controller => 'bids', :action => 'add_homework', via: :post
diff --git a/db/migrate/20140521072851_create_applied_projects.rb b/db/migrate/20140521072851_create_applied_projects.rb
new file mode 100644
index 000000000..3b0efbd97
--- /dev/null
+++ b/db/migrate/20140521072851_create_applied_projects.rb
@@ -0,0 +1,12 @@
+class CreateAppliedProjects < ActiveRecord::Migration
+ def self.up
+ create_table :applied_projects do |t|
+ t.column :project_id, :integer, :null => false
+ t.column :user_id, :integer, :null => false
+ end
+ end
+
+ def self.down
+ drop_table :applied_projects
+ end
+end
diff --git a/lib/redmine.rb b/lib/redmine.rb
index d22feb9fc..904be7c25 100644
--- a/lib/redmine.rb
+++ b/lib/redmine.rb
@@ -178,6 +178,11 @@ Redmine::AccessControl.map do |map|
map.permission :manage_related_issues, {:repositories => [:add_related_issue, :remove_related_issue]}
end
+ #浣滀笟妯″潡鏉冮檺
+ map.project_module :bids do |map|
+ map.permission :view_homework_attaches, {:bids => [:show, :show_project, :revision]}, :read => true
+ end
+
map.project_module :boards do |map|
map.permission :manage_boards, {:boards => [:new, :create, :edit, :update, :destroy]}, :require => :member
map.permission :view_messages, {:boards => [:index, :show], :messages => [:show]}, :public => true, :read => true
diff --git a/public/javascripts/hubspot/messenger-theme-future.js b/public/javascripts/hubspot/messenger-theme-future.js
new file mode 100644
index 000000000..41f4ea40b
--- /dev/null
+++ b/public/javascripts/hubspot/messenger-theme-future.js
@@ -0,0 +1,33 @@
+(function() {
+ var $, FutureMessage, spinner_template,
+ __hasProp = {}.hasOwnProperty,
+ __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+
+ $ = jQuery;
+
+ spinner_template = '\n \n \n \n \n \n \n
';
+
+ FutureMessage = (function(_super) {
+
+ __extends(FutureMessage, _super);
+
+ function FutureMessage() {
+ return FutureMessage.__super__.constructor.apply(this, arguments);
+ }
+
+ FutureMessage.prototype.template = function(opts) {
+ var $message;
+ $message = FutureMessage.__super__.template.apply(this, arguments);
+ $message.append($(spinner_template));
+ return $message;
+ };
+
+ return FutureMessage;
+
+ })(window.Messenger.Message);
+
+ window.Messenger.themes.future = {
+ Message: FutureMessage
+ };
+
+}).call(this);
diff --git a/public/javascripts/hubspot/messenger.min.js b/public/javascripts/hubspot/messenger.min.js
new file mode 100644
index 000000000..79828950a
--- /dev/null
+++ b/public/javascripts/hubspot/messenger.min.js
@@ -0,0 +1,2 @@
+/*! messenger 1.4.1 */
+(function(){var e,t=window.Messenger;e=window.Messenger=function(){return e._call.apply(this,arguments)},window.Messenger.noConflict=function(){return window.Messenger=t,e}})(),window.Messenger._=function(){if(window._)return window._;var e=Array.prototype,t=Object.prototype,n=Function.prototype,s=(e.push,e.slice),r=(e.concat,t.toString);t.hasOwnProperty;var o=e.forEach,i=(e.map,e.reduce,e.reduceRight,e.filter),a=(e.every,e.some,e.indexOf,e.lastIndexOf,Array.isArray,Object.keys),l=n.bind,u={},c={},h=u.each=u.forEach=function(e,t,n){if(null!=e)if(o&&e.forEach===o)e.forEach(t,n);else if(e.length===+e.length){for(var s=0,r=e.length;r>s;s++)if(t.call(n,e[s],s,e)===c)return}else for(var i in e)if(u.has(e,i)&&t.call(n,e[i],i,e)===c)return};u.result=function(e,t){if(null==e)return null;var n=e[t];return u.isFunction(n)?n.call(e):n},u.once=function(e){var t,n=!1;return function(){return n?t:(n=!0,t=e.apply(this,arguments),e=null,t)}};var p=0;return u.uniqueId=function(e){var t=++p+"";return e?e+t:t},u.filter=u.select=function(e,t,n){var s=[];return null==e?s:i&&e.filter===i?e.filter(t,n):(h(e,function(e,r,o){t.call(n,e,r,o)&&(s[s.length]=e)}),s)},h(["Arguments","Function","String","Number","Date","RegExp"],function(e){u["is"+e]=function(t){return r.call(t)=="[object "+e+"]"}}),u.defaults=function(e){return h(s.call(arguments,1),function(t){if(t)for(var n in t)null==e[n]&&(e[n]=t[n])}),e},u.extend=function(e){return h(s.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e},u.keys=a||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var t=[];for(var n in e)u.has(e,n)&&(t[t.length]=n);return t},u.bind=function(e,t){if(e.bind===l&&l)return l.apply(e,s.call(arguments,1));var n=s.call(arguments,2);return function(){return e.apply(t,n.concat(s.call(arguments)))}},u.isObject=function(e){return e===Object(e)},u}(),window.Messenger.Events=function(){if(window.Backbone&&Backbone.Events)return Backbone.Events;var e=function(){var e=/\s+/,t=function(t,n,s,r){if(!s)return!0;if("object"==typeof s)for(var o in s)t[n].apply(t,[o,s[o]].concat(r));else{if(!e.test(s))return!0;for(var i=s.split(e),a=0,l=i.length;l>a;a++)t[n].apply(t,[i[a]].concat(r))}},n=function(e,t){var n,s=-1,r=e.length;switch(t.length){case 0:for(;r>++s;)(n=e[s]).callback.call(n.ctx);return;case 1:for(;r>++s;)(n=e[s]).callback.call(n.ctx,t[0]);return;case 2:for(;r>++s;)(n=e[s]).callback.call(n.ctx,t[0],t[1]);return;case 3:for(;r>++s;)(n=e[s]).callback.call(n.ctx,t[0],t[1],t[2]);return;default:for(;r>++s;)(n=e[s]).callback.apply(n.ctx,t)}},s={on:function(e,n,s){if(!t(this,"on",e,[n,s])||!n)return this;this._events||(this._events={});var r=this._events[e]||(this._events[e]=[]);return r.push({callback:n,context:s,ctx:s||this}),this},once:function(e,n,s){if(!t(this,"once",e,[n,s])||!n)return this;var r=this,o=_.once(function(){r.off(e,o),n.apply(this,arguments)});return o._callback=n,this.on(e,o,s),this},off:function(e,n,s){var r,o,i,a,l,u,c,h;if(!this._events||!t(this,"off",e,[n,s]))return this;if(!e&&!n&&!s)return this._events={},this;for(a=e?[e]:_.keys(this._events),l=0,u=a.length;u>l;l++)if(e=a[l],r=this._events[e]){if(i=[],n||s)for(c=0,h=r.length;h>c;c++)o=r[c],(n&&n!==o.callback&&n!==o.callback._callback||s&&s!==o.context)&&i.push(o);this._events[e]=i}return this},trigger:function(e){if(!this._events)return this;var s=Array.prototype.slice.call(arguments,1);if(!t(this,"trigger",e,s))return this;var r=this._events[e],o=this._events.all;return r&&n(r,s),o&&n(o,arguments),this},listenTo:function(e,t,n){var s=this._listeners||(this._listeners={}),r=e._listenerId||(e._listenerId=_.uniqueId("l"));return s[r]=e,e.on(t,"object"==typeof t?this:n,this),this},stopListening:function(e,t,n){var s=this._listeners;if(s){if(e)e.off(t,"object"==typeof t?this:n,this),t||n||delete s[e._listenerId];else{"object"==typeof t&&(n=this);for(var r in s)s[r].off(t,n,this);this._listeners={}}return this}}};return s.bind=s.on,s.unbind=s.off,s};return e()}(),function(){var e,t,n,s,r,o,i,a,l,u,c,h={}.hasOwnProperty,p=function(e,t){function n(){this.constructor=e}for(var s in t)h.call(t,s)&&(e[s]=t[s]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},d=[].slice,f=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};e=jQuery,o=null!=(l=window._)?l:window.Messenger._,s=null!=(u="undefined"!=typeof Backbone&&null!==Backbone?Backbone.Events:void 0)?u:window.Messenger.Events,n=function(){function t(t){e.extend(this,s),o.isObject(t)&&(t.el&&this.setElement(t.el),this.model=t.model),this.initialize.apply(this,arguments)}return t.prototype.setElement=function(t){return this.$el=e(t),this.el=this.$el[0]},t.prototype.delegateEvents=function(e){var t,n,s,r,i,a,l;if(e||(e=o.result(this,"events"))){this.undelegateEvents(),t=/^(\S+)\s*(.*)$/,l=[];for(s in e){if(i=e[s],o.isFunction(i)||(i=this[e[s]]),!i)throw Error('Method "'+e[s]+'" does not exist');r=s.match(t),n=r[1],a=r[2],i=o.bind(i,this),n+=".delegateEvents"+this.cid,""===a?l.push(this.jqon(n,i)):l.push(this.jqon(n,a,i))}return l}},t.prototype.jqon=function(e,t,n){var s;return null!=this.$el.on?(s=this.$el).on.apply(s,arguments):(null==n&&(n=t,t=void 0),null!=t?this.$el.delegate(t,e,n):this.$el.bind(e,n))},t.prototype.jqoff=function(e){var t;return null!=this.$el.off?(t=this.$el).off.apply(t,arguments):(this.$el.undelegate(),this.$el.unbind(e))},t.prototype.undelegateEvents=function(){return this.jqoff(".delegateEvents"+this.cid)},t.prototype.remove=function(){return this.undelegateEvents(),this.$el.remove()},t}(),i=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return p(n,t),n.prototype.defaults={hideAfter:10,scroll:!0,closeButtonText:"×"},n.prototype.initialize=function(t){return null==t&&(t={}),this.shown=!1,this.rendered=!1,this.messenger=t.messenger,this.options=e.extend({},this.options,t,this.defaults)},n.prototype.show=function(){var e;return this.rendered||this.render(),this.$message.removeClass("messenger-hidden"),e=this.shown,this.shown=!0,e?void 0:this.trigger("show")},n.prototype.hide=function(){var e;if(this.rendered)return this.$message.addClass("messenger-hidden"),e=this.shown,this.shown=!1,e?this.trigger("hide"):void 0},n.prototype.cancel=function(){return this.hide()},n.prototype.update=function(t){var n,s=this;return o.isString(t)&&(t={message:t}),e.extend(this.options,t),this.lastUpdate=new Date,this.rendered=!1,this.events=null!=(n=this.options.events)?n:{},this.render(),this.actionsToEvents(),this.delegateEvents(),this.checkClickable(),this.options.hideAfter?(this.$message.addClass("messenger-will-hide-after"),null!=this._hideTimeout&&clearTimeout(this._hideTimeout),this._hideTimeout=setTimeout(function(){return s.hide()},1e3*this.options.hideAfter)):this.$message.removeClass("messenger-will-hide-after"),this.options.hideOnNavigate?(this.$message.addClass("messenger-will-hide-on-navigate"),null!=("undefined"!=typeof Backbone&&null!==Backbone?Backbone.history:void 0)&&Backbone.history.on("route",function(){return s.hide()})):this.$message.removeClass("messenger-will-hide-on-navigate"),this.trigger("update",this)},n.prototype.scrollTo=function(){return this.options.scroll?e.scrollTo(this.$el,{duration:400,offset:{left:0,top:-20}}):void 0},n.prototype.timeSinceUpdate=function(){return this.lastUpdate?new Date-this.lastUpdate:null},n.prototype.actionsToEvents=function(){var e,t,n,s,r=this;n=this.options.actions,s=[];for(t in n)e=n[t],s.push(this.events['click [data-action="'+t+'"] a']=function(e){return function(n){return n.preventDefault(),n.stopPropagation(),r.trigger("action:"+t,e,n),e.action.call(r,n,r)}}(e));return s},n.prototype.checkClickable=function(){var e,t,n,s;n=this.events,s=[];for(t in n)e=n[t],"click"===t?s.push(this.$message.addClass("messenger-clickable")):s.push(void 0);return s},n.prototype.undelegateEvents=function(){var e;return n.__super__.undelegateEvents.apply(this,arguments),null!=(e=this.$message)?e.removeClass("messenger-clickable"):void 0},n.prototype.parseActions=function(){var t,n,s,r,o,i;n=[],o=this.options.actions;for(r in o)t=o[r],s=e.extend({},t),s.name=r,null==(i=s.label)&&(s.label=r),n.push(s);return n},n.prototype.template=function(t){var n,s,r,o,i,a,l,u,c,h,p=this;for(i=e(""),t.showCloseButton&&(r=e('
'),r.html(t.closeButtonText),r.click(function(){return p.cancel(),!0}),i.append(r)),a=e(''+t.message+"
"),i.append(a),t.actions.length&&(s=e('')),h=t.actions,u=0,c=h.length;c>u;u++)l=h[u],n=e("
"),n.attr("data-action",""+l.name),o=e(""),o.html(l.label),n.append(e('')),n.append(o),s.append(n);return i.append(s),i},n.prototype.render=function(){var t;if(!this.rendered)return this._hasSlot||(this.setElement(this.messenger._reserveMessageSlot(this)),this._hasSlot=!0),t=e.extend({},this.options,{actions:this.parseActions()}),this.$message=e(this.template(t)),this.$el.html(this.$message),this.shown=!0,this.rendered=!0,this.trigger("render")},n}(n),r=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return p(t,e),t.prototype.initialize=function(){return t.__super__.initialize.apply(this,arguments),this._timers={}},t.prototype.cancel=function(){return this.clearTimers(),this.hide(),null!=this._actionInstance&&null!=this._actionInstance.abort?this._actionInstance.abort():void 0},t.prototype.clearTimers=function(){var e,t,n,s;n=this._timers;for(e in n)t=n[e],clearTimeout(t);return this._timers={},null!=(s=this.$message)?s.removeClass("messenger-retry-soon messenger-retry-later"):void 0},t.prototype.render=function(){var e,n,s,r;t.__super__.render.apply(this,arguments),this.clearTimers(),s=this.options.actions,r=[];for(n in s)e=s[n],e.auto?r.push(this.startCountdown(n,e)):r.push(void 0);return r},t.prototype.renderPhrase=function(e,t){var n;return n=e.phrase.replace("TIME",this.formatTime(t))},t.prototype.formatTime=function(e){var t;return t=function(e,t){return e=Math.floor(e),1!==e&&(t+="s"),"in "+e+" "+t},0===Math.floor(e)?"now...":60>e?t(e,"second"):(e/=60,60>e?t(e,"minute"):(e/=60,t(e,"hour")))},t.prototype.startCountdown=function(e,t){var n,s,r,o,i=this;if(null==this._timers[e])return n=this.$message.find("[data-action='"+e+"'] .messenger-phrase"),s=null!=(o=t.delay)?o:3,10>=s?(this.$message.removeClass("messenger-retry-later"),this.$message.addClass("messenger-retry-soon")):(this.$message.removeClass("messenger-retry-soon"),this.$message.addClass("messenger-retry-later")),r=function(){var o;return n.text(i.renderPhrase(t,s)),s>0?(o=Math.min(s,1),s-=o,i._timers[e]=setTimeout(r,1e3*o)):(i.$message.removeClass("messenger-retry-soon messenger-retry-later"),delete i._timers[e],t.action())},r()},t}(i),a=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return p(n,t),n.prototype.tagName="ul",n.prototype.className="messenger",n.prototype.messageDefaults={type:"info"},n.prototype.initialize=function(t){return this.options=null!=t?t:{},this.history=[],this.messageDefaults=e.extend({},this.messageDefaults,this.options.messageDefaults)},n.prototype.render=function(){return this.updateMessageSlotClasses()},n.prototype.findById=function(e){return o.filter(this.history,function(t){return t.msg.options.id===e})},n.prototype._reserveMessageSlot=function(t){var n,s,r=this;for(n=e(""),n.addClass("messenger-message-slot"),this.$el.prepend(n),this.history.push({msg:t,$slot:n}),this._enforceIdConstraint(t),t.on("update",function(){return r._enforceIdConstraint(t)});this.options.maxMessages&&this.history.length>this.options.maxMessages;)s=this.history.shift(),s.msg.remove(),s.$slot.remove();return n},n.prototype._enforceIdConstraint=function(e){var t,n,s,r,o;if(null!=e.options.id)for(o=this.history,n=0,s=o.length;s>n;n++)if(t=o[n],r=t.msg,null!=r.options.id&&r.options.id===e.options.id&&e!==r){if(e.options.singleton)return e.hide(),void 0;r.hide()}},n.prototype.newMessage=function(e){var t,n,s,o,a=this;return null==e&&(e={}),e.messenger=this,i=null!=(n=null!=(s=Messenger.themes[null!=(o=e.theme)?o:this.options.theme])?s.Message:void 0)?n:r,t=new i(e),t.on("show",function(){return e.scrollTo&&"fixed"!==a.$el.css("position")?t.scrollTo():void 0}),t.on("hide show render",this.updateMessageSlotClasses,this),t},n.prototype.updateMessageSlotClasses=function(){var e,t,n,s,r,o,i;for(s=!0,t=null,e=!1,i=this.history,r=0,o=i.length;o>r;r++)n=i[r],n.$slot.removeClass("messenger-first messenger-last messenger-shown"),n.msg.shown&&n.msg.rendered&&(n.$slot.addClass("messenger-shown"),e=!0,t=n,s&&(s=!1,n.$slot.addClass("messenger-first")));return null!=t&&t.$slot.addClass("messenger-last"),this.$el[""+(e?"remove":"add")+"Class"]("messenger-empty")},n.prototype.hideAll=function(){var e,t,n,s,r;for(s=this.history,r=[],t=0,n=s.length;n>t;t++)e=s[t],r.push(e.msg.hide());return r},n.prototype.post=function(t){var n;return o.isString(t)&&(t={message:t}),t=e.extend(!0,{},this.messageDefaults,t),n=this.newMessage(t),n.update(t),n},n}(n),t=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return p(n,t),n.prototype.doDefaults={progressMessage:null,successMessage:null,errorMessage:"Error connecting to the server.",showSuccessWithoutError:!0,retry:{auto:!0,allow:!0},action:e.ajax},n.prototype.hookBackboneAjax=function(t){var n,s=this;if(null==t&&(t={}),null==window.Backbone)throw"Expected Backbone to be defined";return t=o.defaults(t,{id:"BACKBONE_ACTION",errorMessage:!1,successMessage:"Request completed successfully.",showSuccessWithoutError:!1}),n=function(e){var n;return n=o.extend({},t,e.messenger),s["do"](n,e)},null!=Backbone.ajax?(Backbone.ajax._withoutMessenger&&(Backbone.ajax=Backbone.ajax._withoutMessenger),(null==t.action||t.action===this.doDefaults.action)&&(t.action=Backbone.ajax),n._withoutMessenger=Backbone.ajax,Backbone.ajax=n):Backbone.sync=o.wrap(Backbone.sync,function(){var t,s,r;return r=arguments[0],t=arguments.length>=2?d.call(arguments,1):[],s=e.ajax,e.ajax=n,r.call.apply(r,[this].concat(d.call(t))),e.ajax=s})},n.prototype._getHandlerResponse=function(e){return e===!1?!1:e===!0||null==e?!0:e},n.prototype._parseEvents=function(e){var t,n,s,r,o,i,a;null==e&&(e={}),o={};for(r in e)s=e[r],n=r.indexOf(" "),i=r.substring(0,n),t=r.substring(n+1),null==(a=o[i])&&(o[i]={}),o[i][t]=s;return o},n.prototype._normalizeResponse=function(){var e,t,n,s,r,i,a;for(n=arguments.length>=1?d.call(arguments,0):[],s=null,r=null,e=null,i=0,a=n.length;a>i;i++)t=n[i],"success"===t||"timeout"===t||"abort"===t?s=t:null!=(null!=t?t.readyState:void 0)&&null!=(null!=t?t.responseText:void 0)?r=t:o.isObject(t)&&(e=t);return[s,e,r]},n.prototype.run=function(){var t,n,s,r,i,a,l,u,c,h,p,g=this;if(a=arguments[0],c=arguments[1],t=arguments.length>=3?d.call(arguments,2):[],null==c&&(c={}),a=e.extend(!0,{},this.messageDefaults,this.doDefaults,null!=a?a:{}),n=this._parseEvents(a.events),s=function(e,t){var n;return n=a[e+"Message"],o.isFunction(n)?n.call(g,e,t):n},l=null!=(p=a.messageInstance)?p:this.newMessage(a),null!=a.id&&(l.options.id=a.id),null!=a.progressMessage&&l.update(e.extend({},a,{message:s("progress",null),type:"info"})),i={},o.each(["error","success"],function(r){var u;return u=c[r],i[r]=function(){var i,h,p,m,y,v,_,w,b,x,M,C,k,$,E;return v=arguments.length>=1?d.call(arguments,0):[],b=g._normalizeResponse.apply(g,v),y=b[0],i=b[1],w=b[2],"success"===r&&null==l.errorCount&&a.showSuccessWithoutError===!1&&(a.successMessage=null),"error"===r&&(null==(x=a.errorCount)&&(a.errorCount=0),a.errorCount+=1),p=a.returnsPromise?v[0]:"function"==typeof u?u.apply(null,v):void 0,_=g._getHandlerResponse(p),o.isString(_)&&(_={message:_}),"error"!==r||0!==(null!=w?w.status:void 0)&&"abort"!==y?"error"===r&&null!=a.ignoredErrorCodes&&(M=null!=w?w.status:void 0,f.call(a.ignoredErrorCodes,M)>=0)?(l.hide(),void 0):(h={message:s(r,w),type:r,events:null!=(C=n[r])?C:{},hideOnNavigate:"success"===r},m=e.extend({},a,h,_),"number"==typeof(null!=(k=m.retry)?k.allow:void 0)&&m.retry.allow--,"error"===r&&(null!=w?w.status:void 0)>=500&&(null!=($=m.retry)?$.allow:void 0)?(null==m.retry.delay&&(m.retry.delay=4>m.errorCount?10:300),m.hideAfter&&(null==(E=m._hideAfter)&&(m._hideAfter=m.hideAfter),m.hideAfter=m._hideAfter+m.retry.delay),m._retryActions=!0,m.actions={retry:{label:"retry now",phrase:"Retrying TIME",auto:m.retry.auto,delay:m.retry.delay,action:function(){return m.messageInstance=l,setTimeout(function(){return g["do"].apply(g,[m,c].concat(d.call(t)))},0)}},cancel:{action:function(){return l.cancel()}}}):m._retryActions&&(delete m.actions.retry,delete m.actions.cancel,delete a._retryActions),l.update(m),_&&m.message?(Messenger(o.extend({},g.options,{instance:g})),l.show()):l.hide()):(l.hide(),void 0)}}),!a.returnsPromise)for(h in i)r=i[h],u=c[h],c[h]=r;return l._actionInstance=a.action.apply(a,[c].concat(d.call(t))),a.returnsPromise&&l._actionInstance.then(i.success,i.error),l},n.prototype["do"]=n.prototype.run,n.prototype.ajax=function(){var t,n;return n=arguments[0],t=arguments.length>=2?d.call(arguments,1):[],n.action=e.ajax,this.run.apply(this,[n].concat(d.call(t)))},n.prototype.expectPromise=function(e,t){return t=o.extend({},t,{action:e,returnsPromise:!0}),this.run(t)},n.prototype.error=function(e){return null==e&&(e={}),"string"==typeof e&&(e={message:e}),e.type="error",this.post(e)},n.prototype.info=function(e){return null==e&&(e={}),"string"==typeof e&&(e={message:e}),e.type="info",this.post(e)},n.prototype.success=function(e){return null==e&&(e={}),"string"==typeof e&&(e={message:e}),e.type="success",this.post(e)},n}(a),e.fn.messenger=function(){var n,s,r,i,l,u,c,h;return r=arguments[0],s=arguments.length>=2?d.call(arguments,1):[],null==r&&(r={}),n=this,null!=r&&o.isString(r)?(h=n.data("messenger"))[r].apply(h,s):(l=r,null==n.data("messenger")&&(a=null!=(u=null!=(c=Messenger.themes[l.theme])?c.Messenger:void 0)?u:t,n.data("messenger",i=new a(e.extend({el:n},l))),i.render()),n.data("messenger"))},window.Messenger._call=function(t){var n,s,r,o,i,a,l,u,c,h,p;if(a={extraClasses:"messenger-fixed messenger-on-bottom messenger-on-right",theme:"future",maxMessages:9,parentLocations:["body"]},t=e.extend(a,e._messengerDefaults,Messenger.options,t),null!=t.theme&&(t.extraClasses+=" messenger-theme-"+t.theme),l=t.instance||Messenger.instance,null==t.instance){for(c=t.parentLocations,s=null,r=null,h=0,p=c.length;p>h;h++)if(u=c[h],s=e(u),s.length){o=u;break}l?e(l._location).is(e(o))||(l.$el.detach(),s.prepend(l.$el)):(n=e(""),s.prepend(n),l=n.messenger(t),l._location=o,Messenger.instance=l)}return null!=l._addedClasses&&l.$el.removeClass(l._addedClasses),l.$el.addClass(i=""+l.className+" "+t.extraClasses),l._addedClasses=i,l},e.extend(Messenger,{Message:r,Messenger:t,themes:null!=(c=Messenger.themes)?c:{}}),e.globalMessenger=window.Messenger=Messenger}.call(this);
\ No newline at end of file
diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css
index 8e0a81cf6..977aef8fe 100644
--- a/public/stylesheets/application.css
+++ b/public/stylesheets/application.css
@@ -493,7 +493,6 @@ a.bids_user {
}
.line{
- width: 905px;
height: 1px;
margin: 0px;
background-color: #cacaca;
diff --git a/public/stylesheets/hubspot/messenger-theme-flat.css b/public/stylesheets/hubspot/messenger-theme-flat.css
new file mode 100644
index 000000000..df8d35aeb
--- /dev/null
+++ b/public/stylesheets/hubspot/messenger-theme-flat.css
@@ -0,0 +1,462 @@
+@-webkit-keyframes ui-spinner-rotate-right {
+ /* line 64, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 65, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 66, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 67, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -webkit-transform: rotate(360deg);
+ }
+
+ /* line 68, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -webkit-transform: rotate(360deg);
+ }
+}
+
+@-webkit-keyframes ui-spinner-rotate-left {
+ /* line 72, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 73, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 74, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 75, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 76, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -webkit-transform: rotate(360deg);
+ }
+}
+
+@-moz-keyframes ui-spinner-rotate-right {
+ /* line 80, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 81, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 82, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 83, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -moz-transform: rotate(360deg);
+ }
+
+ /* line 84, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -moz-transform: rotate(360deg);
+ }
+}
+
+@-moz-keyframes ui-spinner-rotate-left {
+ /* line 88, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 89, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 90, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 91, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 92, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -moz-transform: rotate(360deg);
+ }
+}
+
+@keyframes ui-spinner-rotate-right {
+ /* line 96, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ /* line 97, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ transform: rotate(180deg);
+ }
+
+ /* line 98, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ transform: rotate(180deg);
+ }
+
+ /* line 99, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ transform: rotate(360deg);
+ }
+
+ /* line 100, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+@keyframes ui-spinner-rotate-left {
+ /* line 104, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ /* line 105, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ transform: rotate(0deg);
+ }
+
+ /* line 106, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ transform: rotate(180deg);
+ }
+
+ /* line 107, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ transform: rotate(180deg);
+ }
+
+ /* line 108, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+/* line 116, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner {
+ position: relative;
+ border-radius: 100%;
+}
+/* line 120, ../../src/sass/messenger-spinner.scss */
+ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner {
+ display: block;
+}
+/* line 124, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side {
+ width: 50%;
+ height: 100%;
+ overflow: hidden;
+ position: absolute;
+}
+/* line 130, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ border-radius: 999px;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ -webkit-animation-iteration-count: infinite;
+ -moz-animation-iteration-count: infinite;
+ -ms-animation-iteration-count: infinite;
+ -o-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-timing-function: linear;
+ -moz-animation-timing-function: linear;
+ -ms-animation-timing-function: linear;
+ -o-animation-timing-function: linear;
+ animation-timing-function: linear;
+}
+/* line 140, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-left {
+ left: 0;
+}
+/* line 143, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill {
+ left: 100%;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ -webkit-animation-name: ui-spinner-rotate-left;
+ -moz-animation-name: ui-spinner-rotate-left;
+ -ms-animation-name: ui-spinner-rotate-left;
+ -o-animation-name: ui-spinner-rotate-left;
+ animation-name: ui-spinner-rotate-left;
+ -webkit-transform-origin: 0 50%;
+ -moz-transform-origin: 0 50%;
+ -ms-transform-origin: 0 50%;
+ -o-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+}
+/* line 152, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-right {
+ left: 50%;
+}
+/* line 155, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill {
+ left: -100%;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-animation-name: ui-spinner-rotate-right;
+ -moz-animation-name: ui-spinner-rotate-right;
+ -ms-animation-name: ui-spinner-rotate-right;
+ -o-animation-name: ui-spinner-rotate-right;
+ animation-name: ui-spinner-rotate-right;
+ -webkit-transform-origin: 100% 50%;
+ -moz-transform-origin: 100% 50%;
+ -ms-transform-origin: 100% 50%;
+ -o-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+}
+
+/* line 15, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+ background: #404040;
+}
+/* line 20, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat.messenger-empty {
+ display: none;
+}
+/* line 23, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message {
+ -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ -ms-border-radius: 0px;
+ -o-border-radius: 0px;
+ border-radius: 0px;
+ position: relative;
+ border: 0px;
+ margin-bottom: 0px;
+ font-size: 13px;
+ background: transparent;
+ color: #f0f0f0;
+ font-weight: 500;
+ padding: 10px 30px 13px 65px;
+}
+/* line 35, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-close {
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ color: #888888;
+ opacity: 1;
+ font-weight: bold;
+ display: block;
+ font-size: 20px;
+ line-height: 20px;
+ padding: 8px 10px 7px 7px;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+/* line 51, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-close:hover {
+ color: #bbbbbb;
+}
+/* line 54, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-close:active {
+ color: #777777;
+}
+/* line 57, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions {
+ float: none;
+ margin-top: 10px;
+}
+/* line 61, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions a {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ text-decoration: none;
+ color: #aaaaaa;
+ background: #2e2e2e;
+ display: inline-block;
+ padding: 10px;
+ margin-right: 10px;
+ padding: 4px 11px 6px;
+ text-transform: capitalize;
+}
+/* line 72, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions a:hover {
+ color: #f0f0f0;
+ background: #2e2e2e;
+}
+/* line 76, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions a:active {
+ background: #292929;
+ color: #aaaaaa;
+}
+/* line 80, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-actions .messenger-phrase {
+ display: none;
+}
+/* line 83, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message .messenger-message-inner:before {
+ -webkit-border-radius: 50%;
+ -moz-border-radius: 50%;
+ -ms-border-radius: 50%;
+ -o-border-radius: 50%;
+ border-radius: 50%;
+ position: absolute;
+ left: 17px;
+ display: block;
+ content: " ";
+ top: 50%;
+ margin-top: -8px;
+ height: 13px;
+ width: 13px;
+ z-index: 20;
+}
+/* line 95, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message.alert-success .messenger-message-inner:before {
+ background: #5fca4a;
+}
+/* line 98, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message.alert-info .messenger-message-inner:before {
+ background: #61c4b8;
+}
+/* line 103, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message.alert-error .messenger-message-inner:before {
+ background: #dd6a45;
+}
+/* line 32, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner {
+ width: 32px;
+ height: 32px;
+ background: transparent;
+}
+/* line 37, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ background: #dd6a45;
+ -webkit-animation-duration: 20s;
+ -moz-animation-duration: 20s;
+ -ms-animation-duration: 20s;
+ -o-animation-duration: 20s;
+ animation-duration: 20s;
+ opacity: 1;
+}
+/* line 45, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after {
+ content: "";
+ background: #292929;
+ position: absolute;
+ width: 26px;
+ height: 26px;
+ border-radius: 50%;
+ top: 3px;
+ left: 3px;
+ display: block;
+}
+/* line 32, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner {
+ width: 32px;
+ height: 32px;
+ background: transparent;
+}
+/* line 37, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ background: #dd6a45;
+ -webkit-animation-duration: 600s;
+ -moz-animation-duration: 600s;
+ -ms-animation-duration: 600s;
+ -o-animation-duration: 600s;
+ animation-duration: 600s;
+ opacity: 1;
+}
+/* line 45, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-flat .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after {
+ content: "";
+ background: #292929;
+ position: absolute;
+ width: 26px;
+ height: 26px;
+ border-radius: 50%;
+ top: 3px;
+ left: 3px;
+ display: block;
+}
+/* line 114, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message-slot.messenger-last .messenger-message {
+ -webkit-border-radius: 4px 4px 0px 0px;
+ -moz-border-radius: 4px 4px 0px 0px;
+ -ms-border-radius: 4px 4px 0px 0px;
+ -o-border-radius: 4px 4px 0px 0px;
+ border-radius: 4px 4px 0px 0px;
+ -webkit-box-shadow: inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 48px 0px 0px #292929;
+ box-shadow: inset 48px 0px 0px #292929;
+}
+/* line 118, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message-slot.messenger-first .messenger-message {
+ -webkit-border-radius: 0px 0px 4px 4px;
+ -moz-border-radius: 0px 0px 4px 4px;
+ -ms-border-radius: 0px 0px 4px 4px;
+ -o-border-radius: 0px 0px 4px 4px;
+ border-radius: 0px 0px 4px 4px;
+ -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+ box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px #292929;
+}
+/* line 122, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-message-slot.messenger-first.messenger-last .messenger-message {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 48px 0px 0px #292929;
+ -moz-box-shadow: inset 48px 0px 0px #292929;
+ box-shadow: inset 48px 0px 0px #292929;
+}
+/* line 126, ../../src/sass/messenger-theme-flat.sass */
+ul.messenger-theme-flat .messenger-spinner {
+ display: block;
+ position: absolute;
+ left: 7px;
+ top: 50%;
+ margin-top: -18px;
+ z-index: 999;
+ height: 32px;
+ width: 32px;
+ z-index: 10;
+}
diff --git a/public/stylesheets/hubspot/messenger-theme-future.css b/public/stylesheets/hubspot/messenger-theme-future.css
new file mode 100644
index 000000000..640a56823
--- /dev/null
+++ b/public/stylesheets/hubspot/messenger-theme-future.css
@@ -0,0 +1,496 @@
+@-webkit-keyframes ui-spinner-rotate-right {
+ /* line 64, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 65, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 66, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 67, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -webkit-transform: rotate(360deg);
+ }
+
+ /* line 68, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -webkit-transform: rotate(360deg);
+ }
+}
+
+@-webkit-keyframes ui-spinner-rotate-left {
+ /* line 72, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 73, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -webkit-transform: rotate(0deg);
+ }
+
+ /* line 74, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 75, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -webkit-transform: rotate(180deg);
+ }
+
+ /* line 76, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -webkit-transform: rotate(360deg);
+ }
+}
+
+@-moz-keyframes ui-spinner-rotate-right {
+ /* line 80, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 81, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 82, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 83, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -moz-transform: rotate(360deg);
+ }
+
+ /* line 84, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -moz-transform: rotate(360deg);
+ }
+}
+
+@-moz-keyframes ui-spinner-rotate-left {
+ /* line 88, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 89, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ -moz-transform: rotate(0deg);
+ }
+
+ /* line 90, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 91, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ -moz-transform: rotate(180deg);
+ }
+
+ /* line 92, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ -moz-transform: rotate(360deg);
+ }
+}
+
+@keyframes ui-spinner-rotate-right {
+ /* line 96, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ /* line 97, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ transform: rotate(180deg);
+ }
+
+ /* line 98, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ transform: rotate(180deg);
+ }
+
+ /* line 99, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ transform: rotate(360deg);
+ }
+
+ /* line 100, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+@keyframes ui-spinner-rotate-left {
+ /* line 104, ../../src/sass/messenger-spinner.scss */
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ /* line 105, ../../src/sass/messenger-spinner.scss */
+ 25% {
+ transform: rotate(0deg);
+ }
+
+ /* line 106, ../../src/sass/messenger-spinner.scss */
+ 50% {
+ transform: rotate(180deg);
+ }
+
+ /* line 107, ../../src/sass/messenger-spinner.scss */
+ 75% {
+ transform: rotate(180deg);
+ }
+
+ /* line 108, ../../src/sass/messenger-spinner.scss */
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+/* line 116, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner {
+ position: relative;
+ border-radius: 100%;
+}
+/* line 120, ../../src/sass/messenger-spinner.scss */
+ul.messenger.messenger-spinner-active .messenger-spinner .messenger-spinner {
+ display: block;
+}
+/* line 124, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side {
+ width: 50%;
+ height: 100%;
+ overflow: hidden;
+ position: absolute;
+}
+/* line 130, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ border-radius: 999px;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ -webkit-animation-iteration-count: infinite;
+ -moz-animation-iteration-count: infinite;
+ -ms-animation-iteration-count: infinite;
+ -o-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-timing-function: linear;
+ -moz-animation-timing-function: linear;
+ -ms-animation-timing-function: linear;
+ -o-animation-timing-function: linear;
+ animation-timing-function: linear;
+}
+/* line 140, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-left {
+ left: 0;
+}
+/* line 143, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-left .messenger-spinner-fill {
+ left: 100%;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ -webkit-animation-name: ui-spinner-rotate-left;
+ -moz-animation-name: ui-spinner-rotate-left;
+ -ms-animation-name: ui-spinner-rotate-left;
+ -o-animation-name: ui-spinner-rotate-left;
+ animation-name: ui-spinner-rotate-left;
+ -webkit-transform-origin: 0 50%;
+ -moz-transform-origin: 0 50%;
+ -ms-transform-origin: 0 50%;
+ -o-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+}
+/* line 152, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-right {
+ left: 50%;
+}
+/* line 155, ../../src/sass/messenger-spinner.scss */
+.messenger-spinner .messenger-spinner-side-right .messenger-spinner-fill {
+ left: -100%;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ -webkit-animation-name: ui-spinner-rotate-right;
+ -moz-animation-name: ui-spinner-rotate-right;
+ -ms-animation-name: ui-spinner-rotate-right;
+ -o-animation-name: ui-spinner-rotate-right;
+ animation-name: ui-spinner-rotate-right;
+ -webkit-transform-origin: 100% 50%;
+ -moz-transform-origin: 100% 50%;
+ -ms-transform-origin: 100% 50%;
+ -o-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+}
+
+/* line 15, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future {
+ -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6);
+ -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6);
+ box-shadow: inset 0px 1px rgba(255, 255, 255, 0.24), 0px 1px 5px rgba(0, 0, 0, 0.6);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5c5b5b), color-stop(100%, #353535));
+ background-image: -webkit-linear-gradient(#5c5b5b, #353535);
+ background-image: -moz-linear-gradient(#5c5b5b, #353535);
+ background-image: -o-linear-gradient(#5c5b5b, #353535);
+ background-image: linear-gradient(#5c5b5b, #353535);
+ background-color: #5c5b5b;
+ border: 1px solid rgba(0, 0, 0, 0.5);
+}
+/* line 23, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message {
+ -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+ -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+ box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 0px -1px rgba(0, 0, 0, 0.23), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+ -webkit-border-radius: 0px;
+ -moz-border-radius: 0px;
+ -ms-border-radius: 0px;
+ -o-border-radius: 0px;
+ border-radius: 0px;
+ position: relative;
+ border: 0px;
+ margin-bottom: 0px;
+ font-size: 13px;
+ background: transparent;
+ color: #f0f0f0;
+ text-shadow: 0px 1px #111111;
+ font-weight: 500;
+ padding: 10px 30px 13px 65px;
+}
+/* line 36, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message a {
+ color: #5599ff;
+}
+/* line 39, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-close {
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ color: #888888;
+ text-shadow: 0px 1px black;
+ opacity: 1;
+ font-weight: bold;
+ display: block;
+ font-size: 20px;
+ line-height: 20px;
+ padding: 8px 10px 7px 7px;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+/* line 56, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-close:hover {
+ color: #bbbbbb;
+}
+/* line 59, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-close:active {
+ color: #777777;
+}
+/* line 62, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-actions {
+ float: none;
+ margin-top: 10px;
+}
+/* line 66, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-actions a {
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1);
+ -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.1);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ text-decoration: none;
+ display: inline-block;
+ padding: 10px;
+ color: #aaaaaa;
+ text-shadow: 0px 1px #222222;
+ margin-right: 10px;
+ padding: 3px 10px 5px;
+ text-transform: capitalize;
+}
+/* line 78, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-actions a:hover {
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2);
+ -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.2), inset 0px 1px rgba(255, 255, 255, 0.2);
+ color: #f0f0f0;
+}
+/* line 82, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-actions a:active {
+ -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1);
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.28), inset 0px 1px rgba(0, 0, 0, 0.1);
+ background: rgba(0, 0, 0, 0.04);
+ color: #aaaaaa;
+}
+/* line 87, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-actions .messenger-phrase {
+ display: none;
+}
+/* line 90, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message .messenger-message-inner:before {
+ -webkit-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.6), 0px 0px 0px 1px rgba(0, 0, 0, 0.2);
+ -webkit-border-radius: 50%;
+ -moz-border-radius: 50%;
+ -ms-border-radius: 50%;
+ -o-border-radius: 50%;
+ border-radius: 50%;
+ position: absolute;
+ left: 17px;
+ display: block;
+ content: " ";
+ top: 50%;
+ margin-top: -8px;
+ height: 13px;
+ width: 13px;
+ z-index: 20;
+}
+/* line 103, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message.alert-success .messenger-message-inner:before {
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #5fca4a), color-stop(100%, #098d38));
+ background-image: -webkit-linear-gradient(top, #5fca4a, #098d38);
+ background-image: -moz-linear-gradient(top, #5fca4a, #098d38);
+ background-image: -o-linear-gradient(top, #5fca4a, #098d38);
+ background-image: linear-gradient(top, #5fca4a, #098d38);
+ background-color: #5fca4a;
+}
+/* line 107, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message.alert-info .messenger-message-inner:before {
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #61c4b8), color-stop(100%, #1992a3));
+ background-image: -webkit-linear-gradient(top, #61c4b8, #1992a3);
+ background-image: -moz-linear-gradient(top, #61c4b8, #1992a3);
+ background-image: -o-linear-gradient(top, #61c4b8, #1992a3);
+ background-image: linear-gradient(top, #61c4b8, #1992a3);
+ background-color: #61c4b8;
+}
+/* line 113, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message.alert-error .messenger-message-inner:before {
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dd6a45), color-stop(100%, #91361a));
+ background-image: -webkit-linear-gradient(top, #dd6a45, #91361a);
+ background-image: -moz-linear-gradient(top, #dd6a45, #91361a);
+ background-image: -o-linear-gradient(top, #dd6a45, #91361a);
+ background-image: linear-gradient(top, #dd6a45, #91361a);
+ background-color: #dd6a45;
+}
+/* line 32, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner {
+ width: 32px;
+ height: 32px;
+ background: transparent;
+}
+/* line 37, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ background: #dd6a45;
+ -webkit-animation-duration: 20s;
+ -moz-animation-duration: 20s;
+ -ms-animation-duration: 20s;
+ -o-animation-duration: 20s;
+ animation-duration: 20s;
+ opacity: 1;
+}
+/* line 45, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-soon .messenger-spinner:after {
+ content: "";
+ background: #333333;
+ position: absolute;
+ width: 26px;
+ height: 26px;
+ border-radius: 50%;
+ top: 3px;
+ left: 3px;
+ display: block;
+}
+/* line 32, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner {
+ width: 32px;
+ height: 32px;
+ background: transparent;
+}
+/* line 37, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner .messenger-spinner-side .messenger-spinner-fill {
+ background: #dd6a45;
+ -webkit-animation-duration: 600s;
+ -moz-animation-duration: 600s;
+ -ms-animation-duration: 600s;
+ -o-animation-duration: 600s;
+ animation-duration: 600s;
+ opacity: 1;
+}
+/* line 45, ../../src/sass/messenger-spinner.scss */
+ul.messenger-theme-future .messenger-message.alert-error.messenger-retry-later .messenger-spinner:after {
+ content: "";
+ background: #333333;
+ position: absolute;
+ width: 26px;
+ height: 26px;
+ border-radius: 50%;
+ top: 3px;
+ left: 3px;
+ display: block;
+}
+/* line 125, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message-slot.messenger-last .messenger-message {
+ -webkit-border-radius: 4px 4px 0px 0px;
+ -moz-border-radius: 4px 4px 0px 0px;
+ -ms-border-radius: 4px 4px 0px 0px;
+ -o-border-radius: 4px 4px 0px 0px;
+ border-radius: 4px 4px 0px 0px;
+}
+/* line 128, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message-slot.messenger-first .messenger-message {
+ -webkit-border-radius: 0px 0px 4px 4px;
+ -moz-border-radius: 0px 0px 4px 4px;
+ -ms-border-radius: 0px 0px 4px 4px;
+ -o-border-radius: 0px 0px 4px 4px;
+ border-radius: 0px 0px 4px 4px;
+ -webkit-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+ -moz-box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+ box-shadow: inset 0px 1px rgba(255, 255, 255, 0.13), inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+}
+/* line 132, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-message-slot.messenger-first.messenger-last .messenger-message {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ -ms-border-radius: 4px;
+ -o-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+ -moz-box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+ box-shadow: inset 48px 0px 0px rgba(0, 0, 0, 0.3), inset 46px 0px 0px rgba(255, 255, 255, 0.07);
+}
+/* line 136, ../../src/sass/messenger-theme-future.sass */
+ul.messenger-theme-future .messenger-spinner {
+ display: block;
+ position: absolute;
+ left: 7px;
+ top: 50%;
+ margin-top: -18px;
+ z-index: 999;
+ height: 32px;
+ width: 32px;
+ z-index: 10;
+}
diff --git a/public/stylesheets/hubspot/messenger.css b/public/stylesheets/hubspot/messenger.css
new file mode 100644
index 000000000..9fc58c936
--- /dev/null
+++ b/public/stylesheets/hubspot/messenger.css
@@ -0,0 +1,101 @@
+/* line 4, ../../src/sass/messenger.sass */
+ul.messenger {
+ margin: 0;
+ padding: 0;
+}
+/* line 8, ../../src/sass/messenger.sass */
+ul.messenger > li {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+/* line 14, ../../src/sass/messenger.sass */
+ul.messenger.messenger-empty {
+ display: none;
+}
+/* line 17, ../../src/sass/messenger.sass */
+ul.messenger .messenger-message {
+ overflow: hidden;
+ *zoom: 1;
+}
+/* line 20, ../../src/sass/messenger.sass */
+ul.messenger .messenger-message.messenger-hidden {
+ display: none;
+}
+/* line 23, ../../src/sass/messenger.sass */
+ul.messenger .messenger-message .messenger-phrase, ul.messenger .messenger-message .messenger-actions a {
+ padding-right: 5px;
+}
+/* line 26, ../../src/sass/messenger.sass */
+ul.messenger .messenger-message .messenger-actions {
+ float: right;
+}
+/* line 29, ../../src/sass/messenger.sass */
+ul.messenger .messenger-message .messenger-actions a {
+ cursor: pointer;
+ text-decoration: underline;
+}
+/* line 33, ../../src/sass/messenger.sass */
+ul.messenger .messenger-message ul, ul.messenger .messenger-message ol {
+ margin: 10px 18px 0;
+}
+/* line 36, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed {
+ position: fixed;
+ z-index: 10000;
+}
+/* line 40, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed .messenger-message {
+ min-width: 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/* line 45, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed .message .messenger-actions {
+ float: left;
+}
+/* line 48, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed.messenger-on-top {
+ top: 20px;
+}
+/* line 51, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed.messenger-on-bottom {
+ bottom: 20px;
+}
+/* line 54, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
+ left: 50%;
+ width: 800px;
+ margin-left: -400px;
+}
+@media (max-width: 960px) {
+ /* line 54, ../../src/sass/messenger.sass */
+ ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {
+ left: 10%;
+ width: 80%;
+ margin-left: 0px;
+ }
+}
+/* line 64, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed.messenger-on-top.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right {
+ right: 20px;
+ left: auto;
+}
+/* line 68, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed.messenger-on-top.messenger-on-left, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-left {
+ left: 20px;
+ margin-left: 0px;
+}
+/* line 72, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-left {
+ width: 350px;
+}
+/* line 75, ../../src/sass/messenger.sass */
+ul.messenger.messenger-fixed.messenger-on-right .messenger-actions, ul.messenger.messenger-fixed.messenger-on-left .messenger-actions {
+ float: left;
+}
+/* line 78, ../../src/sass/messenger.sass */
+ul.messenger .messenger-spinner {
+ display: none;
+}
diff --git a/public/stylesheets/nyan.css b/public/stylesheets/nyan.css
index 0135b1e46..7910c2a64 100644
--- a/public/stylesheets/nyan.css
+++ b/public/stylesheets/nyan.css
@@ -1,14 +1,17 @@
/* TODO: base/common/page 鍑嗗灏佽涓浜涘熀鏈牱寮忕粍鍚堣皟鐢 鍙傝僘UI
*******************************************************************************/
-span[id^=valid_user]{
- padding-left: 10px;
+span[id^=valid_user] {
+ padding-left: 10px;
}
-.red{
- color: red;
+
+.red {
+ color: red;
}
-.green{
- color: green;
+
+.green {
+ color: green;
}
+
.border_box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
@@ -1007,7 +1010,7 @@ div.issue {
}
#ver-zebra1 td {
- padding: 8px ;
+ padding: 8px;
border-right: 1px solid #fff;
border-left: 1px solid #fff;
color: #669;
@@ -1133,11 +1136,13 @@ div.pagination {
-o-transition: 1s width;
transition: 1s width;
}
-.all_browse_div table .description{
- border-bottom: 1px solid #efffff;
+
+.all_browse_div table .description {
+ border-bottom: 1px solid #efffff;
}
-.all_browse_div table td{
- vertical-align: middle;
+
+.all_browse_div table td {
+ vertical-align: middle;
}
/* softapplication show
@@ -1146,6 +1151,7 @@ div.pagination {
margin: 0;
padding: 0;
}
+
.softapplication-img {
margin: 5px auto;
width: 860px;
@@ -1154,25 +1160,29 @@ div.pagination {
box-shadow: 5px 5px 20px 5px #ccc;
border-radius: 5px;
}
+
.soft-application {
width: 326px;
height: 580px;
}
-.softapplication-img .title{
+
+.softapplication-img .title {
width: 326px;
position: absolute;
left: 0;
bottom: 0;
}
-.softapplication-img .title a{
+
+.softapplication-img .title a {
display: block;
text-decoration: none;
color: #fff;
font-size: 20px;
padding: 20px;
- background: rgba(0,0,0,0.5);
+ background: rgba(0, 0, 0, 0.5);
}
-.softapplication-img li{
+
+.softapplication-img li {
list-style-type: none;
position: relative;
float: left;
@@ -1182,11 +1192,97 @@ div.pagination {
-ms-transition: all 0.5s;
-o-transition: all 0.5s;
transition: all 0.5s;
- box-shadow: -1px 0 3px 1px rgba(0,0,0,0.3);
+ box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3);
}
-.softapplication-img ul:hover li{
+
+.softapplication-img ul:hover li {
width: 160px;
}
-.softapplication-img ul li:hover{
+
+.softapplication-img ul li:hover {
width: 326px;
}
+
+/* user_courses
+*******************************************************************************/
+.user_course_list {
+ margin: 0;
+ padding: 0;
+ position: relative;
+ margin-top: -15px;
+}
+
+.user_course_list .menu{
+ display: block;
+ background-color: #f9f9f9;
+ border-radius: 2px 2px 0 0;
+ position: relative;
+ height: 40px;
+ line-height: 40px;
+ border-bottom: 1px solid #ddd;
+ text-align: left;
+ margin-left: -10px;
+ padding-left: 15px;
+}
+
+.user_course_list .menu:after {
+ content: ".";
+ visibility: hidden;
+ display: block;
+ height: 0;
+ clear: both;
+}
+
+.user_course_list .menu ul {
+ margin: 0;
+ padding: 0;
+ float: right;
+ margin-right: 30px;
+}
+.user_course_list .menu ul {
+}
+
+.user_course_list .menu li {
+ display: inline-block;
+ position: relative;
+ height: 40px;
+ line-height: 40px;
+ cursor: pointer;
+}
+
+.user_course_list .menu li:hover {
+ color: #00a1d6;
+}
+
+.user_course_list .menu li.on {
+ color: #00a1d6;
+ font-weight: bold;
+}
+
+
+.user_course_list .list_top {
+ margin: 20px auto 0px;
+}
+
+.user_course_list .created_course {
+ position: relative;
+ display: block;
+ padding-top: 20px;
+}
+
+.user_course_list .created_course:after {
+ content: ".";
+ visibility: hidden;
+ display: block;
+ height: 0;
+ clear: both;
+}
+
+.user_course_list .created_course .field {
+ position: absolute;
+ display: inline-block;
+ color: rgb(213, 213, 213);
+ top: 0;
+ right: 5%;
+}
+