about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/components/features/followers/components/account.jsx4
-rw-r--r--app/assets/stylesheets/about.scss38
-rw-r--r--app/controllers/about_controller.rb11
-rw-r--r--app/views/about/index.html.haml1
-rw-r--r--app/views/about/terms.html.haml69
-rw-r--r--config/routes.rb1
6 files changed, 122 insertions, 2 deletions
diff --git a/app/assets/javascripts/components/features/followers/components/account.jsx b/app/assets/javascripts/components/features/followers/components/account.jsx
index 9d863a1ae..adcd90360 100644
--- a/app/assets/javascripts/components/features/followers/components/account.jsx
+++ b/app/assets/javascripts/components/features/followers/components/account.jsx
@@ -64,9 +64,11 @@ const Account = React.createClass({
     }
 
     if (account.get('id') !== me) {
+      const following = account.getIn(['relationship', 'following']);
+
       buttons = (
         <div style={buttonsStyle}>
-          <IconButton icon='user-plus' title='Follow' onClick={this.handleFollow} active={account.getIn(['relationship', 'following'])} />
+          <IconButton icon={following ? 'user-times' : 'user-plus'} title='Follow' onClick={this.handleFollow} active={following} />
         </div>
       );
     }
diff --git a/app/assets/stylesheets/about.scss b/app/assets/stylesheets/about.scss
index 5ebe2576f..3681672d8 100644
--- a/app/assets/stylesheets/about.scss
+++ b/app/assets/stylesheets/about.scss
@@ -25,10 +25,46 @@
     }
   }
 
-  p {
+  h2 {
+    font: 24px/28px 'Judson', sans-serif;
+    font-weight: 300;
+    margin-bottom: 20px;
+    color: #fff;
+  }
+
+  h3 {
+    font: 20px/28px 'Judson', sans-serif;
+    font-weight: 300;
+    margin-bottom: 20px;
+    color: #d9e1e8;
+  }
+
+  ul, ol {
+    list-style: inherit;
+    margin-left: 20px;
+
+    &[type='a'] {
+      list-style-type: lower-alpha;
+    }
+
+    &[type='i'] {
+      list-style-type: lower-roman;
+    }
+  }
+
+  li > ol, li > ul {
+    margin-top: 20px;
+  }
+
+  p, li {
     font: 20px/28px 'Judson', sans-serif;
     font-weight: 300;
     margin-bottom: 26px;
+
+    a {
+      color: #2b90d9;
+      text-decoration: underline;
+    }
   }
 
   em {
diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb
index aac648d62..4e423e91f 100644
--- a/app/controllers/about_controller.rb
+++ b/app/controllers/about_controller.rb
@@ -1,5 +1,16 @@
 class AboutController < ApplicationController
+  before_action :set_body_classes
+
   def index
+  end
+
+  def terms
+    @state = 'TBD'
+  end
+
+  private
+
+  def set_body_classes
     @body_classes = 'about-body'
   end
 end
diff --git a/app/views/about/index.html.haml b/app/views/about/index.html.haml
index 5fa6f58b3..b4df313e2 100644
--- a/app/views/about/index.html.haml
+++ b/app/views/about/index.html.haml
@@ -22,6 +22,7 @@
 
   .actions
     .info
+      =# link_to 'Terms', terms_path
       = link_to 'Source code', 'https://github.com/Gargron/mastodon'
 
     = link_to 'Get started', new_user_registration_path, class: 'button'
diff --git a/app/views/about/terms.html.haml b/app/views/about/terms.html.haml
new file mode 100644
index 000000000..2b41cc088
--- /dev/null
+++ b/app/views/about/terms.html.haml
@@ -0,0 +1,69 @@
+- content_for :page_title do
+  #{Rails.configuration.x.local_domain} Terms of Service and Privacy Policy
+
+.wrapper
+  %h2 #{Rails.configuration.x.local_domain} Terms of Service and Privacy Policy
+
+  %h3 1. Terms
+
+  %p
+    By accessing the website at #{link_to root_url}, you are agreeing to be bound by these terms of service, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any of these terms, you are prohibited from using or accessing this site. The materials contained in this website are protected by applicable copyright and trademark law.
+
+  %h3 2. Use License
+
+  %ol{:type => "a"}
+    %li
+      Permission is granted to temporarily download one copy of the materials (information or software) on #{Rails.configuration.x.local_domain}'s website for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not:
+      %ol{:type => "i"}
+        %li modify or copy the materials;
+        %li use the materials for any commercial purpose, or for any public display (commercial or non-commercial);
+        %li attempt to decompile or reverse engineer any software contained on #{Rails.configuration.x.local_domain}'s website;
+        %li remove any copyright or other proprietary notations from the materials; or
+        %li transfer the materials to another person or "mirror" the materials on any other server.
+    %li This license shall automatically terminate if you violate any of these restrictions and may be terminated by #{Rails.configuration.x.local_domain} at any time. Upon terminating your viewing of these materials or upon the termination of this license, you must destroy any downloaded materials in your possession whether in electronic or printed format.
+
+  %h3 3. Disclaimer
+
+  %ol{:type => "a"}
+    %li The materials on #{Rails.configuration.x.local_domain}'s website are provided on an 'as is' basis. #{Rails.configuration.x.local_domain} makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.
+    %li Further, #{Rails.configuration.x.local_domain} does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on its website or otherwise relating to such materials or on any sites linked to this site.
+
+  %h3 4. Limitations
+
+  %p In no event shall #{Rails.configuration.x.local_domain} or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on #{Rails.configuration.x.local_domain}'s website, even if #{Rails.configuration.x.local_domain} or a #{Rails.configuration.x.local_domain} authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of liability for consequential or incidental damages, these limitations may not apply to you.
+
+  %h3 5. Accuracy of materials
+
+  %p The materials appearing on #{Rails.configuration.x.local_domain}'s website could include technical, typographical, or photographic errors. #{Rails.configuration.x.local_domain} does not warrant that any of the materials on its website are accurate, complete or current. #{Rails.configuration.x.local_domain} may make changes to the materials contained on its website at any time without notice. However #{Rails.configuration.x.local_domain} does not make any commitment to update the materials.
+
+  %h3 6. Links
+
+  %p #{Rails.configuration.x.local_domain} has not reviewed all of the sites linked to its website and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by #{Rails.configuration.x.local_domain} of the site. Use of any such linked website is at the user's own risk.
+
+  %h3 7. Modifications
+
+  %p #{Rails.configuration.x.local_domain} may revise these terms of service for its website at any time without notice. By using this website you are agreeing to be bound by the then current version of these terms of service.
+
+  %h3 8. Governing Law
+
+  %p
+    These terms and conditions are governed by and construed in accordance with the laws of
+    = @state
+    and you irrevocably submit to the exclusive jurisdiction of the courts in that State or location.
+
+  %h2 Privacy Policy
+
+  %p Your privacy is important to us.
+
+  %p It is #{Rails.configuration.x.local_domain}'s policy to respect your privacy regarding any information we may collect while operating our website. Accordingly, we have developed this privacy policy in order for you to understand how we collect, use, communicate, disclose and otherwise make use of personal information. We have outlined our privacy policy below.
+
+  %ul
+    %li We will collect personal information by lawful and fair means and, where appropriate, with the knowledge or consent of the individual concerned.
+    %li Before or at the time of collecting personal information, we will identify the purposes for which information is being collected.
+    %li We will collect and use personal information solely for fulfilling those purposes specified by us and for other ancillary purposes, unless we obtain the consent of the individual concerned or as required by law.
+    %li Personal data should be relevant to the purposes for which it is to be used, and, to the extent necessary for those purposes, should be accurate, complete, and up-to-date.
+    %li We will protect personal information by using reasonable security safeguards against loss or theft, as well as unauthorized access, disclosure, copying, use or modification.
+    %li We will make readily available to customers information about our policies and practices relating to the management of personal information.
+    %li We will only retain personal information for as long as necessary for the fulfilment of those purposes.
+
+  %p We are committed to conducting our business in accordance with these principles in order to ensure that the confidentiality of personal information is protected and maintained. #{Rails.configuration.x.local_domain} may change this privacy policy from time to time at #{Rails.configuration.x.local_domain}'s sole discretion.
diff --git a/config/routes.rb b/config/routes.rb
index 7ffb40339..9344c99ea 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -94,6 +94,7 @@ Rails.application.routes.draw do
   end
 
   get :about, to: 'about#index'
+  get :terms, to: 'about#terms'
 
   root 'home#index'